Kubernetes is a Perfect Fit With DevOps Culture
In my article, 9 Pillars of Engineering DevOps With Kubernetes, I explain that collaborative culture is a core pillar of well-engineered DevOps. DevOps favors cultures that are highly collaborative, continuous learning environments with most work arranged within small cross-functional teams that have short communication paths and shared accountabilities.
No technology, not even one as popular as Kubernetes, will achieve success with DevOps without the right culture. I said in my book, “Engineering DevOps,” that culture is a door to engineering DevOps, because if leaders and people do not accept DevOps, then no tool or engineering process will be successful. However, without an underlying engineering basis, culture is not sufficient to realize success with DevOps.
Fortunately, Kubernetes is truly a win/win situation for developers, because the K8s technology truly complements exemplary DevOps culture, and vice versa. There are numerous examples to illustrate the positive relationship between Kubernetes and DevOps culture.
- DevOps cultures encourage cross-functional collaboration, shared responsibilities, and elimination of silos between Dev, Ops and QA, security and product management team members. The flexibility and transparency that Kubernetes enables makes it easier for IT teams to work together more closely, and respond to business needs more rapidly.
- Operations teams are more satisfied, overall, because they appreciate how Kubernetes increases resource utilization and helps overcome many of the limitations of ticket-based management.
- The combination of automation capabilities, speed of operation and detailed, reliable information supported by Kubernetes enables teams to rapidly learn from failures, facilitates cooperation between departments and experimentation and improvement.
- Kubernetes supports DevOps continuous learning culture because communication of deployment information flows fluidly through end-to-end cross-functional teams.
- DevOps systems should be designed and created by an expert team and reviewed by a coalition of stakeholders including Dev, Ops, QA, and security. The inherent resilience, repeatability, flexibility and visibility enabled by Kubernetes suits a wide range of DevOps applications.
- Change management, often a source of conflict, is made more productive with Kubernetes because deployment configurations are version-managed together with the application code. This simplifies the ability of Dev, Ops and QA and security team members to collaboratively design end-to-end DevOps workflows.
- Kubernetes enables standardized and centralized organization workflows because it reduces the frustrations associated with scattered, decentralized information and disparate approaches to formatting and storing technical data.
With Kubernetes, the work to stand up on-premises and cloud-based test environments is dramatically reduced, because containerized application software and associated testing software can be deployed in containers for testing as soon as application code is committed.
Kubernetes supports integrated DevSecOps shift-left security practices with capabilities to improve access control to container clusters, manage updates to container code and environment variables, limit resource usage on pods, control the privileges that container-based workloads run with and restrict network access across containers. This reduces the fear of security risks, giving developers, operators and security teams more confidence that security risks are reduced.
- DevOps cultures favor key performance indicators (KPIs) that are set and monitored by the entire team to validate the performance of the end-to-end DevOps system. With Kubernetes, anyone can readily view and understand the state of all resources. Kubernetes breaks down traditional siloed visibility barriers between operations, QA, security and development teams. This improves transparency and open communication between team members.
- Team members are more confident in the quality of their application changes, because Kubernetes facilitates an enhanced DevOps culture of end-to-end testing that more closely resembles the experience of your users in production.
- Kubernetes reinforces exemplary DevOps culture practices, because it delivers clear benefits for technical and business stakeholders across the value stream. Kubernetes results in less costly, more productive, collaborative, engaged team members with fewer impediments, improved communication flow, dramatically faster time to deploy and quicker feedback and restore services times. Kubernetes and culture are truly a win/win for DevOps.