# Introduction

## What is Cloud Computing?

Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over a network (typically the Internet).

| Services                                                                                                                               | Advantages                                                                                                                                                          |
| -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <ul><li>Servers</li><li>Storage</li><li>Databases</li><li>Networking</li><li>Software</li><li>Analytics</li><li>Intelligence</li></ul> | <ul><li>Reliability</li><li>Scalability (Vertically / Horizontally)</li><li>Elasticity</li><li>Agility</li><li>Geo-Distribution</li><li>Disaster Recovery</li></ul> |

## Cloud Deployment Models

### **Public cloud**

Services are offered over the public internet and available to anyone who wants to purchase them. Cloud resources, such as servers and storage, are owned and operated by a third-party cloud service provider, and delivered over the internet.

### **Private cloud**

A private cloud consists of computing resources used exclusively by users from one business or organization. A private cloud can be physically located at your organization's on-site (on-premises) datacenter, or it can be hosted by a third-party service provider.

### **Hybrid cloud**

A hybrid cloud is a computing environment that combines a public cloud and a private cloud by allowing data and applications to be shared between them.

## Cloud Service Models

### Infrastructure as a Service, IaaS

* This cloud service model is the closest to managing physical servers.&#x20;
* A cloud provider keeps the hardware up to date, but operating system maintenance and network configuration is left to the cloud tenant.&#x20;
* An advantage of this cloud service model is the rapid deployment of new compute devices. Setting up a new virtual machine is considerably faster than procuring, installing, and configuring a physical server.

**For example,** Azure virtual machines are fully operational virtual compute devices running in Microsoft's datacenters.

### Platform as a Service, PaaS

* This cloud service model is a managed hosting environment.&#x20;
* The cloud provider manages the virtual machines and networking resources, and the cloud tenant deploys their applications into the managed hosting environment.&#x20;

**For example,** Azure App Services provides a managed hosting environment where developers can upload their web applications without having to deal with the physical hardware and software requirements.

### Software as a Service, SaaS

* In this cloud service model, the cloud provider manages all aspects of the application environment, such as virtual machines, networking resources, data storage, and applications.&#x20;
* The cloud tenant only needs to provide their data to the application managed by the cloud provider.

**For example,** Office 365 provides a fully working version of Office that runs in the cloud. All that you need to do is create your content, and Office 365 takes care of everything else.

{% embed url="<https://docs.microsoft.com/en-us/learn/azure-fundamentals/fundamental-azure-concepts/media/shared-responsibility-76efbc1e.png>" %}

{% hint style="info" %}
**Cloud-Native** refers to an application designed to run in a cloud environment.

Cloud-native apps generally follow a **microservices architecture** and make use of such cloud technologies like **containers**.
{% endhint %}

{% embed url="<https://www.interviewbit.com/cloud-computing-interview-questions/>" %}

{% embed url="<https://cloud.google.com/docs/get-started/aws-azure-gcp-service-comparison>" %}
