The subject of optimizing instance sizes is one that most prudent AWS users often think about. However, they often do not possess the means nor the knowledge to carry out this task effectively. The truth is that there’s a certain degree of complexity that needs to be taken into consideration, the challenge that most users face when it comes to optimizing instance sizes to usage is that they don’t know where to look. But once you figure this part out, things start to appear quite manageable.
Contents
Knowing Where To Look
When you jump onto the ‘Services’ section on one of your AWS accounts, you’ll notice that the data related to usage is not directly available. The basic essence of what you get from this data is whether your instances are running or not – not the ideal to look if you’re looking to optimize your instances.
So what’s the next step to take? Where do you get the data related to usage? The answer is simple. Amazon comes directly equipped with a monitoring and management service that allows you to monitor their resources efficaciously. CloudWatch provides AWS users with various metrics, amongst which ‘CPU Utilization’ serves as the easiest and most effective metric to effectively evaluate their usage. The following are a couple of examples that best illustrate the utility of CloudWatch and how it helps users identify whether their instances are undersized (or oversized).
Graph 1 – Identifying when the instance is undersized
- The graph above shows the CPU Utilization for an EC2 instance. We notice a near 100% usage for reasonably long periods of time during this one week period.
- After analysis: This instance can be maintained as it is if the needs are still the same. But it should, however, be upgraded if there is a need for more.
Graph 2 – Identifying when the instance is oversized i.e. not being used to its fullest potential
- The graph above shows the CPU Utilization for an EC2 instance. We notice that the instance is barely used – the usage is limited to tiny spikes of that attain a value of 1.6% at the most.
- After analysis: This instance can be maintained as it is if it has no significant impact on the amount of money being spent. But it should, however, be downsized if a cheaper and equally effective alternative is available.
The data on CPU Utilization is the most effective and readily available through AWS. However, there are other metrics that a user might want to consider paying attention to, such as memory usage (more complicated since you need to have a monitoring system in place that allows you to collect and analyze data. You need to have an agent to dive deeper into this), IOPs, & Network (Paying attention to EBS volumes and to making sure that the SSD drive you choose is not a performance bottleneck).
TrackIt – All the data you need, at your fingertips
Despite CloudWatch’s usefulness in helping users monitor their usage, it can still be quite an exhausting process, especially for AWS users who have multiple instances running on multiple accounts – to optimize one’s resources by relying solely on CloudWatch. And that’s where TrackIt’s cost and resource optimization AI comes in handy.
TrackIt provides users with all the relevant data – CPU Utilization (Average Usage, Peak Usage), I/O (Read and Write), Network data (In & Out) & billing data (Amount of $ being spent) – gathered from multiple accounts. This allows them to carry out the task of optimizing instances sizes in tandem with optimizing their overall expenditure on AWS.
Here’s why this is extremely useful: All the data a user needs is presented in a SINGLE dashboard. There’s zero confusion. No need to go searching for additional info. It’s all here. All the information is right at the user’s fingertips. Not only will users be able to rightsize their resources, but they’ll also be able to assess the cost differences that come into play. Hence contributing to a seamless optimization experience.
About TrackIt
TrackIt is an international AWS cloud consulting, systems integration, and software development firm headquartered in Marina del Rey, CA.
We have built our reputation on helping media companies architect and implement cost-effective, reliable, and scalable Media & Entertainment workflows in the cloud. These include streaming and on-demand video solutions, media asset management, and archiving, incorporating the latest AI technology to build bespoke media solutions tailored to customer requirements.
Cloud-native software development is at the foundation of what we do. We specialize in Application Modernization, Containerization, Infrastructure as Code and event-driven serverless architectures by leveraging the latest AWS services. Along with our Managed Services offerings which provide 24/7 cloud infrastructure maintenance and support, we are able to provide complete solutions for the media industry.