Optimizing Cloud Costs with EC2 Right Sizing

If you have been deploying resources on AWS for a while, you might be wondering how to resize EC2 instances for better cost optimization. It is likely there are a number of EC2 instances in your AWS account that you are paying for, but not using to their full capacity. If this is the case, you are not alone. Businesses often deploy resources in the cloud with an appropriate configuration for the time of deployment; but, as demand lessens, the same feature-set is no longer required.

The failure to consider EC2 right sizing is one of the major contributory factors to “cloud waste” – paying for cloud resources you don’t use. Cloud waste is estimated to cost businesses up to $17.6 billion per year – and an estimated $6.6 billion of that is from oversized resources. The problem is exacerbated by the way in which Amazon charges for cloud services – according to the level of service you provision, rather than the level of service you use. 

However, there are available solutions that help with the problem in a simple way by locating your resources deployed in the cloud and identify which are suitable for EC2 right sizing.

Cost of an Oversized Instance

If you are using an EC2 instance that is not the best fit for your environment, your bill is going to be a lot higher than it should be because your environment is accumulating unnecessary costs. A single size instance change can save 50% or more of the costs. AWS offers a range of EC2 instance types optimized for various purposes. It’s great that they provide so much variety, but it can make EC2 costs a little tricky because, within each type, you’ll still need to select the instance sizes that suit your specific needs. Generally starting with t3 or m5 is the way to go, however as the newer types tend to perform better at a cheaper price, you’ll only want to use the older types if you have an AMI or other dependency. The most cost-efficient way to deal with rightsizing your instances is by implementing a tool that can take automated actions for you and scale your instances to fit the size of your workload.

A great tool you should take advantage of is the AWS pricing calculator. Here you can get an estimate for your EC2 workload with Reserved, On-Demand, or a mix of both pricing options. You can also fill out basic requirements that help AWS identify the most cost-effective EC2 instance to fit your needs.

AWS Console and Sizing Manually

While you can perform rightsizing manually based on CloudWatch data, if you have a lot of instances, manually doing this is not the best option. If installed manually, this does not make the instances a scalable option. Instead of being able to adapt quickly and easily to increased workload or environment demands, it would be an intensive manual process to keep up with and make changes. 

While AWS does offer the Compute Optimizer, this feature simply gives you recommendations with the goal of helping you properly size EC2 instances, it does not act on those recommendations. Since Amazon doesn’t offer a Rightsizing action, you will have to go and adjust the instance settings manually. Even though Amazon doesn’t have a rightsizing feature, they do offer a few products and services that can help with finding the right EC2 size for your environment. 

How to: EC2 RightSizing 

Before you start your workload, you should rightsize your environment in order to make sure your instances are compatible. For starters, with EC2 instance discovery, you just specify your hardware requirements and it will give you a list of instances that are compatible so you can compare them across CPU, storage, memory, regional presence, pricing, networking performance, and more. 

Another great feature is the AWS Compute Optimizer, which provides recommendations with the goal of properly sizing EC2 virtual machines. These recommended instances are ones that balance performance and cost for running workloads. It’s important to take note of the limitations that also come with this feature – the inability to take direct action from the recommendations makes it less useful for serious cost optimization. In order to fully optimize your costs, it may be in your best interest to invest in a third party tool, such as ParkMyCloud, that can take these actions for you.

Similarly to the AWS Compute Optimizer, ParkMyCloud’s Rightsizing capabilities offer up to 3 recommendations for different sizes that your instances could be based on Cloudwatch data. But ParkMyCloud’s Rightsizing can also cut EC2 costs through the following:

  • All AWS instance sizes are supported, not just M/C/R/T/X
  • Users can reject a recommendation and give an explanation, so administrators know why actions weren’t taken.
  • Savings from Rightsizing (and parking) are tracked and reported in ParkMyCloud, so you can show management or the CFO just how much money you’re saving the company.
  • ParkMyCloud’s recommendations are based on data from a period of up to 24 weeks, providing a much more robust recommendation compared to the 2-week data set imposed by Cloudwatch. 
  • ParkMyCloud is multi-account and multi-region in a single pane of glass, so you can view recommendations across all of your accounts in one place (including all AWS regions).
  • ParkMyCloud can take the Rightsizing action for you once you accept a recommendation, including scheduling that resize action for a future time (such as during a maintenance window).

How to RightSize in ParkMyCloud

The easy way to being rightsizing your EC2 instances is to sign in to your AWS account via the ParkMyCloud web-based portal. Then create a permissions-limited IAM role or user credential for our app and allow the app to perform a discovery of your resources deployed on Amazon´s cloud platform. Discovered resources will be displayed on a single-view dashboard along with information such as their name, type and cost.

To the right of the figure indicating the cost of the resource, there is a graph icon which – if you click on it – will redirect you to an “Instance Utilization Report” (or “heatmap”) based on gathered AWS Cloudwatch data. The heatmap illustrates the average and peak utilization of each resource.

Based on the data from the heat maps, ParkMyCloud will create a recommended schedule so that resources are not being allocated to the instance when it is not being used – you can see an example of this in the image shown below. 

But, since you might not know what future plans you may have for the resources, you have the choice of accepting the EC2 right sizing recommendations or using the data to reassign the highlighted resource to an entirely different configuration or pricing plan (i.e. from an On Demand pricing plan to a Reserved Instances pricing plan).

Rightsizing Auto-Scaling Groups

AWS now has predictive scaling for EC2 which is a new and improved way to use Auto Scaling to optimize costs. With predictive scaling for EC2, there is very little the user needs to set up. All they have to do is simply set up the group, and machine learning models will analyze daily and weekly scaling patterns to predictively scale. Users will have choices to optimize for availability, or optimize for cost – making it easy to use Auto Scaling to save money. 

If your development and test instances require on/off or scale-up/scale-down schedules based on when users need them, it’s best to use a third-party tool such as ParkMyCloud to schedule auto scaling groups to turn off or change scaling when you know they will have little or no utilization.

In addition to being able to rightsize EC2 instances, it is also possible to right size auto-scaling groups in ParkMyCloud. As mentioned above, businesses often deploy resources in the cloud with a configuration that is appropriate at the time of deployment, but that the need for a specific feature-set can change over time. The same scenario applies to auto scaling groups.

ParkMyCloud will identify where components of auto-scaling groups can be redeployed and where auto-scaling parameters leave more systems up than are needed. For example, an auto-scaling group with a minimum size of three systems where – during off-hours – less than one system is needed to carry the load, and only two are needed for zero downtime could be rightsized to two systems.

The example above would cut a third of the cost of deploying auto-scaling groups in the cloud using ParkMyCloud for EC2 rightsizing, and there are many more examples of where cloud costs can be reduced by re-provisioning resources. Furthermore, once the EC2 rightsizing process is complete, you can reduce cloud costs further by using ParkMyCloud to auto-schedule start/stop times for non-production EC2 instances.

Auto-Scheduling Start/Stop Times with ParkMyCloud

Leaving non-production instances running when you are not using them is another major contributing factor to cloud waste, and another that can easily be addressed with the help of an automated tool that takes action. On top of making recommendations about which resources are suitable for EC2 rightsizing, ParkMyCloud also makes recommendations about which non-production instances are suitable for auto-scheduling – or “parking”.

These recommendations will be displayed on the single-view dashboard after ParkMyCloud has finished its initial discovery, and all system administrators have to do to park the recommended instances is to apply a parking schedule to them. A choice of preconfigured parking schedules already exists in the ParkMyCloud portal (for example, parked between 8:00 p.m. and 8:00 a.m. Monday to Friday and during the weekends), or system administrators can create their own schedules using an intuitive grid.

Auto-scheduling parking times for non-production instances – using the example schedule above – can save businesses almost 65% on the cost of deploying development, staging and testing instances on AWS. However, it is possible to increase savings further by permanently parking non-production resources and RDS databases, and snoozing the schedule when access to the instances is required. Having total visibility of your cloud accounts in the ParkMyCloud dashboard gives you the management and governance you need to ensure the savings you make remain permanent.

Try EC2 Right Sizing with ParkMyCloud for Free

If you have not yet considered EC2 rightsizing, or have been putting it off because of the size of the task – we’re here to help! Request a demo or sign up for a 14 day free trial of ParkMyCloud. Our free trial offer provides you with the opportunity to quickly and easily address any provisioning issues you may have and auto-schedule start/stop times for non-production instances deployed on AWS.

During your trial, you will also be able to assign parking schedules to any non-production VMs deployed on Azure and non-production instances deployed on Google Cloud – maximizing the savings on your cloud spend, which of course are yours to keep. To find out more about our free trial, or to get answers to any questions about EC2 right sizing with ParkMyCloud, do not hesitate to contact us today.

Here are some additional facts about EC2 and ParkMyCloud:

  • EC2 resources often become over-provisioned or redundant as demand lessens.
  • ParkMyCloud´s EC2 right-sizing tool identifies these resources quickly and easily.
  • Our lightweight app makes recommendations about appropriate configurations.
  • You can also use ParkMyCloud to schedule start/stop times for non-production resources.
  • Businesses can save up to 65% on the cost of deploying resources on AWS.
  • Try ParkMyCloud today and stop paying for AWS resources you are not using.