The Evolution of Cloud Computing “as a Service”
By Jin Kim
The evolution of cloudcomputing makes it easier to build application stacks. Cloud computing started with the notion of "as a Service," providing on-demand provisioning ability. This "as a Service" model started with "Infrastructure as a service (IaaS)" like AWS EC2.
IaaS provides users with the cloud computing infrastructure they need to perform generalized or specialized tasks. IaaS solutions can be pay-as-you-go storage, processing, networking, or virtualization. An IaaS provider typically manages the physical infrastructure, including servers and storage, while the client manages everything else, including operating systems and virtual machines.
And then, “as a Service” slowly progressed into "Platform as a service (PaaS)".
PaaS is focused on full-cycle automation. It offers a platform on which a developer can design and deploy an application without getting involved in time-consuming routing or specialized tasks like server and storage configuration, security, auto-scaling, and load balancing.
All major cloud infrastructure providers have their own PaaS suites (i.e. Heroku, AWS Elastic Beanstalk, Google App Engine, Microsoft Azure App Services, Red Hat Open Shift, IBM Cloud, etc.), and those suites are usually tightly bound to a particular cloud platform, delivering a productivity boost for building, testing and deploying applications.
PaaS provides many systematic benefits such as improving application performance, availability, scalability, and maintainability. It also provides many business benefits such as pay-as-you-go economic savings and fast Time-to-Market advantage.
However, there are some known issues to be considered when choosing PaaS.
Lock into one cloud provider
Most PaaS are typically designed to work best on each provider’s own cloud platform so that customers can achieve the most value by integrating the provider’s proprietary services. This increases the provider lock-in as one vendor’s cloud environment won’t necessarily migrate easily to another.
By 2025, over 80% of organizations will use more than one cloud service provider (CSP) for their data and analytics use cases, making it critical for them to prioritize an independent and CSP-neutral integration technology to avoid vendor lock-ins. [Magic Quadrant for Data Integration Tools, 2021]
Incompatible Infrastructure as Code
The ‘as code’ paradigm is about being able to reproduce and/or restore a full environment within minutes based on recipes and automation. Therefore, the ‘as Code’ approach provides repeatability, share-ability, versioning in managing the corresponding software components.
There are several well-known Infrastructure as Code such as HashiCorp Terraform, AWS Cloud Formation, Red Hat Ansible, Chef, Puppet, Salt Stack, etc.
IaC provides the ability to scale up and scale down components at will, greatly increasing the economy while meeting customer/market demands.
But many organizations today are finding that these tools do not always make life easier due to the following issues:
Testability - Unit testing individual functions or pieces of logic in IaC is difficult.
Readability/Polyglot - Infrastructure triaging involves many different formats (HCL, YAML, JSON), which are often obscure to most and need specialized personnel
Inconsistency - Script versions often break backward compatibility, and templating is different.
Portability - Difficult to port IaC between different environments (cloud vendors), especially when there are multiple technologies in a Polyglot topology. For example, Cloud Formation on AWS vs. ARM on Azure vs. Cloud Deployment Manager on GCP is not portable between them.
snapblocs defines AaaS as the delivery of well architectured, self-service data platforms from a catalog of architecture solutions. snapblocs enables a user to create data platforms in days, instead of months using Architecture as a Service model without writing IaC.
As AaaS uses open-source software, snapblocs enables customers to avoid vendor lock-in as well.
You can also book a free 1:1 demo with our team.