Can Kubernetes be an IT budget hero?
At a time when the “do more with less” pressure – or its sibling demand, “do more with the same” – is increasing in many organizations, IT teams are looking for technology platforms that can help.
Can Kubernetes be one of those tools?
The short answer: Yes. As we explored recently, Kubernetes’ automation capabilities can help teams optimize their budgets via gains in areas like resource utilization. There are some prerequisites of sorts: Teams with a mature DevOps culture that have already embraced modern software tools and practices are most likely to reap the benefits, according to Kevin Crawley, developer advocate at Containous. Teams still mired in legacy processes and cultures, on the other hand, might be harder-pressed to benefit from Kubernetes, especially right off the bat.
“Kubernetes will relieve high-performance teams from many of the management and operational tasks associated with less-orchestrated platforms,” Crawley says.
Kubernetes automation: Not just about doing work faster
That in and of itself is a quantifiable form of savings – less time spent on repetitive operational toil, more time spent doing something else. (And it shouldn’t too difficult to translate that high-performing team’s time into financial terms.)
Teams still catching up to the cloud era can benefit, but they have some additional work to do. “Not only is there a learning curve for developing applications that will operate effectively in a cloud-native ecosystem, but there is also a culture change that needs to happen in tandem,” Crawley says.
[ Kubernetes 101: An introduction to containers, Kubernetes, and OpenShift: Watch the on-demand Kubernetes 101 webinar.]
Let’s get back to those high-performing teams: Suppose you’re already working in a DevOps (or similar) shop, running containerized applications in production, and have built (or started building) a highly automated CI/CD pipeline, for example. This post will explore in more depth the “people” part of how and why Kubernetes can help teams like yours keep your budget healthy.
As Red Hat technology evangelist Gordon Haff says, increased efficiency (including in areas like resource utilization) is only part of the automation story. “It also can lead to more repeatability and consistency,” Haff says. “So fewer middle-of-the-night pager calls. Less downtime. Happier users and customers. Automation isn’t just about doing things faster. It also forces you to have documented processes if you didn’t have them before.”
How can Kubernetes save money? 4 examples
Those are fundamentally people-oriented benefits, which is a big part of the potential budget savings when using Kubernetes to manage applications and infrastructure. Let’s look at four other people-centric examples.
1. Creating a shared language across teams
In the earlier days of DevOps, there was much attention paid to the necessity of breaking down traditional silos that separated different IT functions (the most obvious being in the name itself: the wall, sometimes literal, sitting between development and operations teams). Kubernetes is a platform that can help make that concept a reality for people.
“Kubernetes allows for software engineers and infrastructure engineers to speak very similar languages,” explains Ravi Lachhman, evangelist at Harness.
Lachhman adds that Kubernetes as a tool can help usher in a further shift away from machine-centric compute – physical or virtual machines provisioned ahead of time – to “on-demand cloud-native [compute] where infrastructure is right-sized from a shared pool or cluster.”
This is represented in the shared, declarative language Kubernetes offers: You describe how you want your system to behave, and Kubernetes makes it happen. While that makes Kubernetes sound a little too simple – there’s a learning curve – there’s truth in that.
“From a uniformity standpoint, describing a workload in Kubernetes allows for infrastructure, operations, and development teams to have a common description on tasks, deployments, resources, etc., that the application needs,” Lachhman says. “Reducing the catalog of infrastructure that needs supporting and allowing for greater agility for deployments or changes will reduce the burden on teams. Lengthy infrastructure provisioning, which includes testing and maintenance of the infrastructure, will be reduced to managing a set of Kubernetes clusters.”
[ Read also: 5 open source projects that make Kubernetes even better. ]
2. Talent development and allocation
There’s typically a cost – whether financial, a learning curve, or otherwise – to getting started with Kubernetes, but once you clear that initial hurdle, the orchestration platform can begin to pay dividends in terms of development and best allocating the talent on your team.
“Adopting Kubernetes will often incur upfront costs, but once in place, can operate without significant oversight,” Crawley says. “Once your engineers become knowledgeable on Kubernetes administration, they can be tasked with product development and/or finding other ways to increase developer productivity.”
Gou Rao, CTO and co-founder at Portworx, shares a specific example: Kubernetes might reduce the need for multiple database engineers across your application portfolio, and allow their skills to be redeployed to other high-value needs.
“Kubernetes supports the automatic operation of stateful applications, thereby eliminating the need to train development and operations teams in each type of data store they deploy,” Rao says. “For example, 10 database operations staff members might be needed to manage 10 different types of data stores in a company. With Kubernetes-based automation, those employees can be reallocated to different parts of the company.”
[ Read also: OpenShift and Kubernetes: What’s the difference? ]
How that might translate to financial savings will depend on a variety of organization-specific factors, including, of course, your compensation plans. But that kind of reallocation might save seven figures in training and salary costs, according to Rao.
Let’s examine two more types of savings:
3. People can literally do more – without burning out
Different versions of the “do more with the same or fewer resources” mandate are often borne of necessity, but they’re rarely sustainable forever. If you always operate with that mindset, teams and people wear down and risk burnout and/or seek greener pastures elsewhere. Those issues create different kinds of budget problems, including higher turnover.
Kubernetes is the kind of tool that actually enables people to “do more” without saddling their daily routines with tons of painful, manual effort. This is particularly important in any organization where “scale” and similar terms are part of the vocabulary; it’s also important in hybrid cloud and/or multi-cloud settings.
“The adoption of Infrastructure as Code (IaC) with Kubernetes will result in fewer ‘snowflake’ deployments and more reliable deployment patterns,” Niraj Tolia, CEO at Kasten, told us recently. “This will make it easier for a smaller number of people to manage a larger number of servers, applications, and clusters spread across multiple data centers and clouds.”
There’s a multiplier effect with containers and Kubernetes, Lachhman notes: An engineer can go from managing hundreds of VMs to thousands – or even tens of thousands – of containers with Kubernetes’ orchestration capabilities.
4. Fewer moving parts equals budget predictability
All of the above benefits IT execs, of course, but Lachhman notes a long-term benefit of Kubernetes specifically for leadership teams, especially when it comes to fiscal planning.
“The catalog of items that IT leaders need to manage will also decrease,” Lachhman says. “If an item runs on Kubernetes, [the need for] specialized hardware or software will decrease. Because of the density, agility, and generic sense of Kubernetes, there will be less moving parts and this allows IT leaders to predict and balance budgets easier.”
[ Get the free eBook: O’Reilly: Kubernetes Operators: Automating the Container Orchestration Platform. ]