Approaching Kubernetes Adoption in Your Organization
Kubernetes is great. I know that and you know that. But if you're not using it in your organization yet, how do you convince your colleagues? How do you convince the business?
One of the ways you can improve your chances is by borrowing from the study of user experience. And when it comes to Kubernetes adoption, the user is not just one person or team. It's more far reaching, as I'll explain.
User experience (UX) is a fascinating part of software development. In many ways, it is the art behind the science. It has to accommodate a whole range of different human beings, with varying experiences, knowledge, and needs.
When you think of Kubernetes, it's natural to think of the UX as the way you interact with the cluster itself. As an engineer, this makes perfect sense. But what about other parts of your organization, including those completely outside of engineering? How does the platform you run your business on affect them?
To get Kubernetes into production, you have to understand who your customers (i.e. users) are inside the company and get them on board. And doing so will require careful planning and thoughtful consideration that puts people first, processes second, and tools last—even though that might seem counterintuitive.
In this post, I will look at how technology adoption works in practice, and how to improve your chances of success introducing Kubernetes to your organization.
Winning People Over
In a recent customer engagement, I was working with two very talented senior engineers who champion all things DevOps within their company. They clearly saw the advantages of Kubernetes paired with Helm and Deis Workflow.
Unfortunately they struggled making progress with deeper DevOps automation and self-service since the rest of their engineering group was too heads down to find the cycles to actively participate in the transition.
Their strategy was to partner with the Deis Pro Services team to create a proof-of-concept cluster so the value and ease of deployment was not just theoretical, but demonstrable.
Prior to this, they had experimented with a variety of Kubernetes tools, all of which had some downside, complexity, or instability issues that made them unsuitable. And with no way to tangibly demonstrate the benefits, it's hard to convince other people.
But let's say you do manage to figure what works best for your organization, and you manage to stand up a few demos. What's next? How are you going to show people what their specific Kubernetes experience is going to be like?
Again, it's not just engineers. Kubernetes makes a huge difference for testing, compliance, and even marketing. It's up to you to show them what they can expect.
Your Kubernetes proposal has to win over everyone, speaking to their specific needs and concerns.
Decision Making Processes
Before we start with the Kubernetes specific advice, we can take a general look at how software adoption happens in most organizations.
Here's an overview:
There's a lot of stuff here, and while it might not actually get spoken about in these terms, the steps outlined in this process are nearly universal. Someone has to choose it, evaluate it, and then implement it. Sometimes, especially in small companies, that might be one single person. But the bigger the organization, the more people this involves.
If you look at the blue lines, as long as things keep moving forward, you can see how confidence increases in each decision making phase.
For example, in the evaluation phase, you can increase confidence by comparing different options and experimenting with demo implementations. And in the business decision phase, you might increase confidence by looking at how corporate strategy is impacted, what the implementation will cost, how it will be maintained, and so on.
Not surprisingly, the adoption patterns of Kubernetes follow this model pretty closely, especially in larger organizations.
This is especially true given that Kubernetes has the power to completely reshape the entire engineering organization, and has potential knock-on implications for many other teams, including: quality assurance, security, regulatory compliance, site reliability, operations, and infrastructure.
Kubernetes is a big deal.
If you don't have everyone on the same page about the benefit of Kubernetes, you are going to face an uphill struggle.
So one of the first things you should do is map this adoption lifecycle to your organization. Figure out which teams are going to be impacted. Figure out who you need to convince at each step of the decision making process. And always be thinking a few steps ahead, since you know those questions will be coming.
Once you've done that, the key to your success will be communicating the "user experience", ensuring everyone's concerns are fully and adequately addressed. Find the wins for everyone.
Make the Right Case to the Right People
While the case for Kubernetes may be iron clad from your perspective, to the rest of the organization, it represents change. And for any company, change is expensive and disruptive.
To mitigate this concern, you should identify all of the ways Kubernetes can and will positively impact each group. You should also identify any potential concerns and address those with your proposal.
Identifying key decision makers in each group will help you a lot. Discuss your proposal with them beforehand. Get them familiar with Kubernetes. Discuss the benefits and potential concerns. If you win these people over, they become a champion of your proposal and can significantly help to get other people on board.
Remember that different parts of the organization will care about different things. Continuous deployment to a developer means faster deployments, whereas to an executive it might mean go-to-market agility. Different words, same awesome outcome.
Understanding how different tiers of the organization will conceptualize your proposal and the associated costs and benefits is crucial.
Here's one way to think about it:
Here we can see that each tier is concerned with their own specific thing.
Your proposal should directly address the concerns of each tier and each group, explaining why Kubernetes will be a net benefit.
For example, your executives will want to know how your proposal impacts strategy.
This is an easy sell. Kubernetes allows for the rapid delivery of applications, especially when paired with Deis Workflow. While other companies are waiting for their monthly software release cycle, you've already deployed and adapted your software to meet customer demand.
This is just one example. Your arguments should be as specific and as targeted as possible. This is where it will help working with domain experts and key individuals as you prepare your proposal.
Bring in Expertise
Sometimes it's helpful to get outside expertise to help make your case.
That's one of the things the Deis Pro Services team can help with. We help companies of all sizes select and implement Kubernetes. We also provide expertise on the organizational challenges. We've seen and done it all, and we can prepare you for it.
While a Pro Services engagement is the most expedient way to do it, you can also do things like hosting a Kubernetes meetup at your company. This not only raises awareness in your organization, it also helps the community at large.
You, as an individual, can also become active in Kubernetes Special Interest Groups where you'll meet lots of passionate people who can give you pointers.
And if your company has knowledge-sharing events like "brown bag" lunches, take advantage of that to bring in someone from the community, or perhaps demo your own project.
Kubernetes is enjoyable to work with and you can use this to your advantage.
If you want to take this approach, it's best to not dump a technical proposal on people's desks and expect them to read it.
Instead, you can stand up a working, production-like Kubernetes cluster with Deis Workflow, Helm, and a few dashboards. Then, share just enough information with the engineering team to get them interested.
If you're lucky, a few of them will toy around with it just for fun. This leads to better questions and a stronger sense of personal investment.
If you get people tinkering with Kubernetes in their spare time, you are well on your way to victory.
One thing I tell a lot of people is: don't mistake inertia for resistance.
If someone is not on board with your idea, it doesn't necessarily mean they are against it. It may simply indicate they don't have the bandwidth to take on something new. In theory, they may be completely aligned with you.
While this feels like defeat, it's not. It just means you need to work harder on convincing them how much time and effort they will save in the long run. At some point, the perceived benefits of the change will start to counteract the inertia.
Also, sometimes you have to make tiny, incremental changes before larger ones are possible.
How can you improve the testing or deployment process with Kubernetes? Could you use it to create ephemeral testing environments? Are there some quick-win containerization opportunities? What about creating a Kubernetes-based rapid prototyping environment for hackathon projects?
Introducing Kubernetes to your organization requires planning.
As you plan, remember these key points:
- The Kubernetes user experience is more than just
kubectl. It encompases how every person interacts with Kubernetes, broadly, as a component of your business, over the lifetime of its use.
- Infrastructure changes require more alignment across a company than any other kind of technology change. In some cases, a move to Kubernetes is also a move to the cloud. Don't underestimate how big this is.
- You must explain the benefits of Kubernetes to each group of people in a way that targets their individual needs. This means properly understanding how Kubernetes fits into your organization. Working with specific individuals in each group as you prepare your proposal will help you a lot.
- Be transparent and open. The more people who get experience with Kubernetes before decisions have to be made, the easier things will be.
This is only a brief introduction to the challenges you might face introducing Kubernetes to an organization, but I hope it is helpful and that you succeed. It's very likely that Kubernetes has a lot to offer your whole organization.
Don't give up! You've got this.
And don't forget, the Deis Pro Services team can help with any aspect, from tailored advice, to full hands-on involvement with your organization.