IT leaders need to update their own skills and practices to successfully lead transformations during the Kubernetes revolution that is currently dominating journeys to well-engineered DevOps solutions. I indicated in my prior article, Engineering DevOps with Kubernetes, that there are lot of benefits for all nine pillars of DevOps. This article will explain why leadership is important to engineering DevOps with Kubernetes, how leadership practices impact the performance of DevOps engineered with Kubernetes and the steps leaders can take to engineer DevOps with Kubernetes.
The Importance of Leadership
Why is leadership important to engineering DevOps with Kubernetes?
Containerization and Kubernetes container orchestration are not simply buzzwords that leaders can delegate without sufficiently understanding the implications for leadership practices. Leaders need to know how to establish and manage actions for strategies, goals, operations policies and evolution road maps. The following are the primary reasons that leadership is important to engineering DevOps with Kubernetes:
- Leaders need to leverage Kubernetes capabilities to support evolution of their DevOps hybrid and multicloud opportunities, enabled by cloud-native technologies.
- Teams and practices need to be structured so that software development and operations work together, because Kubernetes performance is affected by application architecture and design.
- Leaders must continuously be concerned about the financial impacts of their decisions and management of operations. They need to understand how to leverage the efficiencies of well-engineered Kubernetes to save money – both capex and opex.
- The large number of containers, container bundles and clusters required for portfolios of enterprise applications can quickly spiral out of control without a well-engineered strategy and operating plan. Leaders need to ensure orchestration solutions automatically track, schedule and orchestrate all those containers at scale.
- APIs and abstraction capabilities provided by Kubernetes facilitate a microservices approach to building apps and organizing smaller, agile development teams.
- It is important to plan deployment of workloads on the right cloud to avoid vendor lock-in.
- Planning team training and development is important because Kubernetes is complex, and a lack of skills impacts DevOps operations, adoption and evolution.
- The complexity and automation afforded by Kubernetes, left unmanaged, could quickly spiral into lack of understanding of the technology, and become justifiable fear of “losing control.”
The Impact on Performance
How Leadership practices impact the performance of DevOps engineered with Kubernetes
Leaders demonstrate a vision for organizational direction and operating policies for their teams that drive team actions and behaviors toward accomplishing goals. The following are specific leadership practices that impact engineering DevOps with Kubernetes:
- Leaders intellectually stimulate their teams to understand containers and Kubernetes and upend the status quo by encouraging and asking new questions and questioning basic assumptions about their work.
- Leaders provide inspirational communication that inspires pride in being part of the team, say positive things about the team, inspire passion and motivation and encourage people to see that change brings opportunities with Kubernetes.
- Leaders promote personal recognition for Kubernetes progress achievements by commending teams for better-than-average work, acknowledging improvements in the quality of work, and personally complimenting individuals’ outstanding work.
- Encourage team members to experiment, fail often, fail fast, learn, get better and lose the fear of failure!
- Determine the roles and responsibilities for Kubernetes activities between development, QA, ops and DevOps or platform teams. For example, determine who is responsible for integration of Kubernetes into DevOps pipelines and maintaining Kubernetes files.
- Determine policies for allocating container clusters between application developers, QA and operations teams, because multiple clusters can add management and maintenance overheads.
Steps Leaders Can Take
What steps can leaders take to engineer DevOps with Kubernetes?
According to surveys conducted by the Cloud Native Computing Foundation (CNCF), the top challenges to Kubernetes adoption are cultural changes within development teams. Getting your developers, DevOps and IT teams to work together to implement Kubernetes correctly is one of the biggest hurdles. The following are steps leaders can take to accomplish well-engineered DevOps with Kubernetes:
- Determine goals and define a strategy that directs what needs to be changed for engineering DevOps with Kubernetes.
- Put in place people with a change-agent mindset, allow them to step up and protect them from burnout in your corporate machinery.
- Start Kubernetes adoption by setting up some model applications that can demonstrate practices and benefits.
- Create a Kubernetes training program that includes foundational training for all leadership levels, developers, DevOps and IT team members.
- Sponsor attendance of key team members to attend industry events, including Kubecon, so they can learn and share the latest industry best practices.
- Set standards for installation of Kubernetes and automate the deployment of new nodes following their predefined template. This also simplifies additional cluster installation, since Kubernetes is already preconfigured and any applications running on top of it are also predefined.
- Set up change control tools and policies (for example, GitOps) for Kubernetes files. Use DevOps for managing and deploying changes of Kubernetes files.
- Put systems in place to track opex and capex cost savings provided by Kubernetes. This is necessary to continue to justify DevOps initiatives in parallel with the evolution of applications and industry trends.
- Over time, create a central services team for Kubernetes, managed by your DevOps team, or create a specialized platform team.
What This All Means
Engineering DevOps with Kubernetes offers many benefits, but also comes with complexity and conflicting situations that leaders need to be aware of, plan for, navigate and manage. Being aware of leadership’s importance to engineering DevOps with Kubernetes, leadership practices’ impact on performance and the steps leaders can take to engineer DevOps with Kubernetes will help speed the organization to a well-engineered DevOps practice benefiting from Kubernetes.