Rightsizing Recommendations
Learn some rightsizing best practices and tips to keep your costs under control.
Choose the best options
AWS offers a broad variety of instances for EC2 and RDS, and smart organizations will be sure to match their workloads with the best instance type for the job. However, this might be more of a challenge than it seems, because we've been conditioned—and in some cases incentivized—to intentionally oversize our hardware and landscape for so long.
On one hand, we want to be sure that our instances are being fully used. On the other hand, we do not want our applications and services to fail or crash because they are under-resourced. This will likely require some analysis and comparison of the different options and their pricing.
Considering time is money when resources are priced by the hour, it might make more sense to use a more powerful instance that can power through a job in 15 minutes versus 60 minutes on a less powerful instance. However, that more powerful instance might incur more cost in those 15 minutes than a smaller instance in 60 minutes. Of course, if the service-level agreement we’re trying to meet is 20 minutes or less, that would also impact our decision.
In most cases, the value will be greatest when we pick an instance that best fits the use case. Here are some instance categories and their typical use cases:
EC2 Instance Categories
Instance Category | Specialization | Typical Use Case | Example Instance Type |
General Purpose | General applications requiring a balance of compute and memory capable of sustained load | Web farm, workflow engines, code repositories | M6g, M6in, M5 |
Burstable | General use with occasional need for high CPU | Light use websites, e-commerce, desktop-as-a-service | T3, T3a, T4g |
Compute Optimized | Higher vCPU counts | Batch processing, ETL, high-performance websites | C7gn, C6i, C5 |
Memory Optimized | Higher amounts of memory | In-memory databases, intensive analytics processes | R7iz, R6g, X2idn |
Storage Optimized | Increased network and disk throughput capabilities | File servers, data warehouses, log processing | Im4gn, I4i, D3 |
Accelerated Computing | Includes specialized GPU and FPGA hardware | Machine learning, high-performance graphics, computer vision | G5, G4dn, P4 |
High-Performance Computing (HPC) | Extremely computational-intensive workloads | Engineering simulations, protein folding | Hpc6id, Hpc6a |
đź’ˇPro Tip: If possible, try to standardize a few different instance types and families. This will come in handy later when and if you decide to make use of reserved instance contracts.
Create repeatable review processes
To help make our regular rightsizing efforts feel more like a standard process than a one-off hunting expedition, we need to set up some rules, or guidelines, to help focus our efforts. Some thresholds can help inform us when it's time to give parts of our landscape some attention. For example, consider something like these ...