IaaS (Infrastructure as a Service), PaaS (Platform as a Service) and SaaS (Software as a Service) are three fundamental cloud service models and three different ways of incorporating cloud solutions into your business. Understanding the three is critical to selecting the right service for your business needs.
An on-premise solution is one where all components of the service - the hardware, software, applications, etc, are all bought, stored and hosted locally within your company's premises. You are the owner and carry responsibility for their installation, servicing, upgrades and uptime. This model forms a yardstick in comparing the benefits of cloud solutions.
A cloud solution is one where certain components from this model are hosted by an external entity and delivered as an on-demand service. You pay to access these components and use them while the external entity carries all the responsibility for its installation, servicing, upgrades and uptime. This is what makes the cloud an incredibly successful solution - companies get to access the services they need without assuming the costs and risks of ownership. With that understood, let's understand IaaS, Paas and Saas.
IaaS (Infrastructure as a Service)
IaaS is a service model where computing infrastructure - servers, networking components, and storage devices are delivered as on-demand services. The cloud company is responsible for managing these components and maintaining their uptime while businesses that rent these components build their solutions on top of this infrastructure.
What you manage vs what is on the cloud in an IaaS model (Source)
Popular IaaS Providers
Amazon Web Services (AWS)
Google Compute Engine (GCE)
PaaS (Platform as a Service)
PaaS is a service model where infrastructure and the platform components - O/S, middleware, etc are delivered as on-demand services and developers build applications on these cloud components.
What you manage vs what is on the cloud in a PaaS model (Source)
Popular PaaS Providers
AWS Elastic Beanstalk
Google App Engine
SaaS (Software as a Service)
SaaS is the most commonly used cloud model where infrastructure, platforms and applications are delivered as on-demand services. Most SaaS solutions can be accessed directly through a web browser eliminating the need for any client-side installation.
What you manage vs what is on the cloud in a SaaS model (Source)
Cost-effective - Hardware is an expensive resource and using remotely hosted infrastructure proves to be more affordable than on-premise infrastructure as you pay on a per-use basis.
Control - With IaaS you control the infrastructure and all the overlying components. This gives you complete control over operations and performance.
Scalable - It is easy to scale rented infrastructure up or down and is often instant.
Automation capabilities - Deployment and provisioning of IaaS components can be automated.
Limitations of IaaS
Security - Since you control all the data and the applications, you are responsible for their safety and security.
Incompatibility with legacy systems - Moving legacy applications to the cloud could be challenging if they are incompatible with the IaaS components.
Responsibility - Complete ownership of the solutions lies with the business and it becomes your responsibility to train resources to manage all components and maintain performance and uptime.
Benefits of PaaS
Cost-effective - PaaS is acost-effective solution giving businesses the time and money to focus solely on development.
Scalable - Applications built on the cloud can be scaled easily as the underlying PaaS model is easy to scale.
Easy to migrate - Applications built on PaaS can be migrated between PaaS platforms easily and it is also easy to migrate applications from on-prem to PaaS because they don't really rely on the platform for their features and capabilities.
Data Security - You own the data giving you security over data breaches.
Limitations of PaaS
Infrastructure security - While local data is stored on-premises, data that transfers via the PaaS components is still vulnerable to attacks and the safety of this data is dependant on the vendor.
Incompatibility with legacy systems - Moving legacy apps to the cloud might not be a one-click task. If these apps need upgrades and modifications to fit the hybrid model it might not be worth it.
Limited operational capabilities - Cloud operations that have automated workflows tend to not be compatible with PaaS solutions limiting its operational capabilities.
Benefits of SaaS
Ease of use - Since the cloud company hosts all services and is responsible for its uptime you save drastically on time, effort and money you would otherwise spend on installation and hosting.
Scalable - SaaS solutions can be scaled up or down easily based on needs.
Interoperability - Most SaaS solutions are built to be interoperable - they integrate with each other making it easy for businesses to use multiple SaaS solutions together.
Up-to-date - Cloud providers are prompt with upgrades giving you the benefit of instant access to new software releases
Limitations of SaaS
Security - All business data is hosted on the cloud making it vulnerable. The safety of business data is completely under the control of the service provider.
Customization - Customizability of SaaS products is limited. These are built as a one-size-fits-all solution to suit a wide audience and as such allow minimal personalization of features and capabilities.
Minimal control - The hosting provider controls the capabilities of the software and especially data and governance.
Performance control - The level of performance and uptime of service is under the control of the cloud provider giving you little to no control of the level of service you deliver to clients.
Each cloud computing model has its benefits and limitations and choosing the right one completely depends on your business requirements and IT budget. Each model, moving from IaaS to PaaS to SaaS, offers increasing freedom in terms of time and money by moving more functionality to the cloud but conversely reduces your control by limiting ownership. Once you have weighed the pros and cons of each model in terms of control, customization, and convenience you can make an informed decision for your business.