Iaas, Paas, Saas are the major three major categories of cloud services.
IaaS (Infrastructure as a Service): Using Iaas, you can create your own virtual machines or storage, firewalls, load balancers, IP addresses, network, OS, etc. Iaas is an instant computing infrastructure available for you to use by paying for what you use. It aims to give you complete control over the hardware that runs your application (IT infrastructure servers and virtual machines (VMs), storage, networks, and operating systems). Instead of buying hardware, with IaaS, you rent it. It’s an instant computing infrastructure, provisioned and managed over the internet.
IaaS: Virtual infrastructure is published on the web so that you can create vms, servers and run them as per your price model with your vendor. Ex: Azure VMs, AWS VMs, Google cloud VMs
Examples: Amazon EC2, Windows Azure, Rackspace, Google Compute Engine.
When using IaaS, ensuring that a service is up and running is a shared responsibility: the cloud provider is responsible for ensuring the cloud infrastructure is functioning correctly; the cloud customer is responsible for ensuring the service they are using is configured correctly, is up to date, and is available to their customers. This is referred to as the shared responsibility model.
PaaS (Platform as a Service): provides an environment to build, test and deploy software applications. You focus on application development. Platform management is handled by Azure. This includes OS, Programming language execution environment, database, web server, etc. You don’t have to maintain OS or any system updates.
This is typically providing a platform on which software can be developed and deployed. Ex: Heroku, Google App Engine, and Red Hat’s OpenShift.
Examples: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos.
SaaS (Software as a Service): In the SaaS model, you will directly get the application from the vendor. You don’t even have to install the OS or the application and maintain it. You just have to pay and use it through some client. SaaS is cost predictive model, example, 10$ for a user per month. Users pay for software they use.
Publish software online so that your users can access them with a software in their PC, or connect to this app from their web browser. Ex: Onedrive you can connect to onedrive and modify some files, those changes are updated into your online onedrive account. You can access onedrive over web browser too. Other Ex: Office 365 suite.
Examples: Google Apps, Microsoft Office 365 or Azure SQL service.
Let’s consider an example of creating an application that stores data in a database.
With Iaas, you have to create the VM to install and configure the application, configure the network, create another VM for the database (or get a paas database from azure) etc. Now, you are ready to access the application.
With Paas, you will get the VM with OS for the application, network and a database server as well. You just have to work on configuring the application.
With Saas, application is completely configured and is directly available to you. You have to use and pay.
List of resources that you manage and your service provider manages in cloud:
- IaaS requires the most user management of all the cloud services. The user is responsible for managing the operating systems, data, and applications.
- PaaS requires less user management. The cloud provider manages the operating systems, and the user is responsible for the applications and data they run and store.
- SaaS requires the least amount of management. The cloud provider is responsible for managing everything, and the end user just uses the software.
Development tools, database
management, business analytics
|Operating systems||Servers and storage||Networking firewalls/security||Data center physical plant/building|
PS: Azure Docs
Cost and Ownership
|Upfront costs||There are no upfront costs. Users pay only for what they consume.||There are no upfront costs. Users pay only for what they consume.||Users have no upfront costs; they pay a subscription, typically on a monthly or annual basis.|
|User ownership||The user is responsible for the purchase, installation, configuration, and management of their own software, operating systems, middleware, and applications.||The user is responsible for the development of their own applications. However, they are not responsible for managing the server or infrastructure. This allows the user to focus on the application or workload they want to run.||Users just use the application software; they are not responsible for any maintenance or management of that software.|
|Cloud provider ownership||The cloud provider is responsible for ensuring that the underlying cloud infrastructure (such as virtual machines, storage, and networking) is available for the user.||The cloud provider is responsible for operating system management, network, and service configuration. Cloud providers are typically responsible for everything apart from the application that a user wants to run. They provide a complete managed platform on which to run the application.||The cloud provider is responsible for the provision, management, and maintenance of the application software|
IAAS: Something like leasing a car. You get the car, whether or not you use it, you have to pay until you release it back.
PAAS: Renting a car. You take it on rent, pay for the gas and use it.
SAAS: Getting a taxi.