Open-source technology such as Kubernetes is emerging as the standard for many companies building applications on public clouds – with Amazon Web Services (AWS), Oracle and IBM among the leaders supporting this technology.
Dieter Rosch, a BBD executive, explains why Kubernetes is leading the way as a global open-source container orchestration platform with easy to deploy, scale and manage containers.
“Google first released the open source code for the Kubernetes project in 2014, with Kubernetes v1.0 released in July 2015. While Google still contributes code to Kubernetes, it is now a multi-stakeholder initiative run by the Linux Foundation’s Cloud Native Computing Foundation.”
Kubernetes has come a long way since 2015 and its popularity really took off in 2017, with GitHub announcing in August 2017 that they would be transitioning entirely onto the Kubernetes platform. Other well-known enterprises and systems running on the platform include Pokémon Go, The New York Times and eBay.
Rosch believes that due to developers caring less about where their code is running and instead preferring to focus more on writing good quality code, Kubernetes allows for businesses to achieve a shorter time to market for their products, with the added benefit of being able to easily scale as demand grows.
“Many cloud providers and tech companies have developed container orchestration platforms similar to Kubernetes. These often come with the caveat of vendor lock-in or environment limitations; whereas Kubernetes runs on most current cloud providers such as AWS, Azure, GCE, etc. and can be deployed on-premises on both VMs and bare metal machines.”
As the popularity of Kubernetes has grown, both locally and internationally, so it has become a must-have skill in 2018 for technical professionals of all levels.
A key benefit of Kubernetes is the abstraction it brings from the underlying hosting infrastructure. “Once the basic Kubernetes skills have been mastered, they are applicable everywhere, with both technical and strategic benefits.
“Operations staff can access and manage all resources, across public and private clouds, in the same way. Development teams can focus on writing business logic in the framework and language of their choice; irrespective if they are testing on their laptop, integrating on a development server or running production in a public cloud or private data centre. Should they move to a new team or environment, the infrastructure will function in the same manner.”
Essentially, the popularity of Kubernetes has grown to such an extent that cloud providers are offering managed Kubernetes clusters at the cost of the underlying infrastructure. Regarding the evolution of containers, Rosch believes that the natural order of progression has gone from simple executables, to containers and now to serverless applications.
“It’s clear though that this discrimination between serverless and containerised applications as the path to the future, may be open to debate. In late 2017 at re:Invent event, AWS announced a new service called AWS Fargate, which allows one to run containers without provisioning any virtual machines or physical hardware. This allows for serverless containers to run.
“In the same announcement, AWS announced that in 2018 Fargate will also support AWS EKS, a managed Kubernetes service. In the near future, the collaboration between serverless and containerisation technologies may open unique opportunities.”
Kubernetes uses best-practices such as infrastructure-as-code, service discovery, health checks and load-based auto scaling. Rosch explains this means it is an ideal enabler for enterprises who want to move from a traditional enterprise mode, where developers and operations are separated, to a modern DevSecOps model. “Unfortunately, integrating these best-practices into the day-to-day workflows of developers and operations personnel initially adds complexity. Experienced teams are therefore critical to ensuring success.”
Strategically, Kubernetes provides a business with the flexibility to deploy systems to one or more public or private cloud locations, easily scale up and down on these and use
development and operations teams across the enterprise.
Locally, Rosch advises many South African companies are implementing Kubernetes and adding it to their existing legacy enterprise environments.