It is not an overstatement to say that, when it comes to container technologies, 2017 was the year of Kubernetes. While Kubernetes has been steadily gaining momentum ever since it was announced in 2014, it reached escape velocity in 2017. Just this year, more than 10,000 people participated in our free online Kubernetes Training classes. A few other key data points:
- Our company, Rancher Labs, built a product that supported multiple container orchestrators, including Swarm, Mesos, and Kubernetes. Responding to overwhelming market and customer demands, we decided to build Rancher 2.0 to 100% focus on Kubernetes. We are not alone. Even vendors who developed competing frameworks, like Docker Inc. and Mesosphere, announced support for Kubernetes this year.
- It has become significantly easier to install and operate Kubernetes. In fact, in most cases, you no longer need to install and operate Kubernetes at all. All major cloud providers, including Google, Microsoft Azure, AWS, and leading Chinese cloud providers such as Huawei, Alibaba, and Tencent, launched Kubernetes as a Service. Not only is it easier to set up and use cloud Kubernetes services like Google GKE, cloud Kubernetes services are cheaper. They often do not charge for resources required to run the Kubernetes master. Because it takes at least 3 nodes to run Kubernetes API servers and the etcd database, cloud Kubernetes-as-a-Service can lead to significant savings. For users who still want to stand up Kubernetes in their own data center, VMware announced Pivotal Container Service (PKS.) Indeed, with more than 40 vendors shipping CNCF-certified Kubernetes distributions, standing up and operating Kubernetes is easier than ever.
- The most important sign of the growth of Kubernetes is the significant number of users who started to run their mission-critical production workload on Kubernetes. At Rancher, because we supported multiple orchestration engines from day one, we have a unique perspective of the growth of Kubernetes relative to other technologies. One Fortune 50 Rancher customer, for example, runs their applications handling billions of dollars of transactions every day on Kubernetes clusters.
A significant trend we observed this year was an increased focus on security among customers who run Kubernetes in production. Back in 2016, the most common questions we heard from our customers centered around CI/CD. That was when Kubernetes was primarily used in development and testing environments. Nowadays, the most common feature requests from customers are single sign-on, centralized access control, strong isolation between applications and services, infrastructure hardening, and secret and credentials management. We believe, in fact, offering a layer to define and enforce security policies will be one of the strongest selling points of Kubernetes. There’s no doubt security will continue to be one of the hottest areas of development in 2018. With cloud providers and VMware all supporting Kubernetes services, Kubernetes has become a new infrastructure standard. This has huge implications to the IT industry. As we all know, compute workload is moving to public IaaS clouds, and IaaS is built on virtual machines. There is no standard virtual machine image format or standard virtual machine cluster manager. As a result, application built for one cloud cannot easily be deployed on other clouds. Kubernetes is a game changer. An application built for Kubernetes can be deployed on any compliant Kubernetes services, regardless of the underlying infrastructure. Among Rancher customers, we already see wide-spread adoption of multi-cloud deployments. With Kubernetes, multi-cloud is easy. DevOps team get the benefit of increased flexibility, increased reliability, and reduced cost, without having to complicate their operational practices. I am really excited about how Kubernetes will continue to grow in 2018. Here are some specific areas we should pay attention:
- Service Mesh gaining mainstream adoption. At the recent KubeCon show, the hottest topic was Service Mesh. Linkerd, Envoy, Istio, etc. all gained traction in 2017. Even though the adoption of these technologies is still at an early stage, the potential is huge. People often think of service mesh as a microservices framework. I believe, however, service mesh will bring benefits far beyond a microservice framework. Service mesh can become a common underpinning for all distributed applications. It offers application developers a great deal of support in communication, monitoring, and management of various components that make up an application. These components may or may not be microservices. They don’t even have to be built from containers. Even though not many people use service mesh today, we believe it will become popular in 2018. We, like most people in the container industry, want to play a part. We are busy integrating service mesh technologies into Rancher 2.0 now!
- From cloud-native to Kubernetes-native. The term “cloud native application” has been popular for a few years. It means applications developed to run on a cloud like AWS, instead of static environments like vSphere or bare metal clusters. Applications developed for Kubernetes are by definition cloud-native because Kubernetes is now available on all clouds. I believe, however, the world is ready to move from cloud-native to, using a term I first heard from Joe Beda, \“Kubernetes-native\“. I know of many organizations developing applications specifically to run on Kubernetes. These applications don’t just use Kubernetes as a deployment platform. They persist data in Kubernetes’s own etcd database. They use Kubernetes custom resource definition (CRD) as data access objects. They encode business logic in Kubernetes controllers. They use Kubelets to manage distributed clusters. They build their own API layer on Kubernetes API server. They use `kubectl` as their own CLI. Kubernetes-native applications are easy to build, run anywhere, and are massively scalable. In 2018, we will surely see more Kubernetes-native applications!
- Massive number of ready-to-run applications for Kubernetes. Most people use Kubernetes today to deploy their own applications. Not many organizations ship their application packages as YAML files or Helm charts yet. I believe this is about to change. Already most modern software (such as AI frameworks like Tensorflow) are available as Docker containers. It is easy to deploy these containers in Kubernetes clusters. A few weeks ago, Apache Spark project added support to use Kubernetes as a scheduler, in addition to Mesos and YARN. Kubernetes is now a great big-data platform. We believe, from this point onward, all service-side software packages will be distributed as containers and will be able to leverage Kubernetes as a cluster manager. Watch out for vast growth and availability of ready-to-run YAML files or Helm charts in 2018.
Looking back, growth of Kubernetes in 2017 far exceeded what all of us thought at the end of 2016. While we expected AWS to support Kubernetes, we did not expect the interest in service mesh and Kubernetes-native apps to grow so quickly. 2018 could very well bring us many unexpected technological developments. I can’t wait to find out!