Kubernetes: 4 ways to save IT budget with automation
Most CIOs and IT leaders are well-familiar with the recurring mandate “do more with less.” It’s a reality in many organizations, one that tends to ebb and flow with a variety of other factors, such as macroeconomic conditions.
Sometimes, “do more with less” might be more accurately phrased “do more with the same” – as in the same budget, the same number of people, and so forth. This proves especially common in more challenging times. Suffice it to say, “more challenging times” understates the current moment brought on by the COVID-19 pandemic.
While such a mandate applies widely, IT often feels a particular type of pressure here: How can we use technology to fulfill on the “do more” promise, without breaking the bank? (IT veterans are also likely familiar with the more presumptuous version of this question, which frames it more as a statement: “We can just use technology for that, right? Let’s get IT on it.”)
We’re witnessing a new wave of the “do more with the same or less” right now. Many organizations are accelerating digital transformation initiatives, for example, not mothballing them. But they’re not necessarily getting tons of extra resources to do so, so they’re again asking: “How can technology help?”
Automation is one major priority for some IT leaders, including in areas like CI/CD pipelines and robotic process automation (RPA). With that in mind, we’re looking at a key enterprise IT topic – Kubernetes – in this light. Can it help you save money and/or balance your budget? The “TLDR” answer: Under the right conditions, yes. Most experts agree there are some up-front costs, including in the form of learning and navigating some of the platform’s more complex features. But once you’re up and running, there are various budget-friendly benefits with container orchestration.
[ Kubernetes 101: An introduction to containers, Kubernetes, and OpenShift: Watch the on-demand Kubernetes 101 webinar.]
“Kubernetes can definitely save budget,” says Niraj Tolia, CEO at Kasten. “We have discovered groups self-funding new initiatives from the savings obtained from moving VM-based deployments to Kubernetes.”
Kubernetes can give IT teams time back
The name of the game here is (again) automation: It underpins many of the potential ways in which organizations can achieve budget goals by using Kubernetes to manage containerized applications and the infrastructure they run on.
“Kubernetes provides a platform for efficiently managing and scaling applications in a dynamic and fully automated way,” says Wei Lien Dang, co-founder and chief strategy officer at StackRox. “This saves costs, not just in terms of greater resource optimization, but also time, allowing development, operations, and security to do more with their time rather than managing infrastructure.”
When people refer to Kubernetes as an orchestration platform, that’s partly a way of saying: “It automates lots of things.” (Check out this primer “What is orchestration?” for more on the nuances between the separate-but-related concepts of automation and orchestration.)
Gordon Haff, Technology Evangelist with Red Hat adds that “Automation often gets talked about in terms of increased efficiency – taking less time to do a set of tasks. But that’s really just part of it. It also can lead to more repeatability and consistency. 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.” As any IT veteran knows, messes and surprises cost – in multiple ways.
4 ways Kubernetes automation can lead to budget savings
With that in mind, let’s look at four overlapping examples of areas where Kubernetes can lead to budget savings over time.
1. More efficient infrastructure management
“Scale” and “scalability” are oft-used (or overused, depending on your perspective) terms when discussing containers. There’s a reason for that: The very nature of containers (and especially containerized microservices) means that an enterprise can suddenly be running hundreds or thousands or – well, you get the idea – daily in production. At first blush, that might sound like a hiring spree – not to mention the potential for new infrastructure – will be necessary to make it all work. Kubernetes can help address both issues.
“Focusing on the infrastructure side of the budget, pooling resources together in Kubernetes clusters is a way to increase density and utilization across machines,” says Ravi Lachhman, evangelist at Harness.
We’ll touch on resource utilization – and its optimization – in a moment. But first, let’s consider the reality that you need people to keep the machines operating smoothly. With Kubernetes, Lachhman sees a shift from traditional infrastructure engineering to a platform engineering approach – which reflects that a relatively small team may be able to manage a seemingly limitless infrastructure with containerization and orchestration.
“The infrastructure engineering burden – how many servers or VMs that an engineer can manage – will increase dramatically with containers,” Lachhman says. “Instead of managing hundreds of VMs, an engineer can potentially manage thousands, if not ten-thousands of containers.”
Kubernetes is the tool that enables that engineer to do so efficiently, whereas previously this may have been a classic “we need to throw more people at this” problem. (In fact, some of the skepticism around the term “scalability” in IT contexts is that it too often has meant relentlessly overworking teams or requiring a constant stream of new hires – not exactly a budget-friendly strategy – to keep things up and running.)
[ Read also: OpenShift and Kubernetes: What’s the difference? ]
2. Improved resource utilization
When it comes to IT budgets specifically, one of the most common sources of wasted spending comes from inefficient resource utilization. If you ignore resource utilization, you’re almost inevitably going to be spending money on stuff that goes unused.
“Containerization typically allows for more efficient resource utilization since many different types of workloads can spin up faster and run on a single machine using a shared operating system,” says Dang from StackRox.
That’s the first in a trifecta of potential financial savings from using Kubernetes, according to Dang, particularly as hybrid cloud and/or multi-cloud environments grow. The next two:
“Kubernetes [also] enables granular control over resource sharing by allowing resource requests and limits to be set,” Dang says. “[Finally], Kubernetes is also a driver for greater cloud adoption, which can allow organizations to achieve more efficient usage of compute resources and therefore, budget optimization.”
Lachhman notes that Kubernetes and containerization in general offer greater “density, uniformity, and agility” – all of which create opportunities for more optimal resource utilization – which typically means reduced costs.
“There is no argument that containers can have a greater density than virtual machines for workloads,” Lachhman says. “Kubernetes as a resource manager can help place workloads on available capacity inside of the Kubernetes cluster, driving up utilization.”
Let’s look at two more ways Kubernetes can help save IT budget:
3. Increased developer productivity
While Kubernetes is commonly associated with helping relatively small operations or SRE teams manage large-scale containers and infrastructure, another key constituency – your developers – will also see gains.
“IT organizations will see the most return on their Kubernetes investment via increased developer productivity, driven by a common declarative approach to configuration management for application provisioning and deployment,” says Kevin Crawley, developer advocate at Containous.
[ Related read: Kubernetes deployments: 6 security best practices. ]
“Increased developer productivity” is usually sweet music to executive management’s ears, but Crawley notes it’s not automatic. You need the right conditions in place. In particular, Crawley says that teams that have already adopted DevOps (or DevSecOps), as well as practices such as the 12-factor methodology for building microservices, will be the ones that really reap the productivity benefits. (“Productivity benefits” stands in here as a reasonable proxy for “budget savings.”)
“Development teams who are still contending with legacy processes – such as bureaucratic change management policies, applications that are implicitly tied to the configuration of their infrastructure, and large silos that have not practiced ‘move fast and break things’ – will have to trudge through the J-curve of transformation before seeing any benefit from the cloud-native ecosystem,” Crawley says, adding that this can be an expensive proposition.
DevOps teams, on the other hand, are well-positioned to find immediate savings – whether in real financial costs or in other forms – with Kubernetes.
“Development teams who’ve embraced DevOps practices should expect to see productivity gains [with Kubernetes] almost immediately,” Crawley says.
[ Read also: 5 open source projects that make Kubernetes even better. ]
4. Increased operations team productivity
Kubernetes’ aforementioned reputation as a powerful lever for operations and/or SRE teams is well-earned and is another source of potential savings over time. The tool (in concert with other cloud-native or cloud-centric technologies) essentially allows Ops pros to achieve extraordinary feats of operational strength (without the anticipated muscle pulls or other “injuries”) through automation, repeatability, and the like.
“Apart from infrastructure cost benefits, the adoption of Kubernetes helps scale operations teams,” says Tolia, the Kasten CEO. “The adoption of Infrastructure as Code (IaC) with Kubernetes will result in fewer ‘snowflake’ deployments and more reliable deployment patterns. 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.”
[ Get the free eBook: O’Reilly: Kubernetes Operators: Automating the Container Orchestration Platform. ]