There's a real record of enterprise maturity that has made all of these companies now start to get much more comfortable. There is sort of a bowling alley metaphor here, which is it's the lead pin that has to go down -- typically, a very aggressive, technology-centric industry leader like JPMorgan Chase or VW or Ford. They're quite demanding. But once they go public about it, which is typically 9 to 12 months after it's actually deployed, then everybody else in the category starts paying attention.
Recently, I spoke with Mike Mason, head of technology for ThoughtWorks, who had a slightly different take on the subject: "I think PaaS-in-a-box offerings like Cloud Foundry have reached a tipping point. Why weren't they adopted earlier? I think it's the fact that the capability that they provide is now mature enough."
When asked about specific feature improvements, Ramji cites BOSH, an open source tool chain for release engineering, deployment, and lifecycle management. Ramji maintains that:
BOSH has gotten radically easier to use. You used to have to tell BOSH every detail of your network in order for it to be able to run Cloud Foundry effectively. Enterprise networks have a lot of details so to just put it in numbers, a BOSH manifest a year ago used to be over 2000 lines. ... In the newest version of BOSH, which has been out for a few months, we have something called dynamic routing. Basically the network routes don't have to be hard-coded. They can be written much more simply. We've seen 2000-line manifests drop to 50-line manifests.
Another advance relates to Diego, Cloud Foundry's container management system, which Ramji says has improved dramatically. But he also points to a qualitative change brought about by the support for containers:
Cloud Foundry is becoming a bit less opinionated over time. It used to be you could only give us code. One of the things that makes it easier is not everything is a 12-factor app. You might need to take an old Java app and reroll it slightly and run it on Cloud Foundry for the scalability and management, but you want to just ... build a Docker-based container for that. I think that releases the frustration because there's not only one true way.
This highlights a crucial developer objection to PaaS solutions: They tend to enforce a certain way of doing things that may or may not suit a given developer -- or a given task. The trade-off is that developers who accept those constraints enjoy automation and prebuilt services that in many cases can make them much more productive.
Make no mistake, enterprises like a little governance with their app dev. PaaS, or whatever you want to call it, offers a way to enforce policies and procedures -- though if you're too heavy-handed with that you can lose your best people. For Cloud Foundry and its customers, success will be all about finding the delicate balance between standardization and flexibility.
Sign up for CIO Asia eNewsletters.