Is Kubernetes Repeating OpenStack's Mistakes?
But in the end few were able to find refuge from AWS through OpenStack. So everybody ran to find new cover. Today that new cover is starting to look a lot like Containers-as-a-Service (aka unstructured PaaS) propelled forward by Google and Kubernetes. We are effectively observing Cloud_Opinion’s law coming in effect: “Every vendor that can’t compete in Cloud chooses hybrid as their strategy.”
Multi-cloud is the new private. Kubernetes is the new OpenStack. But is there an opportunity to learn from the past and do it better this time around? So far, at least some of the parallels are concerning. Let’s examine them...
Before OpenStack there was Eucalyptus and CloudStack. Both were opinionated implementations of a private cloud reference architecture. Their opinionated nature stifled broad customer adoption, but things were chugging along. Then came OpenStack, which played the unopinionated DIY card and the following happened:
Fast forward to today. There is Cloud Foundry and there is OpenShift. Like Eucalyptus and CloudStack, both are opinionated. So things are chugging along, but neither is a runaway success. Both are swimming against the strong current of enterprises’ desire to DIY.
Along comes a Kubernetes-fueled wave of multi-cloud CaaS and, sure enough, unopinionated DIY wins:
Kubernetes CaaS won. There is no denying it. Mesosphere is now a Kubernetes CaaS. Super opinionated Pivotal Cloud Foundry PaaS is now a Kubernetes CaaS. And even the very conservative Gartner in its May report threw out some not so conservative statements: “Platform-as-a-Service vendors... are pivoting to offer CaaS solutions... Such platforms can ultimately make the multicloud promise...a reality.”
I think there are two ways to look at it. The optimist in me cheers because the unopinionated multi-cloud CaaS is finally getting that bottoms up developer adoption that structured PaaS could never enjoy. The pessimist in me ponders how, once again, the industry caves in to thirst for DIY, choosing short term speed of adoption over long term operational sustainability. We are heading towards a composable, multi-cloud CaaS that is a plethora of best of breed building blocks - Docker, Kubernetes, Helm, Istio, Spinnaker etc. - developed by a variety of loosely coupled interests; each with its own release cycle. So how will we operate all of this stuff?
Operational challenges are exactly what stifled private cloud and dragged OpenStack down with it. So as we move from structured PaaS to composable CaaS are we not marching down the same exact path again?
Opinionated solutions delivered as software can’t win against opinionated solutions delivered as cloud. So the only way to move the infrastructure market with software is to play the DIY card, which after a while makes operational challenges more acute and, consequently, the cloud delivery model more attractive. Is it a spiral of doom? To get adoption for private IaaS we made it DIY friendly with OpenStack. But then we stumbled with operations and surrendered to public cloud. Now moved to private PaaS software. To get adoption for private PaaS software we are now making it DIY friendly by moving to CaaS. You can guess what will happen next.