Starting January 2024, AWS is banning the resale of its discounted EC2 Reserved Instances on the Reserved Instance Marketplace. If you don’t use your capacity up, you can’t get your money back.
If this has been one of your cloud cost optimization methods, it’s time to look for alternatives, and for most Kubernetes users, automation is about as good as it gets.
The appeal of AWS EC2 Reserved Instances is easy to understand. They promise savings of up to 75% compared to on-demand pricing. However, that benefit comes with a clause: Every hour your instance goes unused is an hour lost, and you’ve already paid for it.
We shared our concerns about capacity commitments like AWS Reserved Instances several times. With the recent change, they become even riskier.
What’s changing in AWS EC2 Reserved Instances?
In the email sent to its customers, Amazon announced that starting January 15, 2024, it will ban the resale of discounted RIs acquired on the EC2 Reserved Instance Marketplace. Customers can resell their RIs only if they obtained them before October 1, 2023.
This update means that AWS Reserved Instances are now at a 100% consumption lock-in, making them a risky choice, especially for workloads with changing demand.
This change will likely prompt many customers to switch to AWS Savings Plans, but Kubernetes users should use this as an opportunity to look into automation.
K8s automation saves you more money and, most importantly, it solves the root cause of your soaring cloud bills: poor resource utilization.
Why K8s automation beats AWS EC2 Reserved Instances
Reserving the instances you use in advance to secure lower prices seems like a smart move. After all, you’ll keep on using these resources, right?
But if you use AWS Reserved Instances, you must predict how much capacity you’ll need. And even if you get that right, you’re still in charge of optimizing the infrastructure.
It all adds up to a daunting endeavor:
- Accurately predicting future capacity;
- Determining the right instance type to commit to;
- Adjusting your selection when the app’s demands change.
EC2 RIs undermine your flexibility by tying you to specific resources or usage levels, potentially impacting your ability to configure multi-region/zone distribution.
That’s where Kubernetes automation has the upper hand. Analyzing your workload’s needs in real time, it can match resources to demand.
A platform like CAST AI can select optimal instance types and sizes for your application’s needs while lowering costs. While fishing in a much larger pond than an engineer has time to explore, it also brings you every instance option AWS has – new, old, spot or on-demand.
Once an instance stops being optimal, the platform replaces it with better resources to boost your performance and cost-efficiency.
More reasons to choose K8s automation over capacity commitments
Improved flexibility, scalability, and ease of provisioning only open the list of advantages K8s automation has over AWS EC2 Reserved Instances.
A few more areas in which K8s automation excels include:
1. Workload and node rightsizing
In Kubernetes, rightsizing refers to two different aspects:
- Instance rightsizing – ensuring that your workloads have enough capacity to run.
- Workload rightsizing – setting your workloads to request the right amount of resources and run smoothly.
Both can be time-consuming and costly. CAST AI automates them in a fast track to optimized resource allocation, performance, and scalability, quickly translating into savings.
By reducing manual tasks, you save time and ensure precise alignment of your cloud setup with actual needs. Plus, Kubernetes automation spares human error, which could compromise your security posture and compliance.
2. Automated instance type selection
Picking the right instance type for the job is challenging. With over 500 EC2 instance types, the pool is ever-growing, making it impossible for a human engineer to keep up with all the options.
Yet, a careful instance selection is worthwhile as compute is a significant part of your K8s bill. By optimizing it, you can open the doors to dramatic cloud cost reductions.
You could try to identify your app’s minimum size requirements and browse for instances that meet them across dimensions like CPU Count, CPU Architecture, Memory, SSD Storage, and Network.
Or save that time with a specialized instance selection algorithm that can cherry-pick the most cost-effective EC2 instance types for your app’s current requirements. The choice is yours!
3. Automated bin packing
K8s scheduling decisions are fast but may leave much to be desired regarding costs. Bin packing can tackle the issue of inefficient distribution of pods by compacting pods into fewer nodes and removing nodes that become empty.
To avoid downtime, bin packing should only consider applications with multiple replicas and let you set the preferred cluster size, the time after nodes get automatically drained, or the CPU limit.
Kubernetes comes with several autoscaling algorithms guaranteeing adequate capacity without overprovisioning. But as helpful as they sound, native K8s autoscaling methods can be challenging and time-consuming to configure.
That’s why teams now use modern autoscalers to eliminate many manual tasks, reduce waste, and generate significant savings.
A popular choice for EC2 is AWS Karpenter, which can simplify provisioning different instance types. However, it lacks cost visibility and monitoring features included in K8s automation platforms like CAST AI.
5. Spot instance automation
Spot Instances let you purchase underutilized AWS capacity, promising rates 90% cheaper than on-demand. While research shows that the era of cheap compute is over, powered by historical data analysis, K8s automation can still find affordable options.
Of course, this cloud cost optimization isn’t for every workload. It works best for workloads that can withstand potential interruptions, as the provider can reclaim this capacity anytime on short notice.
To make the most of spot instances and keep peace of mind, you need a solution that automatically provisions and manages them. Ideally, it should also fall back to on-demand instances in case of the so-called spot droughts (PSST, CAST AI ticks all these boxes!)
6. Scheduled node optimization (AKA rebalancing)
Ensuring that your workloads run on the most optimal nodes is essential for more efficient resource utilization, performance, and savings.
In CAST AI, we automate the process of node optimization and call it rebalancing. Many of our clients love how they can use it to optimize their clusters effortlessly:
We use rebalancing extensively. That way, our infrastructure stays optimized, thanks to the right configurations and choice of the right machine types, saving us considerable resources.Jenson C S, Senior Engineering Manager at ShareChat
Moreover, CAST AI lets you create node optimization schedules, which start automatically when the particular requirements are met. For example, you can replace nodes every few hours or update them automatically after each K8s control plane upgrade.
See what K8s automation can do for you
The ban on reselling AWS EC2 Reserved Instances means this cloud cost optimization method is becoming too risky for everything but workloads with a steady demand.
Even if you still have an ongoing RI contract, it’s time to look for alternatives. Let K8s automation take some infrastructure issues off your shoulders and see your cloud bills shrink.
CAST AI is a fully automated Kubernetes management platform that saves users on average 60%, without any capacity commitments. Book a technical demo or sign up to see it in action.