A Brief Introduction to Cloud Computing
The following are some of the points mentioned in the book :
- Cloud is just a building full of computers. There are racks of computers specially built to fit in datacenters
- A cloud provider rents computers as a service. It is akin to a car rental agency
- Cloud computing is the new electricity and everyone’s fighting to be the new utility provider of choice
- Cloud Storage came first with S3(Simple Storage Service) came in 2006
- Cloud Computing began with EC2(Elastic Cloud Compute) in 2007
- Software developers have made S3 and EC2 successful
- Cloud costing - Shift from Capex to Opex
- Cloud Native - Cloud-centric approach to developing software
- Netflix - An example of Cloud Native service: Early adopter of EC2 and one of the biggest success stories of Cloud
- Computers failing in the cloud is the norm. it is expected. it is ok. This changes the way the software is developed
- Concept of multiple availability zones in a region - Makes the cloud resilient to failure
- IaaS - Rent infra from a cloud provider
- PaaS - Rent a platform - Google app engine ,databases, Elastic Search, Machine Learning Services and a ton of other platforms that are available
- SaaS - Software as a service
- Both IaaS and PaaS are services used by developers to build products. No end user will ever use IaaS or PaaS directly. They are exclusively for developers. SaaS is meant for end users to use directly.
- A VM allows many programs to run on one computer at the same time. VMs are how big, powerful computers are shared.
- Analogy of VMs and a house owner who puts his room on Airbnb and somehow manages to magically accomodate all the demand - Virtualization explained well
- The real genius of the cloud: selling previously unused computer capacity
- Containers evolved after VMs and are even better at sharing computers because they use fewer resources. Since containers use fewer resources than VMs, it’s possible to pack even more applications on a bare-metal computer.
- Containers are so efficient at letting programs share a computer that two to three times more applications can share a computer using containers compared to VMs.
- Cloud computing as renting computers in the cloud. But in reality people are really renting are slices of computers using VMs. Via containers, you could rent even smaller slices of a computer using containers.
- Serverless takes renting smaller slices of a computer to the next level. With serverless, instead of running a complete application in a VM or a container, you upload a function into a serverless service and it takes care of everything else.
- Why is serverless computing the future :
- You don’t rent computers anymore. You don’t have to worry about VMs or containers. You no longer have to deal with capacity planning, deploying software, installing software, patching software, or elastically scaling in response to demand. You’re free from all that extra overhead. All you do is create and upload functions. You don’t even have to worry about failures like you do with EC2.
- Coke handles all their vending machine transactions using AWS Lambda
- Microsoft sells a private cloud product as do RedHat, VMware, and IBM.
- Netflix story of leveraging AWS to become what it is today