Did you know the difference between IaaS, PaaS, SaaS, BaaS, and FaaS?
What is virtualization?
All of the above are models adopted by cloud providers to classify the services they offer.
IaaS (Infrastructure as a Service)
IaaS is the oldest model, in which the provider makes available physical resources (computers, storage, network devices) for rent to customers. Once a customer rents the infrastructure (often virtualised), they becomes responsible in full for its operation, also including configuration, software installation, supervision and monitoring. The customer pays a regular fee per piece of (virtual) infrastructure, whether they use it or not.
PaaS (Platform as a Service)
PaaS (Platform as a Service) differs from IaaS in that the customer does not rent a full (virtual) appliance, but rather they are given access to software platforms that run specific services. Examples include storage, databases, and Java/.NET run-times. The provider commits on configuring and managing the platforms, which can be shared by multiple customers with isolation mechanisms that are (like billing) platform-specific, and guarantees Service Level Agreements (SLAs). PaaS is more efficient than IaaS from the point of view of resource sharing, because the provider can exploit the statistical multiplexing of multiple customers using the platform at the same time.
SaaS (Software as a Service)
SaaS refers to the execution of the full application on the cloud provider infrastructure, which further reduces the degrees of freedom of the customer with respect to PaaS and (even more so) IaaS. Examples include mobile and desktop cloud applications, like browser-based content management systems or office software suites. One advantage of SaaS is that the software lifecycle is handled 100% by the cloud provider, e.g., also including managing the dependencies and applying the updates. However, the customer is limited by the set of functionalities available and the composition of SaaS services to create an innovative application is usually not possible.
BaaS (Backend as a Service)
BaaS was born to fulfil the need of mobile applications, and it is in fact also know as Mobile Backend as a Service (MBaaS). Many mobile applications require some standard features, e.g., user authentication and social network integration, which are bundled as a service by the cloud provider, ready for use much like SaaS, i.e., without the need of managing (virtual) servers or infrastructure, but highly composable like PaaS.
FaaS (Function as a Service)
FaaS is the last evolution of cloud computing: it enables the programmer to develop applications as a composition of elementary function calls. This not only relieves the customer from management burdens (like PaaS and BaaS) but also allows infinite scalability: since the workers that execute the functions are activated on demand, the compute resources automatically adapt to the load. Billing is done per function call or time of execution, with a fine granularity, which can be very beneficial for new services: the bills from the cloud provider will increase as the business grows, starting from 0. One downside is that the functions need to be stateless, which does not always agree with the nature of the application deployed.
"As a service" models in MARVEL
In MARVEL we will deploy our applications in the project pilots adopting both IaaS and PaaS approaches, which are most suitable to smart city applications, combining the infrastructures made available by the use case providers (Green Roads Malta, the Municipality of Trento / FBK, and the University of Novi Sad) and HPC services offered by the Poznan Supercomputing and Networking Center. During the continuation of the project, we will also investigate the opportunity of using FaaS for some use cases to exploit the scalability and adaptability benefits it brings.
- Project Coordinator: Dr. Sotiris Ioannidis
- Institution: Foundation for Research and Technology Hellas (FORTH)
- E-mail: email@example.com
- Start: 01.01.2021
- Duration: 36 months
- Participating Organisations: 17
- Number of countries: 12
This project has received funding from the European Union’s Horizon 2020 Research and Innovation program under grant agreement No 957337. The website reflects only the view of the author(s) and the Commission is not responsible for any use that may be made of the information it contains.