/ Shayon Mukherjee / blog

To PaaS or not

April 29, 2021
~5 mins

PaaS or what?

Over the last year or so there have been many good discussions on “tech twitter” around the topics of IaaS/PaaS and how its time to reinvent Heroku. So many conversations, that I have lost track at this point. While some are on exact topics of PaaS, decline of heroku, the others are tangents or branches that talk about overlapping concerns like - why move out of Heroku? How do you get good CI/CD with your own PaaS? What about on-prem? and the list goes on.

Anecdotally, I think there are also a lot of founders or potentials founders testing the waters and trying to think ahead on the next breakthrough which is creating this perception of needing a PaaS that is not Heroku. Ofcourse also combined with Heroku is also not a one-size fits all.

I think Heroku will always have a special place in a developer’s stack. Heroku is extremely good at what it does. Its still a goto for so many early stage companies. Despite public cloud having similar-ish things.

So why do we keep revisiting these topics? I think there are a few ways to go about this

So how do you give your software development teams a seamless experience for deploying and managing their full stack applications, while still having enough control for customizability for unique workload requirements or when the workloads mature over time?

Future

I don’t have the right answer but I have been noodling on this in my free time since late 2019s. I really don’t think the technology is the hard bit here (while complex and sophisticated but not a blocker). In fact there couldn’t have been a better time to build something like this with Kubernetes, Cloud Native offerings and such strong community support of CI/CD abstractions. I think roughly what it comes down to is:

Just imagine - Bringing in your codebase from Github, providing start & build params for your application, hook it with your choice of DB/Cache and off you go. Most common operations are managed and infrastructure provisioned behind the scenes, with infrastructure being managed as code.

Whats next?

There are a lot of workloads for which creating these abstractions would be the hard part and thats what I want to figure out (where does this break).

As an engineer/IC I think there is a lot of worth to solving these problems. The conversation revolving around PaaS or Heroku doesn’t seem right to me. Its a good example and use case for inspiration but not as a guiding heuristic. I would love to build this vision I have in my head for my fellow software development teams and helping them deliver with velocity. Its an active conversation I keep having with folks in industry and at my current workplace.

As a builder I don’t think every modern software development company should have to build the same thing on & on. A higher and more opinionated solution should be able to solve majority of these cases, but not all. As it turns out - there is plenty new comers in this space (maybe 3-5 in the last few batches of YC itself).

I have been hacking on this on the side for a while now to see how scalable this really is in terms of practices, processes and tech. Mostly scratching an itch, exploring new technologies and writing full stack code (all the way from CSS to IP Tables) 🙂. If you are interested in jamming on this, hit me up (twitter DMs are open). I plan on open sourcing it at some point.

last modified April 29, 2021