The use of Kubernetes shows no signals of slowing down in 2023. As more teams switch to containers, they soon realize how K8s complexity puts a spanner in the works. But is Kubernetes automation always the best solution to this issue?
70% of IT leaders surveyed by Red Hat in 20221 said their organizations use Kubernetes. Almost a third shared plans to increase the use of containers significantly in the next 12 months.
As enterprises start using Kubernetes at an unprecedented scale, they face even more networking, security, and cost challenges. Yet, although Kubernetes automation can be a viable solution to many of these issues, not all teams may be able to benefit from it immediately.
Read on to discover the telltale signs of your readiness for automating Kubernetes cluster deployment.
K8s: great benefits at the price of complexity
Cloud-native is clearly transforming the way businesses operate. 91% of State of Kubernetes 2023 respondents2 agreed that K8s had benefited their entire organization, not just IT.
Increased developer productivity appeared among its most important benefits, contributing to a faster path to production and reduced time to market.
But while positively impacting your bottom line, Kubernetes also adds to the overall IT infrastructure complexity.
Enabling you to manage apps across distributed environments, Kubernetes asks for a deep understanding of its architecture and concepts. So when things go awry, it may be challenging to identify and fix the root cause.
And since K8s is evolving fast, staying up-to-date with its frequent releases and updates can also be a tall order. Inadequate experience and expertise topped the list of challenges in the study mentioned above.
Quite understandably, this lack of skills can lead to overprovisioning and inflate your cloud bill. According to our research, 37% of CPUs for cloud-native apps end up never being used.
Poor adoption of Kubernetes practices might lead to degraded high availability – and that’s another reason to explore automation.
When Kubernetes automation is NOT the best idea
Kubernetes automation promises to tackle cloud waste fast, so it’s no surprise that it draws the attention of many teams. But as our experience shows, it isn’t applicable in every setup.
CAST AI’s potential to cut your cloud bill by 60% is such a mouth-watering prospect that we sometimes get contacted by teams not yet even using Kubernetes. They aren’t ready for automation no matter how serious they are about decreasing their EC2 costs.
We also talk to teams that are relatively new to container technology. Sometimes they have just built their first cluster and maybe run a couple of apps.
Adopting automation tooling can help you address some of the most critical aspects while making many worries go away, like capacity management, lifecycle, etc.
While adding CAST AI early on radically reduces the pain of K8s adoption, it’s only worth it, if you expect hosting costs to eventually go into the 4-digit zone (dollars).
From our perspective, it’s on that scale that you can best feel the relief (and savings) stemming from automating Kubernetes cluster deployments. But there are also a few more telltale signs that it’s time to give it a go.
So is your team ready for Kubernetes automation?
Here are the seven common issues showing that you should consider automating your cluster deployments.
1. Picking instances across regions is a never-ending nightmare
You can pick from many instances in numerous availability zones – only AWS boasts over 500 different types available across 99 AZs. Numerous factors like the choice of the processor, networking, OS, and many others offer an optimal match for your workload’s needs.
The availability of burstable performance instances can further complicate the issue.
Some instance types aren’t available in different regions or Availability Zones. This can be especially problematic for companies running clusters in many regions.
Adding to the limited capacity of these types in each AZ, there’s the issue of Service Quota in AWS.
If you want to use those types, you may need to raise your quota – which means sending a request and waiting a few days for a response. Or you could let automation pick the right instances for you – the choice is yours!
2. Spot interruptions and shortages stop you from saving big
Spot instances, also called spot VMs, can bring you up to 90% savings compared to on-demand rates.
However, your cloud service provider can withdraw them anytime, with an interruption notice as short as 2 minutes (AWS) or 30 seconds (GCP and Azure).
In AWS, spot instance availability and prices change a few times daily. As a result, prolonged spot drought may occur when the required instance types are unavailable. It’s not practical to handle such drifts manually or even script your own mechanism.
Stories of teams like OpenX prove that it’s possible to run almost 100% of compute at scale on spot VMs and that each region can have its own price structure. Kubernetes automation is the secret sauce.
The significant reduction of spot instance risks is possible thanks to spot handlers and interruption predictions. You can further decrease the interruption odds with approaches like Spot Diversity and partial spot distribution, i.e., avoid placing all replicas of one app on spot instances.
3. Upgrading the node lifecycle just takes too much effort
Keeping your K8s cluster up to date is essential for ensuring peak performance and security.
But who has ever tried that themselves knows it’s not a walk in the park. Thousands of commits and hundreds of releases make Kubernetes look not like one platform but a collection of multiple components.
Automating your cluster deployment means you only perform a risk-free control plane upgrade while the engine handles node upgrades.
Furthermore, using an automation platform like CAST AI can also reduce the need to manage nodes inside IaC. With all cluster capacity configuration coming in the Terraform provider, you don’t have to specify families or node numbers.
This also means less brittle IaC as your capacity becomes dynamic.
4. Rigid node pools are a pain in the @&&!
A node pool is a set of nodes sharing the same configuration. It lets you dynamically adjust the number of instances in the group to address changing conditions and give your workloads just enough resources to run smoothly.
While in theory static node pools should make your life easier, they can be problematic. Not only can they sabotage your cost optimization efforts, but also still rely on DevOps to implement the application owner’s requirements.
This process can be tedious and time-consuming, so automation solutions support you with flexible Node Templates.
With Node Templates in place, DevOps no longer needs to use workload requirements to pick more suitable VMs for the application’s needs. Instead, the app owner can specify their requirements, e.g., to execute a Spark Job with storage-optimized or compute-optimized VMs, and the engine will complete the task for them.
This removes the K8s cluster owner from the equation to save time and hassle.
5. K8s cluster cost management gets too messy
Apart from tedious upgrades and provisioning, the complexity of Kubernetes also often results in difficulty tracking and optimizing costs.
It can be an ordeal for app owners who need a transparent cost overview to be able to justify the spend to budget owners. Traditionally, it forces isolating applications by the use of cloud tags for VMs, creating numerous resource silos, and buying visibility with cost efficiency. Initiatives supposed to save money sometimes end up costing more.
A robust cost monitoring solution that can attribute actual resource usage cost to the user without creating resource segregations is necessary for Kubernetes deployments. The goal here is to be able to group expenses by labels such as a team name, cost center, feature, etc., without sacrificing efficiency – that’s the benefit of a shared platform.
But Kubernetes automation also solves a larger problem.
Cloud computing promised that application owners could work directly with automated infrastructure like intimate couples without a chaperone. Without Kubernetes automation, the DevOps specialist is always in the middle.
In fact, today’s DevOps can sometimes feel like nosy in-laws meddling in the couple’s affairs and insisting on doing things in a specific way. Kubernetes automation with CAST AI is like buying your in-laws a one-way ticket to Hawaii, so everyone’s happy – and your K8s costs also go down.
6. Sizing applications is a guessing game
Applications are constantly changing, and with new features and user behavior, their performance profile is a moving target. Ensuring that they always have enough resources can be a stab in the dark – to the great detriment of your expenses.
Also, application developers often have low interest in adjusting resources, as it might lead to on-call work during the night to bump them up.
Our research suggests that by optimizing clusters and removing unnecessary compute resources, you can free the server load by 37%. When you add pricing arbitrage, the impact of rightsizing and a cost-effective selection of VMs amounts to 46% in dollar terms. If you also add spot instances to the mix, you can expect to cut your cloud spend by 60% or more.
With Kubernetes automation like CAST AI, you can safely break the cycle of a guessing game and overprovisioning. Equipped with precise recommendations on CPU and Memory requests, you can improve and track your workload efficiency.
7. Container security keeps you up at night
The complexity of Kubernetes configuration fuels security worries. With so many moving parts to handle, it’s easy to imagine you can increase your cluster’s vulnerability by accident.
In turn, security-related concerns hinder business outcomes. For example, 67% of Red Hat State of Kubernetes Security3 respondents said that worries about K8s security delayed or slowed down their app deployment.
If Kubernetes configuration security has also kept you up at night, with CAST AI’s automated checks, you’ll finally get some z’s. The platform automatically scans your cluster config for vulnerabilities and provides you with a list of priorities and available fixes.
Over to you
Container technology has taken the cloud world by storm and is here to stay. Despite its complexity, Kubernetes delivers many tangible benefits, especially to the teams ready to automate their cluster deployments.
If you experience one or more of the telltale signs described above, it may be time for automation.
Book a technical demo with our engineer
And see if CAST AI can be the right match for your cluster deployment.
 – Red Hat, The State of Enterprise Open Source 2022
 – The State of Kubernetes 2023
 – Red Hat, The State of Kubernetes Security in 2023
Leave a reply