Cloud Computing
Tags: cloud, aws, community
Published: 2021-12-19 02:39:11

**Cloud Computing**

Few terms we need to know:

- 
Virtualization: It allows the possibility of having multiple virtual machines (VMs) each running essentially a separate operating system and applications installed on 1 physical layer.



![ 3VMs under 1 hardware](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/68ezod1rjzjkwmcq6u90.png)


- 
Compute: It is mainly the brain which process workload

- 
Storage: It allows to save and store data

- 
Database: It allows to store structure sets of data used by applications

- 
Network: These resources provide the connectivity allowing all other resources (compute /storage / database ) to communicate with each other.

so, Cloud computing is a remote virtual pool of on demand shared resources offering Compute, Storage, Database and Network services that can be rapidly deployed at scale

**Cloud Deployment Models**
1.Public Cloud: 
Vendor makes available the use of shared infrastructure , including _Compute, Storage, Database , Network resources._

Vendors provide all backend and physical maintenance and consumers can specify the geographic region in which the it resides to aid with data access. One can access the public cloud from anywhere through internet. 


2.Private Cloud: 
infrastructures are privately hosted. Hardware is usually on-premise. More capital expenditure is required to acquire the hosts and datacenter. Additional resources are needed for the day to day operations and maintenance of the equipment.


3.Hybrid Cloud: 
Uses both public and private cloud. It is established when a network link is configured between the private cloud to services within a public cloud.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pncmqx952djqg498l34k.png)

Terms to know :

- 
On demand resourcing: When we want to provision a resource within a cloud, it provides immediately resources .

- 
Scalability: We can scale out environment resources both 'up and down' and 'in and out'
Scaling up and down means the power and performance of an instance . example: using 1 instance  with greater CPU /memory power.
Scaling in and out means adding or removing instances .

- 
Economy of scale: Due to huge scale of resources public cloud offerings, there are low resource costs.
 

- 
Flexibility and elasticity :The amount of resources, how long I want to use and what scale I want to use etc are open to me.
 

- 
Utility based metering: Pay as you use. 

- 
Shared infrastructure: Multiple resources are connecting to one hardware which reduces cost.

- 
High available: these vendor services are very available globally
Security: there are security provided by vendors

Blog: https://cloudacademy.com/blog/aws-shared-responsibility-model-security/

**Cloud service models**

1.SaaS(Software as a service): it is mainly delivery of an application that can widely distributed and accessed. ex: Google's gmail service

2.PaaS( Platform as a service): 
One has access to framework form the operating system and up. The underlying architecture , host hardware , network component, OS etc are managed by vendor.

3.IaaS( Infrastructure as a service): 
this allows one to architect own portion of the cloud by configuring virtual network . Given highest level of customization .
moreover we have DRaaS, CaaS etc

**Benefits of cloud computing**
1) Migrating their business to cloud
2) Reduces less data traffics
3) Back up 
4) Web hosting
5) Test/ Dev Environment
6) Big data. data manipulation


**Data center architecture**
1) there are many servers globally which makes public vendors easily share services globally
2) Physical Security: 
AWS's security: https://aws.amazon.com/compliance/
Microsoft: https://docs.microsoft.com/en-us/compliance/
3)Network Infrastructure: AWS has (Virtual Private Clouds)VPC and Microsoft has (Virtual Network) VNet
4) Servers : called as Instances or Virtual machine(VM)
5) Storage: almost unlimited.