Part 4 – Cost Optimization Pillar Intro
Cloud Cost Management and Cost Optimization in AWS
In Part 4 or our deep-dive into the AWS Well-Architected Framework, we start looking at the framework pillars in isolation. Starting with cloud cost management and the Cost Optimization pillar.
If you haven’t checked out parts 1-3 of this series, stop here and give those a read. We’ll assume you have the baseline understanding of the framework itself and the general design principles.
And while you’re catching up on the past articles, why not sign up for our newsletter? Make sure you don’t miss out again on future parts of this series and future Cloud and DevOps topics?
So, cost optimization in AWS…
Depending on your role within the company,
you may not care about cloud cost management.
But should you?
What does cost optimization have to do with cloud architecture?
Even if you’re not directly responsible for the AWS cloud cost management at your organization, having a cost optimization mindset when designing and operating your AWS workloads can have a big impact on the business.
It allows you to operate your cloud infrastructure at the lowest cost. Helping deliver better value to the business and your customers.
When you’re in the planning and design phase of a new workload, there are often times when you may have competing solutions. Two or three architectural designs may all meet the technical requirements and other business considerations, so how do you choose?
Cost can often be that tie-breaker between competing solutions. Assuming all other aspects of the designs are more or less equal.
If you’re buying a car, you may start your search by narrowing the scope of choices by your budget. Then within that budget range, you’d have your absolute must-haves and then the nice-to-have features you’re shopping for.
Now, your search and test drives have narrowed down your choices to three possible models. All of which meet the same must-have and similar nice-to-have features. What would your main deciding factor be picking between them?
For many, that tie-breaker consideration would be price.
AWS cloud cost management quickly becomes a very important area that we need to consider in our architectural designs.
Obviously we want our cloud infrastructure to meet our business and workload requirements. But also at the lowest possible cost so we can maximize the overall value of our cloud spend. Cost considerations may also have a heavy influence on the architectural design choices, or become that tie-breaker for similar solution designs.
So, it should be apparent now why costs are part of the AWS Well-Architected Framework. Simply due to the gravity of influence, it can have on your cloud architecture decisions.
Cost Optimization Design Principles
In part 3 of the series, we touched on how each pillar is built from its own set of design principles and best practices.
The Cost Optimization pillar is made up of five design pillars and five best practice areas that we should consider for our workload in order to be “Well-Architected”.
Let’s start with exploring the design principles and diving into each one in isolation to understand it better:
AWS Well-Architected Cost Optimization Pillar
- Implement Cloud Financial Management
- Adopt a Consumption Model
- Measure Overall Efficiency
- Stop Spending Money on Undifferentiated Heavy Lifting
- Analyze and Attribute Expenditure
Implement Cloud Financial Management
This design principle guides AWS customers to invest in Cloud Financial Management (CFM). This helps improve the overall value their cloud expenses provide to the business. By investing time and resources into the people, processes, and technology that support their CFM program, organizations will be able to run and operate their cloud infrastructure more efficiently and optimize the value of their cloud expenses.
Adopt a Consumption Model
This design principle encourages AWS customers to ensure they’re only paying for the resources that they need. Also, helping teams become aware of the impacts of their resource usage and design decisions on costs. By introducing a cloud resource consumption model for your organization you can help ensure you’re using the most cost-effective resources, in the most efficient way.
Measure Overall Efficiency
By measuring the overall efficiency of your cloud workloads you can understand the value the workload and the supporting cloud infrastructure brings to your business. By comparing the value the workload brings to the company against what it costs to operate in the cloud, you now have a data-driven, measurable way to understand what areas you can become more cost-efficient, and if the changes you make are effective at increasing the overall value.
Stop Spending Money on Undifferentiated Heavy Lifting
Simply by running your workloads on AWS, you’re already benefiting from this design principle to some degree. The concept of undifferentiated heavy lifting is the time and resources companies waste on doing operations and infrastructure activities that add no value to their business.
For example, if you’re a Software-as-a-Service (SaaS) company, your business is focused on your software products.
Do your data center facilities and IT hardware equipment differentiate you from your competitors?
Do your customers care how great your on-premises data center is and that you’re using the latest server hardware and just invested millions of dollars into your backup power generators?
Again, probably not.
Your customers care that you’re adding new features and products being requested by them. Your business cares that you’re adding more value for your customers through new and improved products and you’re attracting more customers as a result.
Why spend all that time and money on things that aren’t the focus of your business?
Now the comparison of traditional on-premises data center environments to cloud is an easy example, but the concept of undifferentiated heavy lifting extends into the AWS cloud as well.
As another example, if you need to run a database to support your workload in AWS, you have a lot of options. One of those design decisions you’d need to make is between a self-managed or managed database. Would running a self-managed database, where you likely need highly-specialized database administrators to run, operate and upgrade it add value to your business and customers? Does that differentiate your business in your competitive market place?
Chances are you can offload that heavy operational burden by using a managed database instead. By doing so, you allow your IT organization to focus on areas that add value to the business rather than operating and maintaining the database resources yourself.
We’re expanding on this design principle quite a bit, but it’s a very important concept. So important, that this design principle is at the core of the entire Six Advantages of Cloud Computing.
AWS Six Advantages of Cloud Computing
- Trade Fixed Expenses for Variable Expense
- Benefit from Massive Economies of Scale
- Stop Guessing Capacity
- Increase Speed and Agility
- Stop Spending Money Running and Maintaining Data Centers
- Go Global in Minutes
Now, even without unpacking the details of those six advantages of cloud computing, the theme of avoiding undifferentiated heavy lifting, and the resulting benefits of doing so, are echoed through each one.
And that brings us to the last design principle within the Cost Optimization pillar…
Analyze and Attribute Expenditure
This design principle is calling out that well-architected workloads in AWS should have mechanisms to identify and measure the cost and usage of the resources contained within it.
AWS enables you to add additional metadata to most resources in the form of tags. By tagging resources you deploy in AWS, you can easily identify the resource owner. Or maybe you also add tags to label resources by the team using them, or maybe by cost center. The point is that with this additional tag metadata added to your cloud resources, it’s now possible to easily attribute or allocate the resulting costs of those back to the resource owner or to the business function that the resource supports.
And when using a sound tagging system for your cloud resources, you can use those tools to quickly run showback or chargeback reports to the resource owners.
You can also create your own dashboard visualizations of your running AWS costs so you have a near real-time estimate very visible to the team responsible for running those resources. This allows the team to respond quickly to any cost anomalies and make fast adjustments to help optimize their resource usage and ultimately reduce your overall AWS costs.
In the next part of this series, we’ll continue our exploration of cloud cost management and the Cost Optimization pillar. We’ll focus on the five best practice areas and how you can use these to help review and measure your cloud workload against them to identify areas of improvement.
Don’t miss the next part, sign up for our newsletter to get all the latest insights from the Autimo team!
Learn more about the AWS Well-Architected Framework here.
How can Autimo help you with cloud cost management?
We work with customers to go much deeper than the AWS Well-Architected Framework. We’ll tightly integrate with your teams to learn about your business, your challenges, and goals.
We strive to understand your business and team dynamics. Helping to tailor specific action plans that matter the most to you.
Our team can work with your internal groups to take the results of the AWS Well-Architected review, prioritize them and simply engage as a trusted advisor with your team as they work through the design improvement tasks. If more help is needed, Autimo can directly augment your existing team, by providing AWS experts and project management capabilities to help shorten project deliverables.
Want to learn more about cloud cost management?