Amazon Web Services has recently launched a feature that enables businesses to set budgets for their accounts and receive alerts when the budgets are forecast to be exceeded. Inasmuch as the service is useful for knowing when a department or project is about to overspend, it doesn’t help meet AWS budget targets.
AWS Budgets is a pretty cool feature. It helps businesses create, track, and inspect budgets in real time and sends alerts when budgets are forecast to be exceeded. The feature is customizable as it’s possible to track costs across multiple dimensions (i.e. by account, service, tag, etc.), and it can be configured to send weekly reports to multiple budget owners or alert individual budget owners to underutilized Reserved Instances.
However, telling you that your department is spending too much, alerting you to wasted Reserved Instance purchases, and showing you where the money is being spent is about all the feature does. There’s no recommendations about how you can reduce costs and meet AWS budget targets, nor mechanisms to control spend. Effectively, AWS Budgets will warn you that a department or project is about to overspend, but won’t help you do anything to remedy it.
5 ways to reduce spend to meet AWS budget targets
If you receive an email from AWS informing you that period-to-date spend is forecast to exceed budget, AWS won’t terminate its services once the budget is exceeded. The AWS Budget service is for information purposes only, so AWS will allow you to continue accruing costs and spending more than you budgeted for.
Rightsize over-provisioned resources
Resources such as EC2 instances are frequently overprovisioned in order to accommodate unknown future demand. By reviewing utilization metrics, you can determine whether the capacity provisioned is required, and downsize where appropriate.
Terminate zombie resources
Most businesses have resources in their inventory that they’re paying for but not using. Unused resources such as unattached EBS volumes, unattached Elastic IP addresses, and aged snapshots are easy to locate and terminate in order to reduce costs.
Take advantage of Convertible RIs and Savings Plans
Committing to a standard Reserved Instance (RIs)for three years in advance isn’t always the best way to save money. Demand can change quickly in the dynamic world of cloud computing, and many businesses are taking advantage of Convertible RIs and Savings Plans for their flexibility.
Upgrade resources to the latest generation
AWS frequently releases upgraded versions of resources with better performance at lower cost. Quite often these upgrades are overlooked by businesses, who stick with the resources they have already provisioned rather than take advantage of the latest generation.
Schedule on/off times for non-production instances
Instances used for development, staging, testing, and QA don’t need to be left running 24/7, and all the time they’re left running, you’re being charged for them. By scheduling on/off times, you can save up to 70% of your AWS bill for non-production instances.
Automating cost management to meet AWS budget targets every time
Automating cost management involves applying cost control policies to a cloud management platform such as CloudHealth in order to be alerted to cost-saving opportunities. Simple policies can alert you to the under-utilization of resources, zombie assets, opportunities to take advantage of Convertible Reserved Instances, and latest generation resources. It’s also possible to apply on/off schedules to non-production instances based on their actual usage in order to maximize savings.
Policy-driven automation can be used to prevent resources above a certain size being launched, keep you up-to-date with cost trends, and notify you when data stored in S3 buckets are candidates for migration to infrequently accessed classes of storage or AWS Glacier. There are also benefits for asset performance and security inasmuch as policies can be applied to notify you of over-utilized assets suitable for upgrading or security vulnerabilities that require attention.