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, PaaS, and IaaS. We will take a closer look at each of these layers below.
SaaS or Software-as-a-Service
This is the software delivery method where the product or service provider hosts it in the cloud, manages all the support operations, and the end users get the functionality they need. This applies to literally any cloud-based app or service the end users face, be it Facebook, Google Drive, Airbnb or Uber.
This layer provides the following benefits to end users:
- The simplicity of administration, as only the UI functions of the app are available to the customers, the rest is the provider’s concern
- Automation of patches and updates, as the apps are usually updated on restart or through in-app updates
- 100% app compatibility, as all the users essentially have the same version of the product
- Ease of collaboration, for all the reasons above
- Global availability of the product, as only the Internet connection is needed to use it
Thus said, this level is the most challenging from the business perspective, as the software developer has to maintain all the layers below.
PaaS or Platform-as-a-Service
This is an underlying level of APIs and engines allowing the developers to run their apps. This is a layer where AWS or Azure users leverage the platform functions (like the batch of tech AWS introduced during their re:Invent 2018 week). This level of the cloud pyramid allows the developers to configure the resources needed to run their apps within the limits set by the cloud platform.
The benefits of working on the PaaS layer are the following:
- Direct access to cloud computing resources provided by the CSPs, so the businesses can design and implement the infrastructure required to run their apps
- Managed services like database management and support, managed Kubernetes clusters, serverless computing, server-side scripting, simple availability of various operating systems and auxiliary software
- Lots of useful DevOps tools to provision, configure and run your production systems. The tools like Docker, Kubernetes, and Terraform, Ansible and Jenkins make working on this layer quite convenient for the businesses.
The downside of this model is the dependency on the Cloud Service Providers (CSPs) like AWS or GCP and Managed Service Providers in order to deliver your products or services. However, this is the most widespread form of doing business nowadays.
IaaS or Infrastructure-as-a-Service
This is 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 customers to deploy their software and use various IaaS APIs and services.
Below are the benefits of working on the IaaS layer:
- PAYG billing model, so the customers pay only for the computing resources they actually consumed
- No upstart CAPEX due to the above
- Global availability, as cloud service providers have Availability zones and regions worldwide, so your products can be hosted closest to your target audience
- Cloud scalability out-of-the-box, as direct management of cloud computing resources makes it simple to adjust them based on your needs
The only downside of this business model is that only a handful of businesses worldwide operate this way, as it requires huge resources and cloud architecture expertise.
Final thoughts on the cloud pyramid structure
As you can see, the cloud pyramid is quite 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.
When the business needs to leverage the full power of the cloud, they do need to leverage DevOps-as-a-Service to perform the cloud transition, run their cloud infrastructure and take care of the server provisioning, versioning, restoration, and mission-critical operations, like rolling updates, etc.
This power, however, needs the skilled DevOps engineers to execute it right. If you have them in-house — good for you, but if you want to simply get the job done at once without enduring building a team — outsourcing this task to a trustworthy DevOps team is the solution.
By Vladimir Fedak