22 steps to reduce your AWS bill (Part 1 — Intro)

Dariusz Korzun
6 min readMar 12, 2021

A brief introduction to AWS cloud cost optimisation techniques.

This is Part 1 from series of “22 steps to reduce you AWS bill series”. Please also check articles Part 2, Part 3, Part 4 and Part 5.

Intro

According to IDG’s 2020 Cloud Computing Survey, 59% of companies plan to be “mostly” (43%) or “all” (16%) in the cloud within the next 18 months. Flexera 2020 State of the Cloud Report also reports that companies expect to increase their cloud spend by almost 50%. Additionally, more than 50% of companies expect higher cloud usage than initially planned due to the COVID-19 effects:

  • the extra capacity needed for current cloud-based applications,
  • accelerated migration from data centers to cloud,
  • business continuity requirements.

Surprisingly only 20% of organizations would save money by moving to the cloud, whereas 80% would see an increase in their annual costs (research by Dr. Jonathan Koomey, Stanford University). The average extra cost can reach up to 36% more for cloud services than it is needed. This fear is reflected by 25% of CIOs mentioning “high or unforeseen costs” as their top challenge (McKinsey cloud survey and interview article, Oct 1, 2020). The Flexera respondents estimate that their cloud spend is over budget by an average of 23% and their organizations waste 30% of it.

Therefore it is not surprising that cloud cost optimization (“controlling cloud costs” and “cost savings”) remains at the top of companies’ 2020 priority list for the fourth year in a row becoming the no. 1:

  • cloud computing challenge chosen by 40% of the IDG respondents,
  • top initiative for a year ahead chosen by 70% of the Flexera respondents.

What you will find inside

Cloud cost optimization can be defined as a process of reducing the total cloud spend by identifying mismanaged resources, eliminating waste, right sizing services, and choosing the most suitable pricing model. Successful cloud cost optimization relies on three pillars:

  • waste — tidying up how resources are used,
  • capacity — matching optimal resources configuration to workload requirements,
  • procurement — intelligent use of savings plans and reservations.

In practice, cloud cost optimization represents an ongoing process of monitoring resources performance and cost interrupted by periodic reassessment looking for opportunities to reduce cost across each of three pillars.

Through years of supporting AWS, I have faced a lot of completely different solution architectures built on top of it. No matter how simple or complicated that architecture was the first and most effective cloud cost optimization steps always came down to 22 points. Of course, the significance of these points to cost optimization could have been different for each environment but regardless of this, checking each one resulted in greater control over the use of resources and a reduction of the overall AWS cost.

In this publication, I aim to show how extensive is the topic of cost optimization and how many elements may be important for the total cost of your AWS services. If you have not yet carried out the AWS cloud cost optimization project, a safer, quicker, and more effective approach would be to get the support of an AWS expert like Altkom Software & Consulting with experience in this area. After you finish the first optimization round and set up the process then each following reassessment will be easier, more reliable, and less time-consuming for you.

I have divided the cloud cost optimization into 4 areas of interest:

  • compute — servers and databases,
  • storage — files, volumes, and buckets,
  • networking — localization and data transfer,
  • procurement — pricing and licensing.

Each area can be analyzed across three cloud cost optimization pillars.

Before we begin

It is always tempting to start dealing with technicals as soon as possible but in the case of cloud cost optimization, you must first begin with understanding your current situation. You can do it with a help of two useful AWS tools: AWS Billing & Cost Management Dashboard and Trusted Advisor. They will guide you through cost structure and utilization of resources and give you a clear impression of what must be checked. Afterward, you can address uncovered hotspots.

AWS Billing & Cost Management Dashboard

This should be the first place to look for an AWS cloud cost structure at the beginning of your cloud cost optimization project. The dashboard will give you first-hand insight into all cost drivers and their distribution among different AWS services.

With the AWS Billing & Cost Management Dashboard you can observe and access information using:

Cost Explorer

This is an essential tool with an easy-to-use interface that lets you visualize, explore, and analyze your AWS cost and usage over time. You can start at a high-level view or you can go straight to creating your custom reports with detailed information. Using filtering and grouping feature costs can be broken out by specific types of services, regions, instance types, tags, etc. Custom reports can be saved for future use.

Cost & Usage Reports

The reports let you deep-dive into very granular information. They contain the most comprehensive set of AWS cost and usage data available for each service category and tags used in hourly or daily line items. Each report is available in CSV file format updated at least once per day.

Cost Categories

To get meaningful information from the AWS Billing & Cost Management tools you can define custom rules to map cost/usage information to your internal organizational structure. Rules can use various dimensions such as account, tag, service, charge type, cost categories, etc. These new categories will then become available in AWS Cost Explorer, AWS Budgets, and AWS Cost and Usage Report for visualization and monitoring of your spending.

Cost Allocation Tags

If you want to be even more specific in your analysis you can activate cost allocation tags. A tag is a key/value label that you assign to any of your AWS resources. You can define tags that represent e.g. business categories to organize costs across multiple services. After you apply and activate tags AWS will generate a detailed cost allocation report with usage and cost grouped by your active tags.

Cost Anomaly Detection

This is a very helpful tool providing continuous monitoring that evaluates your spending for AWS services, member accounts, cost allocation tags, or cost categories. The monitor leverages Machine Learning to identify anomalous spending and its causes reducing the risk of billing surprises. After setting an alert preferences AWS will notify you with individual alerts or daily/weekly summaries via SNS or email about detected anomalies. You can also monitor spending and do your own anomaly analysis in AWS Cost Explorer.

Budgets

To protect yourself from exceeding planned costs you can set up custom budgets. They will track cost/usage progress and respond when the defined threshold is exceeded. In case of overrun, or when utilization/coverage (only for Reserved Instances and Savings Plans’, see later in the article) drops below the threshold you will be immediately notified. You can also configure actions to respond to changes in cost and usage either when they exceed or when it is forecasted to exceed your threshold. Actions will be executed automatically or after your approval.

Recommendations

Each time you access AWS Cost Explorer there is a right sizing recommendations feature that provides you with customized recommendations. This is a valuable set of suggestions for a start. Right sizing recommendations analyze your resources and usage to show opportunities for how you can lower your spending by downsizing or terminating instances. You can use these recommendations and take action on the Amazon EC2 console.

Trusted Advisor

Trusted Advisor is a tool for users with business or enterprise-level support but two checks are available to all other AWS customers for free. Trusted Advisor inspects your AWS environment and makes recommendations in four categories:

  • Cost Optimization — highlights unused resources and opportunities to reduce a bill
  • Security — identifies security settings that could make the environment less secure
  • Fault Tolerance — highlights redundancy shortfalls, service limits, and overutilized resources
  • Performance — focuses on improving the speed and responsiveness of applications

Each check provides a detailed description of the recommended best practice, a set of alert criteria, guidelines for action, and a list of useful resources on the topic. The recommendations are based on best practices and historical values gathered and researched by AWS to ensure correctness and efficiency.

--

--

Dariusz Korzun

Cloud and Big Data Solutions Manager | Altkom Software & Consulting