Gartner is seeing enterprises deploy Kubernetes at increasing scale as they seek to apply cloud-native computing for modernizing infrastructure and applications across their organizations, targeting greater varieties of applications and servicing multiple teams. Indeed, successful adoption of containers and Kubernetes can provide significant agility benefits to software product teams so they can better deliver the outcomes that the organization’s customers want. However, deploying containers with Kubernetes-based platforms does not only change the technology stack, but also redefines how I&O and application teams work together. As a result, the move to containers will require IT organizations to simultaneously make a cultural transition and develop new workflows that are fundamentally based on the practice of DevOps.
Kubernetes was designed from the ground up to support DevOps, providing standard abstractions that enable developers and infrastructure operations teams to collaborate more efficiently than before. The ultimate expression of DevOps culture is to align the goals of developers and infrastructure operations so that cross-functional software product teams can take end-to-end ownership of the applications they deliver — from design to deployment and operations and retirement. This ownership enables the software product teams to use value streams to bridge business and technical architecture gaps, using product management and agile development practices.
Even with a commercially supported Kubernetes product or service, it will be necessary to define a container management platform that can meet the specific needs of software product teams. The platform must provide a self-service environment that enables software product or application delivery teams to develop (optional), deploy and operate software packaged as containers using a continuous integration and delivery (CI/CD) toolchain. Because software product teams may vary in their expertise with Kubernetes, or in the maturity of their DevOps practices, the platform must have the agility to evolve its capabilities based on changing requirements of developer teams over time.
Therefore, Gartner recommends using a platform engineering approach to deliver the platform (Gartner has previously referred to this practice as platform ops). With this method, a platform engineering team is responsible for agile delivery and operations of the platform which is defined and managed as a product. A product manager is responsible for that platform and strives to satisfy its customers, which are software product teams practicing DevOps to deliver their products in containers. A cross-functional platform engineering team then delivers the self-service platform to software product teams. This document (Gartner subscription required) offers best practices for building and operating deployment pipelines with containers and Kubernetes using a platform engineering approach.
For a Kubernetes initiative to succeed, software product teams must understand the fundamental benefits of containers in terms of agility and application life cycle management, and the container platform must be designed to deliver these benefits in a way that does not compromise on functionality compared to the existing development environment. Note that designing and implementing the platform is only the first step. It will also be critical for the platform engineering team to evangelize their platform by committing to deliver an experience that is better than what software product teams have already.