Cost management is a major challenge for organizations that use public cloud services.
We’re going to show you 12 techniques to overcome this challenge by using simple processes and cloud-native capabilities.
An example scenario
Imagine a business leader proposes a new solution that is projected to generate $100,000 of revenue per month. They are expecting 100,000 customers to visit the website on weekends, but only 10,000 during the weekdays. The technology team designs and builds a solution on Microsoft Azure consisting of a replicated website and a SQL database.
The app works beautifully, generating $110,000 in the first month. The team deployed the website to development, test, and production environments:
The CFO gets a $500,000 cloud bill at the end of the month for ALL cloud services. This falls well within the $700,000 monthly public cloud budget, so everyone is happy.
What went wrong?!
Did you notice that while this app is generating $110,000 per month, the cost to host it is $150,000 per month? That’s a loss of $40,000 per month! Let’s explore what should have been done differently.
Cloud Finance Visibility
The first problem here is lack of visibility. The CFO has an all-inclusive $700,000 public cloud budget, without visibility into how it is allocated. There may be tens or hundreds of cloud services within this budget. How does the finance team know that this allocation is being used in an appropriate way?
Technique #1: Micro-budgets
With traditional on-premises technology, each component in the datacenter would be listed on the budget and authorized by the finance department prior to procurement. By contrast, many organizations have a single cloud budget, with little discussion about the workloads that consume it. This is the first mistake.
In a more mature cloud cost management model, each workload should have its own micro-budget that is directly related to the projected financial gain. This is a big advantage of cloud computing – we can directly link the underlying investment to the resulting profits and determine the return on investment.
This makes it easier to identify which workloads are a good return on investment.
When deciding to provision our example application, a discussion centered around return on investment should have happened. Considering the revenue projection of $100,000 per month, setting a budget of $50,000 per month may have made more sense. This could have led architects to make cost conscious design choices, ultimately resulting in a profitable application.
Technique #2: Budget Alerts
A budget configuration on the cloud platform could have been used to automate alerts to the finance team and business stakeholders. If the application starts going over budget, people are informed automatically in near real-time, providing them with visibility and an opportunity to respond.
By making these relatively simple process and technical changes, tracking costs at the application level becomes easier. It ensures everyone is aware of financial constraints during design and holds people accountable to the costs. Ultimately this could have saved the organization from making a costly mistake.
Technique #3: Dashboards
Providing a dashboard to the finance team could have been valuable. This adds another layer of defense to the war on cloud costs. It may have shown a change in the trend of cloud spending, indicating that something was wrong.
With financial transparency in place, architects can make well-informed decisions about how the application should be designed. Can further actions be taken to reduce the costs from $150,000 to $50,000 per month and keep this application within budget? Let’s take a look!
Technique #4: Reserved instance pricing
This application was a 5-year initiative. Cloud providers offer heavy discounts for workloads that you commit to run over a long period of time. By taking advantage of long-term commitment pricing, the SQL database cost could be reduced by as much as 50%.
Technique #5: Elastic Compute
The web application only needs to be scaled up on weekends as the load will be far lower during the week. By taking advantage of elastic cloud services, we don’t need to pay for peak load 100% of the time. This should cut costs by about 50%. Further discounts may be attainable through reserved instance pricing here too.
Technique #6: Lower load, lower SKU
The test environment database can be set to much lower SKUs because it doesn’t need to run a production load (it's only used for testing).
Technique #7: Automated destruction of lower environments
The test environment web servers can be set to much lower SKUs because they won’t run production loads. They could also be automatically turned off on evenings and weekends if they were built using immutable infrastructure and pipelines, so they only run when needed.
Technique #8: Reduced redundancy requirements in lower environments
The Dev environment can take advantage of the same savings as the Test environment, but also doesn’t need redundancy, so we can stop paying for that too.
Technique #9: Cheaper pricing for dev/test subscriptions
We can go ahead and apply the same SQL savings as before to our Dev environment. Further discounts can be realized by leveraging dev/test subscription models, which typically bill at a lower rate but have less appealing SLAs.
In total this new architecture costs $30,500 which is well within the budget. This highlights the importance of having a cost management plan with cloud computing. The same application could cost 5x the price if financial implications are not considered.
Operationalizing Cost Management
There’s clearly a lot to gain from appropriately managing cloud finances. The final phase of cost management focuses on achieving the above techniques consistently through automation and well-defined processes.
Technique #10: Community of Practice
A Community of Practice (CoP) is recommended to unite stakeholders from multiple disciplines to discuss cross-functional requirements. For smaller organizations, consider making cost management a part of your Cloud CoP. Larger organizations may have a dedicated cloud cost CoP. This provides a dedicated space for planning, input, and feedback, ensuring that all stakeholders stay on the same page.
This group can also manage shared reservation capacity, ensuring that cloud spend stays at the minimum required level.
Technique #11: Cloud app onboarding processes
We may have solved some issues above by ensuring budgets are appropriately defined at the application level, but now you need to ensure that this is the case for every workload. Consider creating a consistent cloud onboarding process for new applications, with budget planning an essential step of the workflow.
Technique #12: Cost control enforcement
As with anything, some people are going to want to bend the rules. Skipping cost management steps might save time but could be costly for your organization. Luckily, there are some solutions you can put in place to mitigate the risk. Consider the following methods to help people follow the process and make the process easy to follow.
Use cloud policy to apply a default budget if one does not exist.
Use cloud policy to enforce budget overage alerts to guarantee finance are kept in the loop on any overspend.
Provide code and pipeline templates to make it easy for people to follow the rules.
Setup controls in your CI/CD pipeline to enforce automated destruction of lower environments when not in use.
Many of the techniques above are associated with FinOps, a framework for cloud financial management that works well with dynamic cloud deployments. We highly encourage you to use these techniques in your cloud environments. In our example, two solutions with identical functionality can cost anywhere from $30,000 to $150,000 depending on the level of cost management you employ. While these numbers are for example only, they are derived from actual cloud costs from major cloud vendors.
A recent survey by veritas indicated that 94% of respondents reported their organization has incurred higher costs than originally anticipated when using a public cloud service provider (CSP) and are overspending by an average of 43%. Perhaps by employing more of these techniques, we can help to reduce these numbers!
This article was Part 3 of our “9 things C-Suite executives need to know about Public Cloud” series. Follow us for more Public Cloud strategic insights!
Get help with your Cloud Platform today!
Get in touch with us today through our Contact Page to start your journey to a compliant, efficient, and more cost-effective cloud! We teach organizations how to get the most value out of their public cloud investments.
Follow our LinkedIn page to stay updated on new posts about cloud technology strategy, techniques, and tips.