Is Kubernetes the New PaaS?

PinIt

Kubernetes has made something old new again. You may not want to admit it, but you’re probably into Kubernetes because it feels like PaaS.

By many measures (and according to many folks), Platform-as-a-Service, or PaaS, died long ago. Unlike other types of cloud-based architectures — notably, IaaS and SaaS — PaaS never really caught on. It’s true that most conventional PaaS platforms have disappeared. Yet if you look at Kubernetes, the massively popular open-source orchestrator, PaaS is alive and well. In many ways, Kubernetes is basically just PaaS by another name (and with less vendor lock-in).

Here’s why.

What is a PaaS?

Historically, PaaS was a type of cloud computing service that let developers write, build, and deploy applications at scale on a cloud platform.

Simplifying Cloud Database Access and Why It Is Important

PaaS was a big deal in the early days of cloud computing – which is to say, the mid to late-2000s. Back then, the idea that you could write an app and deploy it on someone else’s server without having to manage the infrastructure or the development or deployment environments was a big deal. So was having a unified, preconfigured toolset for building and deploying apps.

Today, however, most developers take for granted that they can write an app anywhere, then deploy it to the cloud. Cloud providers have gotten very good at building solutions, like AWS Elastic Beanstalk, that make it easy to take an application and run it in the cloud with little configuration effort on the part of developers.

As a result, conventional PaaS platforms have waned in popularity. Some leading solutions, like Heroku, are still around and are important in certain contexts. But by and large, you’re more likely today to find developers who build their apps in whichever development environment they want, then deploy them to an unrelated cloud IaaS platform. Few consider them users of PaaS platforms.

Kubernetes as a PaaS

Many of those developers, though, are probably deploying apps using Kubernetes – which is arguably PaaS by a different name.

After all, the core features of Kubernetes include:

  • The ability to deploy any type of app in a consistent way.
  • Support for running on any infrastructure – on-prem, public clouds, or both.
  • A centralized control plane for managing applications, no matter where they are hosted.
  • Some automated management of applications and infrastructure in the form of load balancing, automatic container restarts, and so on.

In a lot of ways, these are also the core features of a PaaS. Simple deployment, automated infrastructure management, and application orchestration are the reasons why most developers got excited about PaaS platforms more than a decade ago.

Perhaps the one key feature that Kubernetes lacks, but which is available in a conventional PaaS, is integrated development tooling. Kubernetes does nothing to help you actually write or test your code. You need to do that separately.

But in the sense that Kubernetes provides a unified, consistent, developer-friendly means of deploying applications at scale, it looks a lot like a PaaS.

Kubernetes: A better PaaS?

It’s worth noting, too, that Kubernetes has one killer feature that most PaaS platforms do not: The ability to run anywhere. Whether you want to deploy Kubernetes on-prem or in the public cloud of your choice, you can do it. You can even set up Kubernetes clusters that span hybrid architecture, allowing you to use on-prem and public cloud at the same time or build some kind of fancy edge configuration.

In contrast, PaaS offerings were typically closely tied to one vendor’s proprietary platform. You couldn’t easily move from one PaaS to another in the way that you can pick up a Kubernetes cluster and move it to a different host infrastructure.

PaaS’s second coming

To be sure, few people would consider Kubernetes a PaaS or even realize that the reason they like Kubernetes is that it gives them most of the core features of a PaaS. And in some ways, like its modular storage and networking architecture, Kubernetes doesn’t feel like a PaaS.

But on the whole, Kubernetes has made something old new again. You may not want to admit it, but you’re probably into Kubernetes because it feels like PaaS, a paradigm that ceased to be cool years ago.

Simplifying Cloud Database Access and Why It Is Important

Chris Tozzi

About Chris Tozzi

Chris Tozzi is a freelance technical writer and editor, specializing in topics such as DevOps, security, open source, and cloud computing. His most recent book, “For Fun and Profit: A History of the Free and Open Source Software Revolution,” was published by MIT Press in 2017. He is also Senior Lecturer in IT and Society at Rensselaer Polytechnic Institute in Troy, New York.

Leave a Reply

Your email address will not be published.