Understanding Cloud
Published: 2021-05-10 19:07:20

#####Key notes & takeaways from [David Chappell's] (http://davidchappellopinari.blogspot.com/) [_Cloud Computing: The Big Picture_](https://app.pluralsight.com/profile/author/david-chappell)

#The Big Picture
_The cloud_ is a nebulous concept. Business & technical communication has been improved by categorizing specific cloud services based on role: 

##Cloud architecture for computing can be broken down into three general categories:
* [Software as a Service (SaaS](SaaS)
* [Platform as a Service (PaaS)](PaaS)
* [Infrastructure as a Service (IaaS)](IaaS)

###SaaS Organizations <a name="Software as a Service"></a>
* Provide services for Customer Relationship Management (CRM), Enterprise Resource Planning (ERP), Email, Storage
* Include companies like Salesforce & Google although Google provides additional cloud services
* May create an [Application Programming Interface (API)](https://www.hubspire.com/resources/general/application-programming-interface/) for users to have a single sign-on

###IaaS Organizations <a name="Infrastructure as a Service"></a>
* Fundamental cloud structure. 
* Leading IaaS are Amazon Web Services, Google Cloud Platform & Microsoft Azure Technologies

###PaaS Organizations <a name="Platform as a Service"></a>
* Provide developers with a framework within which custom applications are designed
* Leading PaaS are Amazon Web Services, Google Cloud Platform & Microsoft Azure Technologies

##In Summary:
| Categories       | Examples               | Functionality  |
| ---------------- |:----------------------:| --------------:|
| SaaS | Salesforce (CRM); Oracle CX Cloud (CRM) & Oracle Cloud ERP; MS Dynamics 365 Sales (CRM) & Finance (ERP) & MS 365 (Email & Productivity); Google Workspace (Email, Storage & Productivity); Apple iCloud (Email & Storage); Dropbox (Storage) | CRM, ERP, Email, Storage, Productivity | 
| IaaS | AWS Elastic Compute Cloud (EC2), Microsoft Azure Virtual Machines, Google Cloud Compute Engine | The most fundamental cloud structure. Developers create & use virtual machines (VMs) with faster deployment/hosting & usage-based pricing. |  
| PaaS | AWS Beanstalk, MS Azure App Service, Google App Service & Google Cloud App Engine | Developers use VMs to build & run applications; however, unlike systems built in IaaS, they do not interact with servers. PaaS provides supporting services that take care of the housekeeping. Designed for brand new applications.  |

#Taking a step closer
IaaS & PaaS aren't the only architectural options for building today's web services.
##Recent Cloud Architecture Developments for Computing
These cloud services have refined support for cloud architecture:
* [Containers as a Service (CaaS)](CaaS)
* [Functions as a Service (FaaS)](FaaS)

| Categories       | Examples               | Functionality  |
| ---------------- |:----------------------:| --------------:|
| CaaS | Kubernetes | Originally built by Google Instead of working at the VM level, deploy & manage containers that run inside VMs. Applications run inside those containers. Container management services decide where containers should run & manage them as they run
| FaaS | i.e. _Serverless computing_ | Developers build applications as functions & invoke functions directly to simply process & reduce cost |

##Cloud Platform Technologies: Data
* VM
* Object Storage 
* Relational Storage
* NoSQL Storage

##Amazon Web Services
*For computing: IaaS, PaaS, CaaS & FaaS
*For data storage: object storage, relational & NoSQL