What is the cloud pyramid: the layers of DevOps services
We use cloud computing services quite a lot nowadays, yet many people don’t have a clear picture of the cloud structure in mind. This is what the cloud pyramid looks like:
The cloud structure regardless of the cloud computing model chosen (be it public, private or hybrid cloud) can be split into three layers:
- SaaS or Software-as-a-Service — literally any cloud-based app or service, be it Facebook, Google Drive, Airbnb or Uber. This is the layer the end-users face and it provides the functionality these users demand: social media communication, collaboration on documents, catching a taxi or booking a room for a night. This layer offers a limited set of functionalities and literally no control over the computing resources. Nevertheless, the end users get what they came for — functionality.
- PaaS or Platform-as-a-Service — an underlying level of APIs and engines allowing the developers to run their apps. This is a layer where the AWS or Azure users leverage the platform functions (like the latest batch of tech AWS introduced during their re:Invent week 2017). This level of the cloud pyramid allows the developers configure the resources needed to run their apps within the limits set by the cloud platform. This level demands to have some understanding of the processes and structure of your cloud, at least to be able to tick the appropriate boxes in the dashboard of said cloud service provider (CSP).
- IaaS or Infrastructure-as-a-Service — the lowest level of the cloud services, where the DevOps engineers work with the tools like Terraform, Docker, and Kubernetes to provision the servers and configure the infrastructures, processes, and environments, enabling the developers to deploy their software, APIs, and services. This layer might work with the hardware provided by cloud service providers like AWS or GCP or with on-prem bare metal Kubernetes clusters running in private or hybrid clouds. This level provides the most capabilities (like load balancing, backups, versioning and restoration of an immutable infrastructure) yet requires the most skills to be operated correctly.
Final thoughts on the cloud pyramid structure
As you can see, the cloud pyramid is quite a straightforward and simple to grasp structure. If you are an end user in need of certain functionality — you simply load the app and use the features you need. Should you be a developer that needs to deploy the said app and have it running without any further concern — you opt for some cloud service package, configure the resources and features needed for your app and leave all the groundwork to the CSP support personnel.
Initially, this story was posted on my company’s blog — https://itsvit.com/blog/what-is-the-cloud-pyramid-the-layers-of-devops-services/