IaaS, PaaS and SaaS are the main three cloud computing service models. Each cloud service model covers different user and company needs, and provides a different level of control, security and scalability. There is no one-size-fits-all cloud service model for every business. The right choice will depend mainly on how many “layers” companies can or want to outsource to their service provider when migrating from an on-premises to a cloud solution. In addition, companies can combine different cloud service models for different purposes.
Let’s start from bottom to top of the pyramid above. Starting with the cloud service model that offers a higher level of control compared with an on-premises solution — Infrastructure as a Service.
IaaS (Infrastructure as a Service)
IaaS is a cloud computing solution that consists of provisioning and managing computing resources over the Internet; such as servers, storage, networking and virtualization. Infrastructure as a Service provides the technology and capabilities of high-standard data centers to businesses without a significant capital investment on IT equipment. IaaS customers access their infrastructure via a dashboard or API, but they do not have to physically manage it.
This cloud service model offers a lot of flexibility to companies, as they purchase computing resources on-demand, instead of buying their own hardware. This way companies increase efficiency, scalability, redundancy and security, while keeping control of their infrastructure. Moreover, by outsourcing their infrastructure, they also delegate its setup, management and maintenance; as a consequence, they can save a lot of money, time and efforts.
Unlike SaaS and PaaS, IaaS offers more control to customers as they are still responsible for their applications, data, runtime, middleware and operating system. Furthermore, in terms of security, while IaaS providers are in charge of ensuring that the infrastructure, storage and networking are completely secure, customers must take responsibility for aspects such as access management, encryption or network traffic protection.
IaaS can be used for many purposes: deploying web applications, running a CRM, doing Big Data analysis, storing data, backups and Disaster Recovery plans, and much more. You just need to choose the IaaS provider that better fits your needs and business strategy. Our article about some of the key aspects to consider when choosing a cloud provider can be helpful.
Main IaaS advantages
- Businesses keep control of their infrastructure.
- Resources can be purchased on demand, without big hardware investments.
- Automation and scalability.
Main IaaS concerns
IaaS concerns vary considerably depending on the type of cloud chosen, since companies will not leverage the same benefits from a public, private or hybrid cloud. The same way features vary significantly among providers. While vendor lock-in and performance issues might be a big concern in a public cloud, management and interoperability between environments is one of the top concerns in a hybrid or multi-cloud environment.
PaaS (Platform as a Service)
PaaS is a cloud service model that provides a ready-to-use development environment, where developers can focus on writing and executing high-quality code in order to create customized applications.
Platform as a Service is delivered via the web, allowing developers to build scalable and highly-available applications without worrying about the OS, storage or updates. It provides a framework developers can use for developing, managing, distributing and testing software applications.
This cloud service model makes the process of developing and deploying applications simpler and more cost-effective. PaaS is accessible to multiple users via the same development application and it integrates web services, database engines and more to help developers with app development, testing and deployment.
Cloud-based platform services accelerate innovation, but PaaS customers only have control over what is built on the platform. So, if there is a problem with the platform’s OS or hardware, they have no control over the impact it has on their software’s performance. However, they have control over other aspects, such as anti-malware or access control. Some examples of PaaS are Heroku, Apache Stratos and OpenShift.
Main PaaS advantages
- Simple and cost-effective applications development, testing and deployment.
- Developers can build scalable and highly-available customized applications easily and with less code.
- Faster innovation.
Main PaaS concerns
- Data security.
- Interoperability and vendor lock-in.
- Integrations and compatibility.
- Operational limitations.
SaaS (Software as a Service)
SaaS consists of delivering cloud-based applications to users over the Internet. In this cloud service model, software is hosted online and made available to customers on a subscription basis or for purchase. SaaS cloud providers host applications in his network and users can access them through a browser or app, from different devices. Software as a Service is also known as cloud application services.
The provider is responsible for developing, maintaining and updating the software. From the users’ side, using SaaS products is as easy as logging in and starting using it online, without installing or hosting any software locally. Therefore, IT staff do not need to waste time downloading and installing applications on each employee’s computer. However, end users do not have much control over it; which can be a handicap for some businesses.
Software as a Service is the most common cloud computing service. We all use some SaaS products in our daily lives. Cloud-based software is widely used by companies to build their businesses, as it is easy to deploy, use, manage and scale. Moreover, SaaS has made collaboration among teams incredibly easier during the last decades. Some examples of SaaS are Google Workspace, Dropbox and Salesforce.
Main SaaS advantages
- It allows saving time and money by outsourcing the installation, management and upgrade of software applications.
- IT staff are free to consecrate their time on more valuable, complex tasks.
- Continuous upgrades and UX improvements.
Main SaaS concerns
- Data security.
- Customization and feature limitations.
- Interoperability and vendor lock-in.
- Integration support.
Examples of IaaS, PaaS and SaaS
- Amazon Web Services
- Google Cloud
- Microsoft Azure
- Google App Engine
- Apache Stratos
- Cloud Foundry
- Google Drive
Graphic comparison of on-premises, IaaS, PaaS and SaaS models
In the following image we have summarized which elements are managed by the customer (in black) and which are managed by the provider (in red) depending on the model they opt for — on-premises, IaaS, PaaS or SaaS.
To sum up, the IaaS model offers the computing resources companies need to host, build and run their services, the PaaS model provides an environment for developers to build and deploy applications, and the SaaS model delivers software to users and companies over the Internet; so that they do not need to worry about its management and maintenance.
Each cloud service model offers different features and benefits to businesses. Therefore, as we mentioned at the beginning of the article, these three cloud service models are often used simultaneously within companies. Regarding IaaS, there are different types of cloud among which companies can choose depending on their needs and goals.