Cloud Computing
Cloud computing is on-demand delivery of compute, database storage and applications via the internet. Essentially you are just renting someone else’s computer.
The advantages of cloud computing:
- Trade capital expense for variable expense: don’t have to invest in infrastructure, only pay for what you use.
- Benefit from economies of scale: because Amazon have so many server resources you would never able to find cheaper compute from your own infrastructure.
- Stop guessing about capacity: provisioning your own servers can cause problems with under-utilized or over-utilized infrastructure, by making use of granular scaling you can use exactly the capacity you need. (Similar to 1?)
- Increase speed and agility: Using serverless architecture you can scale infinitely and not have any servers or virtual machines running.
- Stop spending money running and maintaining data centres: You don’t have to pay for maintaining any infrastructure yourself, only the configuration of that infrastructure.
- Go global in minutes: Easily deploy your application in multiple regions
Cloud Computing Types
There are three types of cloud computing:
- Infrastructure as a Service (IaaS): The service itself has no access to your server, they simply give the client infrastructure and the client manages the infrastructure themselves such as the operating system, patching etc. An example of this would be the
EC2
instance. - Platform as a Service (PaaS): The service manages operating systems, hardware as well as updates and maintenance, the client just focuses on managing their applications.
- Software as a Service (SaaS): The service manages everything apart from the actual way you use the software.
Cloud Computing Deployments
There are three types of cloud computing deployments:
- Public Cloud: AWS, Azure and GCP
- Hybrid: Mixture of public and private. Example: public website on the public cloud with data stored on a personal server.
- Private Cloud: You manage your cloud infrastructure in a data centre. Example: Openstack or Vmware.