We understand that building a Cloud Financial Management plan from scratch can seem daunting when you’re just getting started. So, we’re here to deconstruct the 4 CFM principles – See, Save, Plan and Run- and share actionable guidance you can implement to support the success of our organization on the cloud.
In this blog, we’ll share tools you can setup, pricing models you can take advantage of, and services you can use that will help you identify cost optimization opportunities in your workloads.
Cloud cost management tools
At AWS we give you some great tools to optimize your workloads. These often have to be enabled so log into your accounts and do this today!
- AWS Compute Optimizer – Compute Optimizer recommends optimal AWS resources for your workloads to reduce costs and improve performance by using machine learning to analyze historical utilization metrics. It’s FREE! But you have to enable the service at the organization level for all accounts to see this data.
- Amazon S3 Storage Lens – Amazon S3 Storage Lens provides a single view of object storage usage and activity across your entire Amazon S3 storage. S3 Storage Lens can help you identify and realize cost savings opportunities. Though, you’ll have a default dashboard in every one of your accounts, my recommendation is to create an Organizations dashboard in your management account so you can see everything in one location. Also, we suggest setting up a metrics export on this dashboard so you can retain historical data for a 15-month period instead of the default 14-day period. Having more historical data allows you to see historical trends and compare differences in your storage usage and activity over time.
- AWS Trusted Advisor – Trusted Advisor provides recommendations that help you follow AWS best practices by performing specific checks on your accounts that identify ways to optimize your AWS infrastructure, improve security and performance, reduce costs, and monitor service quotas. You can then follow the recommendations to optimize your services and resources. However, only AWS Business Support and AWS Enterprise Support customers can access all checks, including cost optimization. Currently there are 22 checks for cost, so try and narrow that scope by focusing on the ones you care about the most.
It’s not enough to have these tools enabled. Ensure you educate your developers on how to access them, and, more importantly, how to implement the optimizations recommended by each tool.
There are a variety of ways you can reduce or avoid unnecessary cloud costs, and a good starting point is understanding and taking advantage of AWS’s unique pricing models. Using purchasing options other than On-Demand is a simple but effective way to save money. Let’s take a closer look at some of your options:
- Savings Plans – A flexible pricing model offering lower prices compared to On-Demand pricing. It’s such a simple way to create savings! I recommend starting small: I started with $1 an hour when they first came out, and then built up coverage gradually. (This is known as stair-casing).
- Reserved Instances – A billing discount applied to the use of On-Demand Instances in your account. These On-Demand Instances must match certain attributes, such as instance type and region. Reserved Instances are best used for Amazon RDS, Amazon ElastiCache, Amazon OpenSearch Service, Amazon Redshift, and Amazon DynamoDB. When starting, aim to cover your stable production workloads that will be running for at least a year first.
- Amazon EC2 Spot – These let you take advantage of unused EC2 capacity in the AWS cloud. Spot Instances are available at up to a 90% discount compared to On-Demand prices! But not every workload is fault-tolerant. Dip your toe into Spot with workloads such as CI/CD pipelines. Also, in just 30 minutes you can cost optimize Jenkins jobs on Kubernetes. You can also use Spot on services such as Amazon EMR and Amazon ECS.
Using compute services on AWS is very common for customers. So, what are some tips to optimize?
- Instance Generation – When selecting an instance type for your EC2, we encourage you to use the latest instance type. This is because you’re not only getting the most modern resource, it’s also usually the more cost effective one. Okay, so M4 to M6i is only 4% cheaper, but that adds up! And if you’re using even earlier generations, then this difference will be a lot higher.
- AWS Graviton – These processors are designed by AWS to deliver the best price performance for your cloud workload. You can get some amazing price/performance savings with services such as 52% on Amazon RDS with Graviton2. Since these instances are based on ARM processors rather than the traditional Intel ones, this can be a big infrastructure change for standard EC2 workloads. But do not fear, there are so many more services you can use with Graviton, such as AWS Lambda, Amazon Aurora, AWS Fargate, and much more.
- Instance Scheduler – When you leave your home, you wouldn’t leave all your lights on, right? So why leave all your instances on when you’re not using them? This AWS solution helps you control your AWS resource cost by configuring start and stop schedules for your Instances. Focus on your non-production workloads and shut them down outside of office hours, such as evenings and weekends.
When looking at any optimization in the cloud we recommend starting with the simplest, yet most impactful opportunities. When using any of these tools, narrow your scope to resources that will make the biggest impact. This way, when you look back at those KPIs we mentioned in the previous blog, you can actually track the impact and hopefully inspire others in your business to optimize.