This post was originally published for CloudHealth on 10.02.18
Optimizing cloud costs and ensuring your cloud budget delivers maximum ROI really comes down to four key steps.
This four-step cloud budget is integral to successfully operating in the cloud. A fifth measure eliminates the need to constantly review the checklist to ensure costs remain within budget.
1. Rid Your Cloud of Zombie Assets
Zombie assets are cloud-based infrastructure or apps that are no longer used or required, but which you are paying for anyway. An example of this might be EC2 instances within an AWS environment that were launched for a project that has now ended, unattached IP addresses, empty Elastic Load Balancers or idle RDS instances.
Each of these examples may no longer be serving any purpose, yet still be consuming your cloud budget.
Your cloud might also be consumed by unattached and orphaned EBS volumes. However, before ticking this item off our cloud budget checklist, be sure to back up any data remaining on EBS volumes. Remember, once an EBS volume has been deleted, the data cannot be recovered. EBS snapshots are a cost-effective way of retaining data, as they can be recovered quickly from the AWS S3 service.
2. Select a Storage Class to Match Your Needs
It is important to choose the right storage class for your organization’s needs to ensure you’re not paying for space you don’t require.
AWS offers four classes of storage at individual prices. If you are not using AWS as your public cloud service provider, your own provider will likely have two or three similar ranges to choose from. The AWS pricing model is as follows:
- Amazon’s “Standard” Simple Storage Service (S3) is a highly scalable storage class that can be used to store and access any amount of data.
- Amazon’s “Infrequent Access” S3 service offers a less expensive storage class suitable for long-term storage, backups, and disaster recovery.
- Amazon’s “One Zone – Infrequent Access” S3 service stores data in one availability zone rather than a minimum of three zones, saving further costs.
- Amazon’s “Glacier” storage class is a data archiving solution suitable for regulated companies that have to keep data for a minimum length of time.
3. Optimize Cost and Performance by Rightsizing App Instances
To ensure applications work properly, instances are often launched with a little “wiggle room”. That’s not necessarily a bad idea, but once the apps have been seen to be working properly – and metrics are available to access the actual CPU, memory and storage they require – the instances can be right sized to reduce costs without affecting the actual performance of the apps.
There are other circumstances in which it might be necessary to rightsize an instance. Some instances require more CPU, memory and storage as demand increases. In these cases, it may be necessary to upgrade resources in order to optimize the performance of the app, justifying the increased cost of upgrading resources by the additional revenue generated.
4. Implement Off Times for Non-Production Instances
Leaving non-production instances running when they are not being used is one of the biggest contributors to cloud waste.
Scheduling scripts to schedule one-off times for non-production instances is one way to reduce waste, however this is not a cost-effective use of a developer’s time. Plus, scripts are inflexible and therefore not suitable for developers who work irregular hours or in irregular patterns.
Scheduling software with a snooze feature is a better solution to this cloud budget item. This feature allows you to permanently switch off testing, development and staging instances until needed, at which point the “permanently off” schedule is suspended.
Safeguards exist to restart the schedule after a period of inactivity, so you don’t pay for non-production instances when they are not being used.
5. Explore Cloud Management and Automation Tools
The easiest and most cost-effective way to tick items off our cloud budget checklist is by using the CloudHealth cloud management platform. This is especially important if your organization has deployed thousands of assets in a hybrid of multi cloud environment.
CloudHealth identifies zombie assets, as well as under/over-provisioned resources. It can execute policies for scheduling on-off times for instances and it can be configured to perform cost-optimizing actions automatically. As a cloud management platform, it will continue to check the wellbeing of your assets, and either take the necessary actions or advise you when predetermined events occur.
Looking to automate the process of checking your cloud budget? CloudHealth can also be used to enhance governance and account security through policy-driven automation.
Love the cloud but not loving the attached spend? Download the 5 Best Practices for Improving Cloud Cost Management eBook here.