If like most AWS users you feel as if you are spending way too much every month and don’t know where to begin with your cost management, we recommend reading Part 1 of this series. There, we took a deep look at the Control, Organize, Inspect, and Budget groups of AWS services including AWS Organizations, AWS Budgets, Cost Allocations Tags, and Cost Explorer. These are four of the AWS Billing & Cost Management Services that can become very valuable tools for managing your AWS costs, especially as your resources and applications scale and AWS month-end billing begins to accumulate.
This article will help you understand the Purchase and Elasticity groups of services, which help subscribers to reduce spending by optimizing their AWS infrastructures.
“Purchase” Services
This group of services enables you to better understand both the AWS cloud and your specific needs and requirements for its use. When you design your cloud environment, knowing what instance type and size to use in the long term saves money.
Pay up front and save using Reserved Instances
Reserved Instances work with EC2 and RDS to offer a significant discount (up to about 70%) over on-demand instances while also providing capacity reservation. In simple terms, when you “reserve” an instance, you agree to an up-front payment which will give you the substantial discount and ensure that the instance type and size you reserved is always available for your use. Although it’s not common for instances to become unavailable, it can happen. Guaranteeing that you have what you need provides important reassurance—and the savings are great too.
Reserved Instances are a must for organizations that can predict their long-term needs, since all of the reservations are in one-year or three-year terms. You do have options, such as paying less money up-front or selecting a convertible instance type (which gives you the option to change the instance family, OS type, etc.), but, the more flexibility you choose, the lower your discount will be.
Reserved Instances are best when you fully understand your business requirements. You want to be sure that for the next one to three years, you will be needing and using a specific instance most of the time.
Commit to EC2 usage and save using AWS Savings Plan
AWS Savings Plan may sound like more like a direct dollar bank account savings plan, but in reality it’s more of a method to save by purchasing resources in bulk. It provides another flexible pricing model that offers great savings (again, up to about 70%) and basically allows you to choose the plan to be applied automatically, regardless of instance family or size. AWS Savings Plan works with EC2 and Fargate and is very easy to use. It’s more convenient than Reserved Instances because it doesn’t require you to lock into a certain instance type. It also requires less infrastructure planning, since you have many more instance choices available.
Within the AWS Savings Plan, you can choose between the Compute Savings Plan which is much more flexible in terms of which region and which family of EC2 usage can be applied, yet provides a lower potential savings. In comparison, the EC2 Savings Plan is less flexible (i.e. you can apply to a single region for a single family of EC2) but does give you higher potential savings.
Savings Plan does have some downsides when compared to Reserved Instances, one of which is slightly lower discounts than Reserved Instances depending on the upfront Reserved Instance commitment chosen (especially the three-year, fully up-front Reserved Instance discount). The more flexibility you choose, the less of a discount you will get. Also, Savings Plan does not work with RDS, which is a huge disadvantage for the many businesses that use RDS.
Request unused EC2 using AWS Spot Instances
AWS Spot Instances let you use the spare EC2 capacity of the AWS cloud backup at a great discount (in some cases, up to 90%). Spot Instances can be requested and run just like on-demand instances, with one caveat: They can be taken away at any point if they are needed elsewhere or if the price jumps up. Despite this limitation, they can still be very useful for stateless applications, various web servers, CI/CD, and high-performance computing, for example. The discount they provide may far outweigh the risk of losing them, and, if you implement your infrastructure around their use, you won’t experience any difference in performance.
Spot Instances can also be combined with on-demand instances. For example, when you’re using the Launch Template for the Auto Scaling group and have the baseline number of on-demand instances covering the necessary load, you can run Spot Instances on top to cover your peaks in demand.
All three Purchase services can be combined together to provide maximum possible discounts. You can run some Reserved Instances for your long-running production RDS instances, Savings Plan to cover your EC2 servers, and Spot Instances for additional capacity when needed.
“Elasticity” Services
Elasticity is one of the most popular features of public cloud services. The ability to scale up and down as needed ensures that you have enough resources to match your demand while also keeping costs down.
Maintain availability and save using EC2 Auto Scaling
The most popular elasticity service is EC2 Auto Scaling, used via Auto Scaling groups. To use this service, you first define a configuration that sets the instance type, volume size, etc. and then create a group that will use that configuration. The EC2 Auto Scaling group will have a number of instances running, ranging from the minimum to the maximum that you have configured. The number of instances running at a given point will depend on the utilization of those instances and the scaling policies that you put in place.
For example, you can have an Auto Scaling group for your backend servers with a minimum instance number of 1 and a maximum number of 20. You can also have a scaling policy that increases the instance number each time the overall CPU utilization goes above 70% but also decreases the number when the utilization goes below 30%. This means that during peak hours, your instance count can max out at 20, but, during the night, when there are fewer requests coming to your back end, you might go down to just one instance running and save a lot of money in the process.
Automatically start and stop your resourlces using AWS Instance Scheduler
AWS Instance Scheduler allows you to schedule the stopping and starting of instances in order to save on infrastructure costs. Most environments don’t use all of their servers all of the time, allowing for the possibility of cost savings. AWS Instance Scheduler works with both EC2 backup instances and RDS instances. It is a pre-made, deployable solution that can be launched within your AWS console. You can also get a CloudFormation Template if you prefer infrastructure as code deployments.
AWS Instance Scheduler works by utilizing CloudWatch events to trigger Lambda functions, which, in turn, look at the current state of all instances tagged with a predefined tag. If a change is needed based on the configured schedule, Lambda will start or stop instances.
With AWS Instance Scheduler, you can automate tagging to create partial or full automation. You can also put cross-account scheduling in place by using AWS Identity and Access Management (IAM) roles. AWS Instance Scheduler offers command line interface (CLI) support for those who prefer not to use the web console.
Although AWS Instance Scheduler can be helpful, the downside is that it requires complex set up and is not automatic. N2WS Backup & Recovery’s previous version introduced Resource Control which is a single-click method to start and stop idle instances, schedule your start and stop ahead-of-time, and even calculates your past total cost savings and displays your cost savings over time (including a prediction your infrastructure’s future cost savings).
The Essential AWS Billing & Cost Management Services
Implementing AWS’ Purchase services can have a tremendous impact on your monthly spending. The opportunity to discount your server costs by using Reserved Instances, Savings Plan and Spot Instances is simply too good to pass up. You can introduce some form of cost control to most environments by using these services.
AWS’ Elasticity services offer benefits to almost all users. If you’re not using something all of the time, it does not need to be running all of the time. Because a few hours a day of idle time can still run up a bill, services that allow you to predict this time and reallocate resources accordingly can have a significant impact on your overall spending.
While we haven’t covered all of the AWS Billing & Cost Management Services, this two-part series has examined the most important ones. Optimizing your business environment by using these services will allow you to see cost benefits in no time.
Using N2WS Backup & Recovery to optimize your AWS resource and save BIG
For almost a decade N2WS has been commited to helping enterprises manage their backup and disaster recovery and ensure high availability and a fail-proof (easy peasy) method to automate backup. Besides the set-it-and-forget it approach to AWS resource management, N2WS also provides major cost saving capabilities, because we know the long trail of IT will not magically disappear. Amazon EC2 is the most common cost producer and our dev team is commited to creating and enhancing data lifecycle management capabilities that allow you to save in the long term.
Capabilities like Store to Amazon S3, Archive to Amazon Glacier, Zero EBS Snapshot Retention, Resource Control, Cost Savings and Cost Explorer all save on spend for AWS and N2WS users, allowing them to depend on N2WS not only for managing their costs and ensuring compliance requirements are met, but also for hands-free frequent backup and near-instant restore (to and from any region/account) and freeing up valuable time for their IT team. N2WS has become to the go-to tool for thousands of global customers, eliminating the need for scripts or complicated setup as they benefit from a whole host of growing business continuity and data lifecycle management capabilities.
Protect your AWS environment with our award-winning solution FREE for 30 days (after that it automatically converts to our Forever- Free Edition). Install and configure using our easy-to-follow video guide.