I am sure everyone has heard of ‘the cloud’, but what exactly is the cloud? The answer is surprisingly simple in broad terms. Basically, it is someone else’s computer. The term ‘Cloud’ or ‘The Cloud’ refers to hosting workloads on shared hardware and software and paying for your utilization through a ‘utility billing’ model – similar to how you pay for your electric or water based on how much of it you use. While this sounds simple, it is actually a lot more complex than that, and can be broken down into a few buckets.
SaaS (Software as a Service) is a cloud model in which software is hosted on the cloud platform by the cloud provider and you consume the application for a fixed monthly fee. Two example that you may be familiar with are Gmail which is free (unless you subscribe to GSuite) and Microsoft Office365. There are a wide veriety of these SaaS applications available and they have become one of the most popular cloud models.
IaaS (Infrastructure as a Service) is a cloud model in which you rent compute, storage, networking and OS Licensing to create virtual machines that you can then run your own software/servers on. Examples of IaaS providers are Amazon AWS (instances), DigitalOcean (droplets) Gogole Cloud Platform (GCP Instances).
PaaS (Platform as a Service) is a cloud model on which developers can write and run code on a platform (operating system or other run time environment) that is maintained by the cloud provider. This abstracts the Operating System out of the equation and provides the developer with a purpose built platform to publish his or her code/application.
CaaS (Container as a Service) is a model in which the cloud provider hosts a container platform such as Docker as well as the automation and orchestration tools required to run and scale a workload. This again abstracts the operating system similar to PaaS but provides more flexibility in the design, deployment and maintenance of the application to the developers and DevOps teams.
This is just a few of the examples of cloud technologies – there is an enormous number beyond this. Just remember that the cloud is just hosting something on someone else’s computer (Amazon AWS, Google GCP etc.) and paying for it through utility billing. Due to the nature of this concept, there is what is called a ‘Shared Responsibility Model’ when using the cloud. The Cloud Provider is responsible for a portion of what is on the cloud and the consumer is responsible for a portion. Below is an illustration outlining the shared responsibility model.
Cloud can be confusing and there is far more to it than I can cover in a single article so if you are interested in learning more, feel free to drop me a comment and look out for more specific articles from my blog in the future.