Use AWS T3 Instances to Cut Down On Your EC2 Cost
Amazon AWS is a significant expense for many software companies. While there are many ways to save money, developers aren’t typically cost-aware and stick with the most common services. Team leaders should periodically review these choices to find opportunities to save.
AWS T3 instances in EC2 are a great example of an opportunity to save money on certain services. Rather than paying a fixed amount for EC2’s always-on CPU usage, T3 instances enable you to only pay for the CPU usage that you need in applications that don’t require a constant level of performance.
Let’s take a look at how you can use T3 instances to lower your costs and the best use cases.
AWS T3 Instances Summary
AWS EC2 T3 instances are low-cost burstable general instances that provide a baseline level of CPU performance with the ability to burst CPU usage at any time. They are perfect for applications with moderate (or even no) CPU usage that experience temporary spikes in use.
There are two different types of T3 instances:
- T3 instances have Intel Xeon Platinum 8000 series processors with a sustainable all-core turbo CPU clock speed of up to 3.1 GHz. They are 10% cheaper than the older T2 instances and offer up to a 30% better price to performance ratio.
- T3a instances have AMD EPYC 7000 series processors with an all-core turbo CPU clock speed of up to 2.5 GHz. T3a instances offer an additional 10% cost savings over T3 instances.
The pricing of AWS T3 instances is simple: Rather than paying a fixed amount for always-on EC2 processing power, T3 instances generate credits when the CPU runs below a baseline that you can use when bursting above the baseline. Any unused credits carry over into future billing periods.
T3 instances are “unlimited” by default, which means that you will generate surplus credit charges if you spend more credits than you generate. You can avoid these charges by switching to the “standard” mode or using tools like CloudForecast to spot excess charges early-on and address any problems.
When to Use AWS T3 Instances
There are many different workloads that fit the burstable pattern.
The most common use case is when you don’t need full power all the time. For example, at CloudForecast, we consume a lot of CPU power generating client reports, but these tasks only run occasionally, which means that we can use T3 instances to dramatically cut down on costs compared to EC2 instances.
Another common use case is when you don’t need any compute power at certain times. For example, you may use virtual desktops during the work week, but you don’t need any compute power during the weekends when employees are gone.
Download our Checklist of AWS Cost Optimizations to identify other areas where you could save money on your AWS bill every month.
Some of the most common use cases include:
- Virtual Desktops: Most virtual desktops are only used during business hours, so it doesn’t make sense to pay for processing power during nights and weekends. The same is true for internal business applications.
- CI or Build Servers: Most continuous integration and build servers only periodically require processing power to build an application, so it doesn’t make sense to pay for always-on processing power during the downtime.
- Development & Testing: Development or test environments may only run periodically or during business hours, so it doesn’t make sense to pay for them 24/7. You can also use T3 instances for code repositories.
- Small- to Mid-sized Databases: Some databases fit the burstable pattern, which is why the RDS service supports some members of the T family. Of course, it’s important to consider these on a case by case basis.
You can even use AWS T3 instances to roll your own AWS services that have unnecessarily large default capacities. For instance, NAT Gateways and Redis nodes support bursts of up to 10 Gbps by default. You could spin up a free T3 Micro with a NAT AMI to eliminate or mitigate these costs if you don’t need that much.
How to Decide on AWS T3 Instances
The decision to use T3 instances ultimately depends on the balance between earning credits at a constant rate and consuming credits at a rate proportional to CPU utilization. You realize cost benefits when you spend credits at a slower rate than you’re earning them.
Amazon T3 Instance Costs Table - Source: Amazon AWS
The most important metric to watch is the average CPU utilization overall CPU cores over 24 hours. When your CPU utilization is equal to your earning rate, that’s the baseline percentage where you break even. You are saving money when your instance’s average CPU utilization is below the baseline.
In addition to determining if you should use T3 instances, you should ensure that you’re using the right instance size. The decision to switch to a larger instance depends on how much you exceed the baseline. You can calculate the optimal choice using your average CPU utilization and working backward.
There is also a point where you might be better off with a fixed instance, like M5, rather than a T3 instance. While M5 instances are more expensive on the surface, there’s a baseline where you could save money by switching over. You should take the time to make these calculations to optimize costs.
You can measure a lot of these variables using AWS CloudWatch Metrics. For instance, CPUUtilization will tell you the CPU utilization for a given instance and CPUCreditUsage can show you the number of CPU credits spent by each instance.
The Bottom Line
AWS T3 instances are a great way to lower your costs for processes that involve periodic bursts of CPU usage. When using them, it’s equally important to ensure that you’re using the right size of instance and to know when you should consider transitioning back to a fixed instance.
The best way to get started with T3 instances is to audit your existing EC2 instances and identify areas where you may not need constant CPU performance. The lowest hanging fruit is usually continuous integration (CI), test and development environments, and virtual desktops.
CloudForecast can help you keep an eye on T3 instance costs to ensure that you’re not generating excessive credit surplus charges. You can also quantify your overall cost trends and ensure that you’re headed in the right direction after making a switch to T3 instances for some use cases.