How Kubernetes Helps to Enable DevOps
A recent Gartner survey suggests that roughly 50% of the respondents planned to implement continuous delivery and DevOps by year-end 2017 in order to deliver services faster, more often and more reliably. State of DevOps Report by Puppet Labs suggests that high-performing organizations that focus on automation and DevOps are able to reduce their lead-time for delivering a change by a factor of 440 and deliver services 46 times more often. These results have helped to make DevOps adoption a mainstream enterprise IT phenomena. As a result, today we see DevOps adoption in virtually all industries and company sizes, and the perception of DevOps as a unicorn capability has long vanished.
Although rapid pace of DevOps adoption has many drivers, on the technological front, containers have played a crucial role in making new levels of automation accessible to all teams. Automation technology once reserved for highly engineering-focused organizations has now become available to everyone thanks to the simplicity, usability, and portability of Linux containers.
Containers offer a standard packaging format and runtime for running any application with all its dependencies regardless of how the application is architected, configured and operates within the containers. The standardization that was the aim of lengthy Standard Operating Environment (SOE) projects for an operating system, middleware, database and other components has practically become a given today with containers. In my opinion, that was the main tipping point for DevOps’ popularity.
Despite the standardization that containers can provide, what containers don’t solve is the actual end-to-end automation required for achieving continuous delivery and other principles advocated by DevOps. Containers offer a solid and standard ground, however, an automated process should lay over it to enable faster service delivery.
Kubernetes, born out of 15+ years of containers experience at Google, was created and donated to the community as an orchestrated framework. Automating deployment and management of containers across the infrastructure regardless of the sort of infrastructure being using like virtualized servers, private and public cloud, etc. Kubernetes has since become one of the most active open source projects on GitHub and a de facto standard in orchestrating containers backed by thousands of contributors and close to hundreds of vendors.
While Kubernetes does not provide full continuous delivery automation, it offers a higher starting point than the solid ground provided by containers, where many of the operational complexities of running containers are already solved by the orchestration framework. Although Kubernetes still requires teams to build an end-to-end automated process on top of it, it does provide many building blocks out-of-the-box to help users build a tailored automated process for continuous delivery.
In my session, 10 Ways Kubernetes Enables DevOps at the All Dev DevOps 2017 virtual event taking place on Oct. 24, I plan to talk about 10 ways Kubernetes has helped organizations to get ahead in their DevOps initiatives by taking advantage the orchestration it provides to build fully automated delivery pipelines.
Source: All Day DevOps