Ian Crosby, senior engineer at Container Solutions, tried to answer the question of whether Kubernetes has crossed the chasm from early adopters to early majority at this year's QCon London conference.
Based on real world examples from several organizations he has been working with, Crosby claimed Kubernetes is indeed close to mainstream adoption as the remaining challenges in the enterprise world (namely highly secured environments, support for windows, better support for stateful workloads and integration with legacy software and hybrid clouds) are actively being addressed by the community. As Crosby put it, "the question is not if Kubernetes will cross the chasm, but when".
Ideal use cases like Fashiontrade, a 100% cloud-based and microservices-driven system -- where Kubernetes provided several benefits in terms of reducing operational workload (by natively providing fault tolerance, auto-scaling and service discovery) at a low adoption cost -- are an exception rather than the norm, Crosby realized over time.
In other use cases a system might initially appear like a good overall fit for Kubernetes, but a particular issue arises with the current maturity of the platform which can put adoption at risk. Crosby referred to the example of student.com, a fully cloud-based system that was running in two different AWS regions, Singapore and Beijing, in order to better support their target markets. Initially, this appeared to be just a matter of running one cluster in each region and federating the two clusters. However, it turns out that The Great Firewall of China blocks all incoming traffic from Google, so the installation of Kubernetes within the AWS Beijing region itself became a challenge, as some of the components could not even be downloaded.
Fixing this installation problem required setting up mirrors to download the components, and customizing the Kubernetes deployment in the Beijing region via Terraform and Ansible scripts. Meanwhile, the community surrounding one of the most popular installation tools for Kubernetes -- kops -- added a readme on how to install in AWS China, highlighting the proactive evolution that is often critical for open source software adoption in the enterprise.
The third, and most challenging, real world example was Ericsson's move to a Kubernetes-native model for delivering one of their software applications that is run by clients themselves. With the help of Helm charts, an open source package management solution for installing and updating Kubernetes-native apps with a simple command line, Ericsson was able to package their software and get clients to update painlessly with a single command. Plus Kubernetes-native rolling deployments meant zero downtime for clients and transparent upgrades. This drastically reduced the number of clients running (and requiring support for) old versions of this software, while also giving them the chance to benefit from Kubernetes' operational features.
According to Crosby, this is a new model of delivering enterprise software altogether, and provides client ownership and fast upgrades, which is a living proof of Kubernetes landscape altering potential.
In terms of Kubernetes adoption from scratch, Crosby recommends starting by using containers in the CI/CD pipeline, then experiment with Kubernetes clusters as the underlying infrastructure in development and test environments, and once familiarized roll out Kubernetes to one non-critical product in production. Once everyone is on board, and specific challenges have been addressed, rolling out to other, more critical systems, in production becomes a natural step.
The video recording of the talk will be made available on InfoQ over the coming months.