Cloud Computing #Day 1
Tags: aws, serverless, cloud
Published: 2022-07-18 13:33:32

## Introduction

### Client - Server Model

![image](https://user-images.githubusercontent.com/88903134/179401560-a83a664c-0543-434d-a004-4898ff5964fa.png)

<br>
<p>
   Modern cloud computing follow the Client-Server model where a client can be a web browser or desktop application that a person interacts with to make requests to computer servers. A server can be services such as Amazon Elastic Compute Cloud (Amazon EC2), a type of virtual server.
</p>

### What is Cloud Computing ?  

The term <strong>cloud computing</strong> refers to the technology that makes cloud work.

Cloud computing is on-demand access, via the internet, to computing resources—applications, servers (physical servers and virtual servers), data storage, development tools, networking capabilities, and more—hosted at a remote data center managed by a cloud services provider (or CSP) for a monthly subscription fee or bills them according to usage.


## Cloud Computing Services


IaaS (Infrastructure-as-a-Service), PaaS (Platform-as-a-Service) , and SaaS (Software-as-a-Service) are the three most common models of cloud services, Apart from Serverless Computing and Faas ( Function as a Service).  
The Chart Below will distinguish between them : 

<br>

![image](https://user-images.githubusercontent.com/88903134/179515624-7873563c-69e9-465a-b56b-44c76ea31e76.png)

<br>

### Serverless Computing

Serverless computing (also called simply serverless) is a cloud computing model that <strong>offloads all the backend infrastructure management</strong> tasks–provisioning, scaling, scheduling, patching—to the cloud provider, freeing developers to focus all their time and effort on the code and business logic specific to their applications.  
Serverless runs application code on a per-request basis only and scales the supporting infrastructure up and down automatically in response to the number of requests.

<strong>FaaS, or Function-as-a-Service</strong>, is often confused with serverless computing when, in fact, it's a subset of serverless. FaaS allows developers to execute portions of application code (called functions) in response to specific events.  


<br>

## Types Of Cloud Computing  
  
<h4>Cloud Computing can be broadly classified into two categories: </h4>

- <strong>Public Cloud</strong>
- <strong>Private Cloud</strong>


![image](https://user-images.githubusercontent.com/88903134/179521414-ec8ad480-2306-4691-8562-e93f64b13d14.png)



### Public Cloud

Public cloud is a type of cloud computing in which a cloud service provider makes computing resources—anything from <strong>SaaS applications, to individual virtual machines (VMs), to bare metal computing hardware</strong>, to complete enterprise-grade infrastructures and development platforms—available to users over the public internet <strong>accessible for free, or access might be sold according to subscription-based or pay-per-usage pricing models</strong>.  
Public cloud is a multi-tenant environment—the cloud provider's data center infrastructure is shared by all public cloud customers. In the leading public clouds—Amazon Web Services (AWS), Google Cloud, IBM Cloud, Microsoft Azure, and Oracle Cloud—those customers can number in the millions.

### Private Cloud

Private cloud is a cloud environment in which all cloud infrastructure and computing resources are dedicated to, and accessible by, one customer only. Private cloud combines many of the benefits of cloud computing—including <strong>elasticity, scalability, and ease of service delivery—with the access control, security, and resource customization of on-premises infrastructure.</strong>

After understanding the structures on how both private cloud and public cloud works, a conclusion can be derived by building private cloud architecture according to cloud native principles, an organization gives itself the flexibility to easily move workloads to public cloud or run them within a hybrid cloud environment whenever they’re ready.

### Hybrid Cloud

The <strong>goal</strong> of hybrid cloud is to establish a mix of public and private cloud resources—and with a level of orchestration between them—that gives an organization the flexibility to choose the optimal cloud for each application or workload and to move workloads freely between the two clouds as circumstances change. This enables the organization to <strong>meet its technical and business objectives more effectively and cost-efficiently</strong> than it could with public or private cloud alone.


## Cloud Security

Nevertheless, maintaining cloud security demands different procedures and employee skillsets than in legacy IT environments. Some cloud security best practices include the following:

- <strong>Shared responsibility</strong> for security
- <strong>User</strong> identity and access management
- Security and compliance <strong>monitoring</strong>