IAAS Vs PAAS Vs SAAS ..
We’re going to discuss the three primary types of cloud services, Each type of service comes with advantages and disadvantages, and the easiest way to visualize them is by using the cloud pyramid (There is a question)

The bottom of the cloud pyramid represents the greatest amount of control over your resources, but it also represents the greatest amount of responsibility on your part.
The top of the pyramid represents the least amount of control, but also the least amount of responsibility.
Infrastructure-as-a-Service (IaaS)
It refer creating service/Virtualization of Hardware that your application is using
When you create an IaaS resource,
→the cloud provider allocates a VM for your use.
→ the cloud provider might do the basic operating system install for you.
→Or you may need to install the operating system yourself.
In either case, you are responsible for installing other necessary services and your application.
You will have remote access to your IaaS VMs so that you can interact with them just as if you were using them in your on-premises environment.
Note : When you move to PaaS and SaaS services, you typically lose that capability because the infrastructure is managed by the cloud provider.
In Cloud →IaaS services allow you to control costs effectively, because you only pay for them when you are using them. If you stop your IaaS VM, your billing stops for the resource.
In an IaaS environment, the cloud provider isn’t going to install something on the operating system for you, so the current state of what’s installed on your VMs is always known to you.
So its Ideal for Dev and Test env. and VM’s can be for temporary time . IaaS is also a great choice if you want your application and configuration in the cloud, but you want the option of not paying for it when you aren’t using it.
Another use case : If you want to do data analysis of very huge data set by using IaaS we will provision it in mins use it and shutdown .IaaS services benefit from scaling and elasticity
Platform-as-a-Service (PaaS)
In PAAS cloud provider still provides the infrastructure for you, but they also
→provide the operating system,
→software installed in the operating system to help you connect to databases and network systems (often referred to as middleware),
→ many features that enable you to build and manage complex cloud applications.
if you are deploying your own application to the cloud and you want to minimize your management investment, a PaaS service is often the best choice.
Why Choose PAAS Over IAAS ?
We have application Having front end wiyh Angular and backend in Springboot which connect to databases
If you were to choose IaaS for your application,
→you’d need to ensure that you install and configure Angular on your VM
→ You’d then need to install and configure the software necessary to connect to your back-end database
But in PaaS → you simply deploy your web application to the cloud provider, and everything else is taken care of for you .
Example of PaaS → EBS in AWS , Azure App Service in Azure
In a PaaS offering, cloud providers offer numerous application frameworks such as PHP, Node.js, ASP.NET, .NET Core, Java, Python, and more.
The cloud provider usually provides multiple versions of each framework so you can choose a version that you know is compatible
The cloud provider will also ensure that common components necessary for data connectivity from your application to other systems is installed and configured.
Benefits
Because the cloud provider controls the operating system and what’s installed on the VM, they can provide additional capabilities to you by adding their own features.,like logging and monitoring feature
A PaaS service also benefits from all of the other enhancements offered by the cloud; you get fault tolerance, elasticity, easy and quick scaling, backup and disaster recovery features, and more.
Note : In fact, this is one of the main benefits of using a PaaS service; you can often move your application from on-premises to a cloud environment by simply deploying it to the cloud.
Drawbacks:
Cloud provider controls when patches and updates are applied to both the operating system and to other components installed on the VMs. You’ll usually be given advance notice of major changes so that you can test your application on-premises first and avoid any downtime, but you do lose the flexibility and control of deciding when to update the VM.
Software-as-a-Service (SaaS)
IaaS requires you to control both the operating system and middleware components along with your application.Buy from marketplace
PaaS, you offload the control of the operating system and middleware components to the cloud provider, and you’re responsible only for your application code
SaaS service is software provided by a cloud provider that’s installed on infrastructure completely controlled by the hosting provider → Follows Pay as you go model
you rent your software from a service provider. Users of the software usually access the software from a web browser, but they may also install applications that will only work as long as you are paying for the SaaS service.
One huge benefit of web-based software is that it works from just about any device, including smart phones.
When using a SaaS service, not only do you benefit from using software written and maintained by someone else, but you can also benefit from allowing the cloud provider to maintain and configure the application


Shared responsibility Model

Public VS Private VS Hybrid VS Multi-Cloud
What is cloud ?
infrastructure and applications that are accessible over the Internet.
Public Cloud
anyone on the Internet can access your application.
use shared infrastructure that is accessible on a public network.
While you might have some means of authenticating people using your application so that the wrong people don’t get access, your application is still running on VMs that are connected to the Internet
The network, storage, and VMs that your application uses are provided by a cloud provider and shared between all consumers of the public cloud. Microsoft Azure/AWS is an example of a public cloud.
Benefits :
→ As cloud provider already has the infrastructure in place and configured for you, its easy to implement
→ ability to scale quickly and efficiently because the cloud provider has resources already provisioned and ready for your use when needed.
→ you can control costs more efficiently because you only pay for the resources you are using
Disadvantages:
→ you do give up some control of the infrastructure when using the public cloud.(But this totally depends on you in which section of pyramid you need to forward)
→may also be security concerns with operating in the public cloud for example : The network involved in the public cloud is the public Internet, and it’s available to anyone with an Internet connection
→ public cloud is that it locks you into the specific configuration defined by the cloud provider.
For example, suppose you have an application that needs a large amount of disk storage, but you only need a single-CPU system to run it. In order to meet your disk space requirements, the cloud provider might require you to scale up to a high-powered, multi-CPU VM,
Private Cloud
many of the attractive benefits of the cloud (things like easy scaling, and elasticity) in a private environment that is dedicated to a single company.
Unlike the public cloud, private clouds operate on a private network that is only accessible by a single organization
A private cloud can be hosted in an on-premises environment, but it can also be hosted on a third-party hosting provider
two of the main reasons why companies choose a private cloud are
→Privacy
→ Regularity
Use cases
→Businesses like banks and medical providers may have regulations in place that require certain data be inaccessible from the Internet, and in those situations, a private cloud might be a good choice.
→ Another common consumer of private clouds is the cruise ship industry. Cruise ships operate in remote areas where Internet access isn’t available, but they still want to take advantage of the benefits of the cloud for day-to-day operations of complex ship systems.
The bottom line is that the difference between a public and a private cloud is the privacy of infrastructure and data. It doesn’t really matter who owns the infrastructure
Disadvantages:
→ will likely spend as much on IT as you would in a non-cloud environment
→ will have to pay for hardware and virtualized systems for your cloud
→ you’ll need IT staff who are capable of managing the software and infrastructure for your cloud.
Hybrid Cloud
hybrid clouds are a mixture of public and private clouds
