A look at the tools and options to maximise the value of your AWS environment
We’ve talked previously about AWS cost optimisation and its long-term and strategic implications for your organisation. Research has shown that the longer you use AWS, the greater the potential benefits. For instance, after three years using AWS, customers can expect to realise $3.50 in benefits for every $1 spent. This figure rises to $8.40 for every $1 after five years using AWS.
What these cost savings tell us is that the longer your business and your teams are using AWS, the savvier they get at cost optimisation. However with that in mind, you can’t simply take these cost savings as a given. There’s a range of tactical optimisations and efforts you can start delivering here and now to kickstart this process. Let’s take a closer look.
Using AWS Reserved Instances (RIs)
RIs are one of the primary ways you can achieve cost optimisation. RIs lock in AWS instances on 1 or 3 year terms. In return for that strategic commitment, AWS offers you a substantial discount when pitted against On-Demand instance pricing. If you can strategically forecast relatively static segments of your AWS workload, using RIs can make a lot of sense and be a great start with cost optimisation.
Stabilise your environment before using RIs
Before you go all-in on RIs, it’s important to stabilise your AWS environment. This means that your AWS usage has settled into consistent usage month-to-month, where you can forecast with a degree of certainty the number, types and locations of instances that will be used in a relatively static manner. With that degree of predictability, you can confidently invest in RIs as a cost optimisation exercise.
Right sizing instances/environments
It’s quite common for organisations to complete their migration to AWS and not yet have a handle on accurately sizing their resources in the initial stages. This could mean over or underestimating instance usage or using incorrect instance sizing or instance families. This is then compounded by not regularly revisiting your environment to optimise and save.
Using EC2 Spot Instances where appropriate
Spot Instances are an optimisation win worth looking into – whereby you place bids on excess EC2 instances in the Amazon Marketplace. Spot Instances typically are cheaper than On-Demand prices, so if you plan and architect accordingly they can achieve substantial cost savings.
Turning off or scheduling downtime for dev and test environments
Some environments won’t be needed outside of office hours so it makes sense to schedule regular downtime. Given that dev and test environments are not public-facing workloads, these are often ideal to lock-in downtime and make significant savings. For example, when you consider that in a typical working week, there’s nearly 78% of that week not during business hours, that’s a very large chunk of your budget you can re-allocate elsewhere. You can automate the process of turning off your dev/test environments using AWS CloudFormation, so that they shut down after hours, on public holidays and during office closures when your development teams do not need access to these environments.
Taking advantage of autoscaling
It’s rare that a Cloud environment will experience consistent usage around the clock. That’s where autoscaling means you can scale up and down as needed, so you’re not wasting your AWS resources and budget. That means autoscaling during quieter weeks, months or specific times of day to save money and minimise waste, planning for campaigns and generally having a good understanding of the baseline that your Cloud environment needs to be performing to.
Have a defined release process
Optimisation also includes the need for having a defined release process for your application workloads and code. That might mean, for example, using AWS CodePipeline to automate your release process and ensure consistency. At the very least it means having a well documented and understood process that the business and development teams follow. However, having a level of automation helps ensure changes are released continuously across your instances. This represents an optimisation of processes and the resulting AWS usage that can reap big savings in time and money.
Monitoring production workloads
AppDynamics and New Relic are a couple of the Application Performance Monitoring (APM) options available for you to maintain deep visibility over your application workloads and what’s driving the resulting AWS usage. This assists you with maintaining vigilance and AWS best practice, driven by the performance of your underlying application and its various components (storage, database and a wide array of functionality). Advanced tooling becoming available with some APM tools is also starting to provide increased capabilities to further optimise your Cloud services via rightsizing and other cost-related functions.
AWS billing and reporting tooling
There are specific AWS billing and reporting tools available through AWS partners that can provide reports and insights around your AWS usage. This tooling can provide cost summaries, cost centre allocation figures, and also assist with identifying AWS usage trends and set alerts to help keep control of expenditure and make teams directly responsible for their spend. There’s also the potential to better use capabilities like tagging, so that you can make best-practice use of AWS. This sort of tooling also provides scope for optimisation recommendations to help continually improve how your teams (as well as the overall business) use of AWS.
As you can see, cost optimisation is a holistic process. We’ve touched on just over a handful of the tools and capabilities you can use to ensure the conversation continues long-term. As I touched on at the beginning: the longer you’re using AWS within your business, the greater the cost savings tend to be. At the same time it’s not a fait accompli, you do need to maintain visibility and control over your AWS usage and use the range of products, services and partner expertise to guide this process. Optimising costs then delivers a series of financial, procedural and efficiency gains that ensures your Cloud infrastructure continues to be a long-term strategic asset.
This is Part 3 of our AWS cost optimisation series.