PaaS is an obvious win for developers. Productivity goes way up, happiness goes way up, and the quality of the end result (the application) goes way up.
With Private PaaS, What’s In It For IT?
First, let’s remember the purpose of having an IT department: to run apps. Some of those applications are purchased “off the shelf,” but many are custom developed by enterprise software developers. When devs write apps, they need resources from various teams in IT to get that app up and running. Essentially, developers are customers of IT.
The problem with IT is that it’s far too infrastructure-centric and doesn’t really cater to the needs of developers. Getting infrastructure provisioned can take far too long, change requests are a hassle and IT is generally a “bucket of parts” model where a developer asks for load balancers, DNS entries, specific servers, etc so they can deploy their app. Developers don’t care to ask for this stuff (trust me, I was an enterprise developer once), but they have to because it’s how IT provides capabilities to those developers. Devs just want to get an app up and running; they want certain SLA commitments, and want it to just happen. Clearly, in the old IT model, this is not possible. Why? Essentially, IT is not developer centric, but IT centric.
To help with this, IT started investing in things like automation and orchestration, devops tooling and a bunch of other disjoint “glue” to try and pull all of this together. Unfortunately, this doesn’t change the game, it simply does all the old things faster with slightly fewer errors. It’s still the same bucket of parts.
This Analogy Might Help Describe The Scenario In A Better Way:
Imagine walking into a restaurant. You sit down and rather than a menu of dishes (outcomes), you are presented with close to 300 ingredients (parts) to choose from. The waiter asks you to pick what you want to eat. Baffled, you say you were hoping to order a dish. The waiter tells you that that’s precisely what they’re offering you. In fact, just pick whatever ingredients you want, and you’ll have that dish made.
After some more back and forth, you decide to just go with it and you pick 10 ingredients. After a long wait, you get back some sort of dish that incorporates the 10 ingredients. You take a bite and, while it tastes like food, you’re not happy; it took too long, and something is off- but you eat it anyway. Once done, you complain to the waiter and he tells you to come back next week because they will be implementing new tools that help measure more properly, can ensure ingredients are mixed better and that cooking time will be sped up with a new cooking process (automation and orchestration). You just wanted a menu with some great dishes, and instead you got the same ingredient list with a faster turnaround time. That isn’t a very customer centric way to run a restaurant, is it?
This Is What Happens In IT
Rather than being developer-centric (the customer), it’s instead simply more IT in a cheaper, faster, better way. Private PaaS is interesting because it enables IT to organize their assets under the PaaS and expose a set of capabilities and outcomes rather than a list of parts. Developers no longer ask for load balancers, VMs, and databases. Instead, they provide their applications to the PaaS and express the desired state. It’s the PaaS job to “cook” the ingredients into a dish.
Effectively, PaaS helps IT become customer-oriented and developer-centric. The end result is that IT is helping developers consume more IT in a consistent, high quality, outcome-oriented way. This is important to grasp because it means that not only does PaaS help IT, but it helps understand why IaaS or raw VMs don’t provide developers what they want, but instead provides IT a new way to do old things.