In Cloud Computing, Cloud companies provides different types of cloud architecture models. These model comes under different terms. Let’s discuss them one by one.
Infrastructure as a Service (IaaS)
In this service type, service provider provides you Servers, Networking, Storage, Virtualization and other infrastructure. Service provider manages all these for you and you use them.
In IaaS, you have to manage OS, Data, Applications, Runtime and so on.
For example, Virtual Machine hosted for you in the cloud environment uses physical servers at cloud provider’s end. That’s why it is termed as IaaS. You don’t have to purchase physical servers. Virtualization is provided to you by cloud companies over the internet.
But you have to manage OS and Applications running on the Virtual Machine.
In IaaS, you only pay for what you use.
There is no long term or fixed contract. You can stop the service anytime by power it down and with that billing also stops.
Platform as a Service (PaaS)
In PaaS, you don’t need to worry about underlying resources on which your web app or mobile app or API is running. You just have to give your code to PaaS service and it will automatically take care of Deployment, Load Balancing, Monitoring. All the provisions taken care by PaaS service.
Elastic Beanstalk of AWS is the best example of it. Using Elastic Beanstalk you can just deploy your application automatically in whichever technology you have made it. Like Java, Dot Net or Node.js. You don’t need to worry about configuration of your favorite servers like IIS, Apache or Nginx.
PaaS service will take care of deployment according to technology you are using.
You still have control over the resources on which application has been deployed. Also, you have flexibility to change configuration and add/change resources of your choice.
Also in PaaS, you have to take care of certain things. Everything can’t be controlled or monitored by PaaS service. For example, your code, bugs and logs of it. Other monitoring tools which you would required, needs separate configuration. Some of these things are out of PaaS scope which you have to manage.
It all depends on what kind of PaaS service you are using and how many features and flexibility they are providing to you.
Software as a Service (SaaS)
In SaaS, you just worry about using software not about infrastructure or resources behind it. For example, Gmail, Dropbox, YouTube applications we use daily. You don’t worry about infrastructure behind it, like, how they are load balanced, availability or DNS. You just use software.
Above software’s could have hosted on one of the cloud vendors. For example, Gmail and YouTube must have been hosted on Google Cloud Services. These are examples of end user applications. Cloud also provides SaaS software’s tools which are useful for organizations like AI tools, Analysis tools, Database etc.
Function as a Service (FaaS)
FaaS comes to trend recently with Serverless architecture. FaaS is the subset of Serverless. Suppose somebody has written a function which is reusable to other developers or organizations so they can deploy it on cloud.
Example, somebody has written function to take payments and deployed on the cloud then you can use the same function in your application without maintaining server or resources behind it. So in this case you have used FaaS and implemented ‘Serverless’ architecture in your application.
We hope you understood these different types of cloud service models.