October 24, 2017-
This blog originally was published on TheNewStack. Back in the day, when OpenStack was everything people wanted to hear, I explained its popularity with the analogy of “if AWS was an iPhone, OpenStack would be the Android." While it didn’t quite work for OpenStack, with far less than 85% of servers running it, that analogy may still be relevant when it comes to Google’s plan to win in cloud. When Apple released iPhone, Google said “Uh-oh... Nokia, Samsung and Motorola know nothing about building software; unless we intervene, Apple will own mobile.” So Google Androided the mobile OS market. With its Kubernetes push, Google clearly showed its intention to use the open source weapon once again, this time in its battle for cloud. But what is the plan of attack? A common opinion is that broad use of Kubernetes will drive up usage of Google Container Engine (GKE)... and that’s the end of the plan. Granted this may be true, I can hardly see GKE popularity making a dent in Google winning the cloud. Moreover, with Microsoft and AWS (and dozens of startups) all launching a hosted Kubernetes offering, the pitch of “my Kubernetes is better than your Kubernetes” becomes less convincing every day. So I have a more exciting theory. I’d like to postulate that K8S was the first move in a longer chess game to Android AWS: one where the end goal is to destroy costs associated with moving workloads between clouds. Why would Google care? According to Gartner, in 2016 Google controlled 2.3% of the IaaS market. If you own 2.3% of a commodity market, investing in destroying switching costs makes just as much (or more) sense as investing in out-innovating the market leader. Conversely, for AWS, with over 40% of the market it makes sense to optimize for lock-in and maximum switching costs. In that vein, the Kubernetes push is not about just making GKE popular. Kubernetes is about seeding the industry with open source standards for application development and operations that aim to disintermediate workloads from the underlying infrastructure substrate, with a minimal hit to developer productivity. In other words, piece by piece, Google is re-building the concept of a PaaS, and Kubernetes is the first building block. And much like Android helped Nokia and Samsung compete with Apple, this GoogleStack PaaS is aimed at helping IBM, Cisco, Dell and others build a multi-cloud stack that developers would actually like. This year, Google announced its backing for several more open source initiatives: Istio and Envoy, Spinnaker and the Open Service Broker API. I suspect those to be calculated moves towards completing the missing pieces of GoogleStack PaaS and aimed at solving for various aspects of cross-cloud workload portability. Yet in speaking to customers, analysts and industry pundits, I was amazed at how few actually care to connect the dots. If my line of thinking warrants consideration, Google’s motivation to invest in workload portability should be comparable to its motivation to invest in winning on AI and Big Data fronts. In the next few years Google’s fight for cloud could redefine how we build and run applications, rendering billions in infrastructure R&D dollars and VC investments obsolete. We saw a small preview of it already with EVERY PaaS throwing away their container orchestration investments to convert to Kubernetes. But then I stop and read about Docker saying no to Google, or Benchmark backing Linkerd two weeks after Google backed Envoy, and I wonder if the above is just a crazy conspiracy theory, and Kubernetes is merely about growing GKE mindshare.