Platform as a Service (PaaS) appeared. as a leading force in the ever-evolving effort to streamline software development. PaaS dates back to 2006 with Force.com, followed by Heroku, AWS Elastic Beanstalk, and DotCloud, which later morphed into Docker.
While the PaaS sector commands a significant $170 billion market share in the cloud industry, companies still struggle with manual deployment and workload lifecycle management today. So why isn’t platform-as-a-service more widely adopted?
Deliver a PaaS experience to all workloads
PaaS platforms could be more flexible, and I’m not talking about language and framework compatibility. While PaaS is often defined as a one-stop service for developing any application, there is a problem. By apps, what is usually meant here are 12-factor apps.
However, many workloads don’t fit the mold of typical web applications. they come with unique requirements, such as batch processing tasks, high-performance computing (HPC) workloads, GPU-intensive tasks, data-centric applications, or even quantum computing workloads.
I won’t go into all the advantages that PaaS provides. However, companies should manage all their workloads in the easiest way possible, and offloading their development and management is the way to go.
A shift is needed. First, companies embracing the PaaS paradigm must recognize that there will not be a one-size-fits-all workload solution. In a recent talk on the subject, former Google engineer Kelsey Hightower reinforces this idea that a single, integrated PaaS remains unlikely.
Companies embracing the PaaS paradigm must recognize that there will not be a one-size-fits-all workload solution.
He also used Workload API to define a tool that provides that seamless “here’s my app, run it for me” experience. I like the term “workload API” because it clearly states the intent: to run a specific workload. Compared to platform-as-a-service (PaaS), which has to be more expensive and leads to this confusion that PaaS is a silver bullet to run anything. I will use this term for the rest of the article.
The second change for companies that want to provide a seamless development and management experience for all their workloads is to consider that each workload must have its own workload API. For example, Amazon Lambda could be used for batch jobs, Vercel for the front, Vertex AI for machine learning models and Peak for web applications.
Now, let’s explore how to choose workload APIs.