aws cost allocation best practices: how high-growth businesses succeed
TRANSCRIPT
@cloudability
@cloudability
AWS Cost Allocation Best Practices: How High-Growth Businesses Succeed
February 23rd , 2017
๏ @cloudability
Introduction
Today’s Topics
Cass Hodges Technical Account Manager
TODAY’S SPEAKER
1. A Story of Growth
2. Allocation Fundamentals
3. Using Tags & Linked Accts
4. Developing your plan
5. Q&A
$5B+in tracked AWS costs
With usage increasing, efficiency is key
Development Growth
$
Scale
@cloudability
Using Tags And Linked Accounts
Here’s a little story all about how…
High-growth brings up all kinds of cost management and scaling challenges. Here’s a story from one of our own customers.
๏ International company analyzing data in different languages ๏ AWS power user experiencing intense growth over the years ๏ Growing pains around cloud cost management (trouble saving at scale) ๏ Cloud cost management wasn’t a priority, various billing data sources lumped into
massive spreadsheets
@cloudability
Using Tags And Linked Accounts
Growing out of the spreadsheet-only method
Sorting AWS tagging leads to immediate reporting benefits, but also long-term cost efficiency for our customer.
๏ From “spreadsheet hell” into key cloud cost management reports to get quicker insights
๏ Solving this requires strategic and thorough tagging of resources ๏ Also requires adhering to tagging policies and automation for long-term benefits
@cloudability
Using Tags And Linked Accounts
Putting strategic tagging and linked accounts to workHigh-growth brings up all kinds of cost management and scaling challenges. Here’s a story from one of our own customers.
๏ Retagged all AWS resources by departments, projects and teams ๏ Lowered chargeback time by running existing processes through Cloudability reports ๏ Fostered a culture of cloud cost management to teach the company to save on AWS
for the long-term as business grows ๏ Extended visibility into cloud cost management with views for specific non-technical
roles
@cloudability
Question: What percentage of your AWS infrastructure is tagged?
๏ @cloudability10
Cost Allocation Fundamentals
๏ @cloudability
Finding waste
You have lots of people that need to see your AWS costs split out lots of different ways
๏ By application ๏ By team ๏ By environment ๏ Across all of your accounts
The problem you’re solving
๏ @cloudability
AWS Cost Allocation At Your Company
12
The Pieces
๏ @cloudability
AWS Cost Allocation At Your Company
13
The Pieces
๏Multiple major business units
๏ @cloudability
AWS Cost Allocation At Your Company
14
The Pieces
๏Multiple major business units
๏Dozens of products and cost centers
๏ @cloudability
AWS Cost Allocation At Your Company
15
The Pieces
๏Multiple major business units
๏Dozens of products and cost centers
๏Dedicated and shared AWS resources
๏ @cloudability
AWS Cost Allocation At Your Company
16
The Pieces
๏Multiple major business units
๏Dozens of products and cost centers
๏Dedicated and shared AWS resources
๏Distributed teams using AWS
@cloudability
“Different people in your company need to see those AWS resources
in different ways.”
@cloudability
AWS Cost Allocation At Your Company
The Players
Finance needs:๏ Intra-month cost accruals for PO’s
๏Monthly breakdowns of cost by product, shared resource and environment
๏Chargeback costs throughout the organization
@cloudability
AWS Cost Allocation At Your Company
The Players
Operations needs:๏ Breakdown of team/project AWS spending
against budget
๏Alerts when teams/projects could be more efficient
๏ Reserved Instance recommendations to lower hourly AWS costs across teams/projects
@cloudability
AWS Cost Allocation At Your Company
The Players
Engineering/Product needs:๏Daily breakdown of changing costs by project
or revision
๏ Their own spending broken down by resources to find inefficiency
๏Automated cost allocation reports for other departments throughout the company
๏ @cloudability21
Using Tags & Linked Accounts
@cloudability
Using Tags And Linked Accounts
Tags
๏ Tags are key-value pairs (ex. color = blue)
๏ You can apply up to 10 tags per resource
๏ Tags can be anything you want or need
@cloudability
Using Tags And Linked Accounts
Tagging: the fine print
๏ Tagging is not retroactive
๏ Tags represent a slice in time
๏ Tagging is case sensitive
๏ Enforce tagging with technology, not just policy
@cloudability
Using Tags And Linked Accounts
Linked Accounts
Use linked accounts to split up things that really matter
@cloudability
Using Tags And Linked Accounts
Tags Vs. Linked Accounts
๏ Tags are highly flexible but 100% coverage is difficult due to compliance
๏ Linked accounts offer clean chargeback but limit reporting options
๏ Solution: Use Both with linked account splitting out most important divisions
๏ @cloudability26
Laying the groundwork
๏ @cloudability
First, get everyone involved
@cloudability
Using Tags And Linked Accounts
Where to start?
๏ Focus on 3-5 required dimensions
๏ Develop a consistent nomenclature
๏ Aim to answer questions
@cloudability
Using Tags And Linked Accounts
Answer questions
๏ What business unit of the organization should this be charged to?
๏ Which cost centers are driving my costs up or down?
๏ How much does it cost to operate the product I’m responsible for?
๏ Are there unused resources in my dev/test environments?
@cloudability
Using Tags And Linked Accounts
Focus on Dimension
๏ Which business unit of the organization should this be charged to?
๏ Which cost centers are driving my costs up or down?
๏ How much does it cost to operate the product I’m responsible for?
๏ Are there unused resources my dev/test environments?
@cloudability
Using Tags And Linked Accounts
Maintaining consistency
Tag KeyEnvEnviornmentenviromentEnvironemntEnvironmentEnvironment EnvironmentTypeEnvironmntEnvrionment
Tag programmatically to ensure consistency
@cloudability
Using Tags And Linked Accounts
Maintaining consistency
Be sure to map together duplicate keys
@cloudability
Using Tags And Linked Accounts
Maintaining consistency
Tag everything you can
Cost Allocation
Where to start taggingBy tagging these three, you get a lot more than you might expect:
1. Tag Instances = Compute + Data Transfer 2. Tag EBS Volumes = Volume Storage + Data
Transfer + PIOPS 3. Tag S3 Buckets = Bucket Storage + Data
Transfer
@cloudability
Using Tags And Linked Accounts
Use the Name tag for everything
Use the same Name tag value across multiple resources to roll-up costs into a single line-item
๏ Tag RDS DB instances, snapshots, replicas, etc. ๏ With resource ID, naming is still important, as it describes what you are looking at.
Pro-tip: Concatenate Name Tag = Service-Role-Node
@cloudability
Question: How many of you have a tagging strategy in place?
๏ @cloudability37
Cost Allocation Reporting
@cloudability
Reporting & Automation
It’s all about dimensions
keys
@cloudability
Reporting & Automation
It’s all about dimensions
key
value
@cloudability
Reporting & Automation
Lets go back to our questions
๏ What business unit of the organization should this be charged to?
๏ Which cost centers are driving my costs up or down?
๏ How much does it cost to operate the product I’m responsible for?
๏ Are there unused resources in my dev/test environments?
@cloudability
Reporting & Automation
What business unit should this be charged to?
@cloudability
Reporting & Automation
Which cost centers are driving my costs up or down?
@cloudability
Reporting & Automation
Which cost centers are driving my costs up or down?
@cloudability
Reporting & Automation
How much does it cost to operate the product I’m responsible for?
@cloudability
Reporting & Automation
How much does it cost to operate the product I’m responsible for?
@cloudability
Reporting & Automation
Are there unused resources in my dev/test environments?
@cloudability
Reporting & Automation
Are there unused resources in our dev/test environments?
@cloudability
Reporting & Automation
The cost of untagged resources
@cloudability
Reporting & Automation
Yeah, but what is actually untagged
@cloudability
Reporting & Automation
Finding Untagged resources with new Dimensions
๏ Resource ID adds a valuable level of granularity, and allows you to tag by expense of assets.
@cloudability
Reporting & Automation
Identify costs of specific storage engine costs
@cloudability
Reporting & Automation
Individual untagged EBS Volumes
๏ @cloudability
Reporting & Automation
53
Create user-specific dashboards to keep allocated data top-of-mind
Taking it further
๏ @cloudability
Reporting & Automation
54
Taking it further
Share reports with other users in Finance, Ops, and Engineering
@cloudability
AWS Cost Allocation
Takeaways๏ Use consistent nomenclature that answers specific questions
๏ Tag everything you can, and use linked accounts liberally
๏ Enforce tagging via technology like Cloudformation, Puppet, or Chef
๏ Use the Name tag for everything you can
๏ Use resource analytics to discover untagged resources.
๏ Share the reports with more than just finance
@cloudability
Last Question: How many of you are going to reevaluate how you
tag your AWS resources?
@cloudability
Thank you!Try Cloudability free
Learn more
Questions
cloudability.com
blog.cloudability.com
@cloudability