Agencies are rapidly adopting FedRAMP-accredited cloud services. As cloud workloads start to pile in and more developers start to acquire numerous accounts and services, the ability to manage costs gets harder. Program and project managers often struggle to implement effective cloud cost accountability across large distributed teams. It is important to consider the totality of available solution strategies for program managers. Broadly speaking, cloud cost management strategies fall into three main buckets: 1) Business solutions, 2) Technical solutions and 3) Programmatic solutions. Let us take a look at each one of them in turn.
1) Business Solutions for Cloud Cost Management
Business solutions for cloud cost management focus on establishing the right contracts, pricing commitments and adopting channel strategies to acquire cloud services. Here is a quick summary of some commonly available options.
1.1) Enterprise Discount Program (EDP): EDPs are great for large enterprises with significant consumption spend with major vendors. In return for enterprise-level consumption commitments, customers get discounted pricing. This is typically a “corp to corp” arrangement with direct discussions between the buyer and vendor. Many times due to procurement rules, terms and conditions etc., this option may not be available to all buyers.
1.2) Reserved Instances (and variations): Once organizations stabilize in their cloud consumption patterns and understand instance types, families and regions, there is an opportunity to reduce the per-unit cost using reserved instance pricing models. In return for a commitment and upfront payment over a one- or three-year term, organizations can get lower per-unit pricing. To go with other options like spot pricing, purchasing instances from the marketplace are relatively advanced strategies organizations can use as well to manage costs.
1.3) Value-Added Reseller (VAR) Programs: Value-added resellers offer discounts to help drive consumption and manage billing for customers. Many organizations have the mistaken notion that if they go direct or swipe their credit card they will get the best price – this is an erroneous assumption. Large enterprise IT service distribution models are offered through value-added resellers who are able to offer discounts over list prices. VARs are also able to serve as a customer advocate on the clients’ behalf and assist with promotions/credits, solution acceleration funding and other incentives.
2) Technical Solutions for Cloud Cost Management
Technical solutions are normally within the realm of the DevOps team and generally involve using specific tools, technologies or techniques towards taking advantage of dynamic resource management in response to demand given the pay-as-you-go pricing model.
2.1) AWS Trusted Advisor for Utilization Monitoring: AWS Trusted Advisor provides detailed information on cost optimization opportunities including identifying low cpu utilization instances etc. DevOps teams can easily devise cost-saving strategies to ensure low-utilization instances, unused EBS volumes and similar metrics that are tracked and acted on.
2.2) Instance Scheduling: Implement instance scheduling if your compute needs have a specific time-based usage pattern. This allows you to take advantage of the pay as you go model by shutting down instances when they are not being used.
2.3) Cost Explorer and Usage Reports: There are a number of billing and monitoring services like Cloud Cost Explorer as well as Cloud Usage Reports (CUR). This typically requires a billing or usage analyst to perform the monitoring functions to help pinpoint consumption.
3) Programmatic Solutions for Cloud Cost Management
Program Managers have the most critical role to play in effective cloud cost management. Accountability starts from the top, and it is essential for program management teams to take cloud cost management seriously. Here are critical strategies that help make or break an effective cloud cost management initiative.
3.1) Select the right cloud cost management strategy and metrics: Most organizations get fixated on tracking and managing costs in isolation. The amount of the monthly bill becomes the de facto and only metric for driving cloud cost management. This can be a costly mistake – just looking at cost can drive incorrect optimization and consumption behaviors. Instead, it is more important to estimate and track cloud consumption. How much of compute, storage or networking do we really need? How much idle or wasted capacity do we have? It is critical to start tracking idling, wastage and efficiency that ultimately lead to cloud cost optimization.
3.2) Set the right cloud cost management objective: Many organizations lack an explicit cloud management vision and objectives statement. It is critical to make sure that the roles and responsibilities definition for various cloud users’ roles includes a section on cloud cost accountability. Most organizations get hyper-focused on cloud cost optimization, which tends to be a one-off event, rather than looking more durable management practices that deliver better outcomes over a longer period of time. Cloud cost accountability must flow down from program managers to product owners or system owners and to the team leads with tracking, reporting and trending analysis.
3.3) Persistent management oversight drives change in behavior: Program managers must implement accountability and governance practices such as weekly “cloud cost reviews” that use simple business metrics to help drive the importance of driving efficiencies. Reviewing cloud bills once a month is normally not enough and is certainly too late to affect changes in a timely manner.
Practical Challenges for Cloud Cost Management
While all of the tools and strategies described above provide key structural elements for driving cloud cost optimization, they are of limited use for cloud utilization optimization. How do you detect and prevent waste? Most organizations fail to distinguish between cloud cost optimization and cloud utilization optimization. Cloud cost optimization is generally focused on reducing the “per unit cost of consumption” and project managers are fixated on their monthly bill. Optimization strategies purely focused on cost can lead to strategic mistakes like overbuying reserved instances. How do you know what your optimal cloud consumption should be in the first place? How much idle capacity do you have?
Do join the conversation and share your experiences and best practices!