Az-900-Cloud Concepts- Cloud services -3
Published: 2020-11-09 13:46:05

Highlights from 
https://docs.microsoft.com/en-us/learn/modules/explore-types-cloud-services/

There are three major categories: IaaS, SaaS, and PaaS.

The **shared responsibility model** ensures cloud workloads are run securely and in a well-managed way. Depending on the service you are using, the cloud provider is responsible for some aspects of the workload management, and the customer or end-user is responsible for other aspects of the workload management, and in some cases, both share a responsibility.

The following list of cloud service types describes the management responsibilities for the user and the cloud provider as compared to on-premises systems:

**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.

**Infrastructure as a Service (IaaS)** is the most basic category of cloud computing services. With IaaS, you rent IT infrastructure servers and virtual machines (VMs), storage, networks, and operating systems from a cloud provider on a pay-as-you-go basis. It's an instant computing infrastructure, provisioned and managed over the internet.

 * **IaaS characteristics**
  * **Upfront costs**. IaaS has no upfront costs. Users pay only for what they consume.

  * **User ownership**. The user is responsible for the purchase, installation, configuration, and management of their own software operating systems, middleware, and applications.

  * **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.

 * **Common IaaS usage scenarios**:
  * **Migrating workloads**.Provides an easy migration path for moving existing applications to the cloud.

  * **Test and development**. IaaS makes scaling development testing environments up and down fast and economical.

  * **Website hosting**. Running websites using IaaS can be less expensive than traditional web hosting.

  * **Storage, backup, and recovery**. IaaS is useful for managing unpredictable demand and steadily growing storage needs. It can also simplify the planning and management of backup and recovery systems.

 * **Advantages**:

   * **No CapEx**: Users have no upfront costs.
   * **Agility**: Applications can be made accessible quickly, and deprovisioned whenever needed.
   * **Consumption-based model**: Organizations pay only for what they use and operate under an OpEx model.
   * **Skills**: No deep technical skills are required to deploy, use, and gain the benefits of a public cloud. 
   * **Flexibility**: IaaS is the most flexible cloud service as you have control to configure and manage the hardware running your application.

 * **Disadvantages**:
  * **Management**: The shared responsibility model applies; the user manages and maintains the services they have provisioned,
 and the cloud provider manages and maintains the cloud infrastructure.

**Platform as a Service (PaaS)** Provides an environment for building, testing, and deploying software applications. The goal of PaaS is to help create an application as quickly as possible without having to worry about managing the underlying infrastructure.

For example, when deploying a web application using PaaS, you don't have to install an operating system, web server, or even system updates. PaaS is a complete development and deployment environment in the cloud, with resources that enable organizations to deliver everything from simple cloud-based apps to sophisticated cloud-enabled enterprise applications.

Resources are purchased from a cloud service provider on a pay-as-you-go basis and accessed over a secure Internet connection.

 * **PaaS characteristics**
   * **No Upfront costs**. There are no upfront costs, and users pay only for what they consume.

   * **User ownership**. The user is responsible for the development of their own applications.

   * **Cloud provider ownership**. The cloud provider is responsible for operating system management, and network and service configuration. 

 * **Common PaaS usage scenarios**
  * **Development framework**. PaaS provides a framework that developers can build upon to develop or customize cloud-based applications. 
  * **Analytics or business intelligence**. Tools provided as a service with PaaS allow organizations to analyze and mine their data. They can find insights and patterns, and predict outcomes to improve business decisions such as forecasting, product design, and investment returns.
PaaS provides the same benefits and considerations as IaaS, but there some additional benefits.

 * **Advantages**:

  * **No CapEx**: Users have no upfront costs.
  * **Agility**: PaaS is more agile than IaaS, and users do not need to configure servers for running applications.
  * **Consumption-based model**: Users pay only for what they use, and operate on an OpEx model.
  * **Skills**: No deep technical skills are required to deploy, use, and gain the benefits of PaaS.
  * **Cloud benefits**: Users can leverage the skills and expertise of the cloud provider to ensure their workloads are made secure and highly available. In addition, users can gain access to more cutting-edge development tools and toolsets. They then can apply these tools and toolsets across an application's lifecycle.
  * **Productivity**: Users can focus on application development only, as all platform management is handled by the cloud provider.
   Working with distributed teams as services is easier, as the platform is accessed over the internet and can be made globally available more easily.
   
 * **Disadvantages**:
  * **Platform limitations**: There may be some limitations to a cloud platform that could affect how an application runs. 
     Any limitations should be taken into consideration when considering which PaaS platform is best suited for a workload.


**Software as a Service (SaaS)** is software that is centrally hosted and managed for the end customer. It allows users to connect to and use cloud-based apps over the internet. Common examples are email, calendars, and office tools such as Microsoft 365.

SaaS is typically licensed through a monthly or annual subscription, and Microsoft 365 is an example of SaaS software.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/oxx1r5dqw8te9e5zfv99.PNG)

 * **SaaS characteristics**
  * **No Upfront costs**. Users have no upfront costs; they pay a subscription, typically on a monthly or annual basis.
  * **User ownership**. 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 the provision, management, and maintenance of the application software.

* **Common SaaS usage scenarios**
Examples of Microsoft SaaS services include Microsoft 365, Skype, and Microsoft Dynamics CRM Online.

SaaS provides the same benefits as IaaS, but again there some additional benefits.

 * **Advantages**:

  * **No CapEx**: Users don’t have any upfront costs.
  * **Agility**: Users can provide staff with access to the latest software quickly and easily.
  * **Pay-as-you-go pricing model**: Users pay for the software they use on a subscription model, typically monthly or yearly, regardless of how much they use the software.
  * **Flexibility**: Users can access the same application data from anywhere.
 * **Disadvantages**:
  * **Software limitations**: Since you are using as-is software you don't have direct control of features.