Part 2 of Series "Why zOpt?"
Cloud offers us incredible scalability, flexibility and convenience, but it comes with costs that companies must manage effectively. While this is true for all public clouds, I will be using AWS specific terminology to consistently convey my point of view.Â
Ask any cloud P&L owner, and 99.9% will confirm cloud overspend and rising cloud cost is a significant concern. The remaining 0.01% are still on the cloud credit program and haven't felt the pain yet.Â
82% CxOs mentioned that "Managing Cloud Spend is #1 Challenge" *Flexera's Cloud State of union 2022.
30% of Cloud Spend is Wasted *Forrester Research
Are you certain your cloud spend doesn't have any wastage?
Cloud Pricing Models
Cloud pricing models are complex and getting a handle on those could be daunting for most cloud users. If you look at cloud pricing from a 10K feet view, the cloud costs are broadly distributed in the following categories.
Provisioned Resources: You create a cloud resource and you pay a fixed amount per hour or month until you deprovision it. For example, you provision an ec2 M6.large instance and you pay $X per hour as long as this resource is provisioned in your cloud infrastructure. Other examples include Load balancers, Databases, EBS Storage Volumes and more.
Committed Capacity: You commit a certain capacity for a year or longer and you pay for this capacity typically on a monthly frequency. The committed capacity offers you a discounted price but you are required to pay for it even if you are not consuming it. For example, you have committed to using 10TB of AWS CloudFront every month for a year, you will pay for the committed capacity even if your usage is less than 10TB. Other examples include Savings Plan for EC2, Reserved Instance for Databases, Reserved Capacity for Data Transfer and more.Â
Consumption Based Pricing: For these type of cloud services, you pay for every transaction. This model does not have fixed costs and is charged purely based on the units you consume. For example, you could use AWS API Gateway, and the number of API calls per month multiplied by the unit cost will be your API Gateway cost. Other examples include AWS Lambda, Data Transfer for Egress & Region to Region and more.Â
Option 1: Get a Handle on Your Cloud Spend - Do It Yourself
"Measure What Matters" - John Doerr
Set up visualization for your cloud spend. Here is a step by step approach:
Set up cloud spend visualization environment and start understanding your cloud spend at a granular level. a) Review your cloud provider's monthly invoice - each line item. It's limited information but a good first step in the right direction. b) Use AWS Cost Explorer views. This data is better than the monthly invoice, but still very limited information with significant manual efforts. c) Set up your cloud spend visualization environment. Follow the steps from my earlier blog Unlocking The Secrets of AWS Cost Visualization and configure your AWS Cost Visualizations. This provides you with the most data compared to option 1.a and 1.b above, but requires a significant engineering effort to set it up and maintain it.Â
Map cloud spend into Provisioned, Committed and Consumption based charges.
Map cloud spend against test, development, staging, production, customer PoC etc workloads.
Map cloud spend for cloud P&L owners and charge-back categories.
Map cloud spend for each cloud service category such as compute, databases, storage, networking etc.
Look at the month over month trends going back to several months.
Actionable Cloud Insights
Let's ponder over the insights that would allow us to take actions.
Is my production workload cost increasing month on month in line with my business growth? (10 Points)
Is my production workload cost increase distributed across customers, product components evenly or is one of the components are significant contributor in cost overruns? (10 Points)
Is my month on month cloud spend increasing uniformly across multiple cloud services or are few cloud services are outliers? (10 Points)
Is the committed capacity being used 100% of the time? The committed capacity could be charged for monthly, hourly or per second usage,
monthly usage (example: data transfer, Reserved Instances) Â (2 Points)
per hour usage level (example ec2 Savings Plan) Â (4 Points)
per second (example: IOPS for your storage, databases) Â (4 Points)
Are the provisioned resources being used effectively? Do I have unused provisioned resources that could be removed or underutilized provisioned resources that could be right sized? Â (10 Points)
Are you using the right units for consumption based spend category? For example, AWS Lambda execution is being charged as 1 unit, but do you have too large, too small unit usage model? Â (10 Points)
Is the month on month cloud spend data available for the past 3+ months ? (10 Points)
Is the cloud spend data accurate and up-to-date to the last 24 hours ? (10 Points)
I have added equal points for each insight that you could target. We have total 80 points in this model.
If you are using monthly invoice or AWS Cost Explorer as your cloud spend visualization base, you could probably score 10/80 points for the insights.
If you are using AWS CUR as a cloud visualization base, you have better chance of scoring higher points. Word of caution, it comes with a significant engineering effort and commitment.
Do score your own cloud spend visualization environment and optionally let us know the score.
Option 2: Get Handle on Your Cloud Spend - Leverage Third-Party Tools
You do have a choice of using multiple third-party tools, and products. You could decide on the right tool by scoring each one of them on these 80 point scale and comparing the cost of ownership.
Using the third party tools will save engineering efforts and get you to 40/80 or higher scores very quickly.
Comments