Mastering Cloud Costs
It’s well understood that cloud costs are, for the most part, based upon consumption and are not normally amortized as capital expenses — as IT costs were for many decades prior. This profound change in IT cost management has, however, many implications, some clear and many only learned from experience.
Over the past decade, we’ve partnered with hundreds of clients migrating and deploying to, and using the cloud, and we’ve learned a great deal about managing cloud costs. Below, we’ll summarize some of the most important lessons. (But know, this is just the tip of the iceberg: There is both art and science to controlling cloud spend.)
It's Not a Data Center
Let’s put it bluntly: Organizations that simply “copy” their existing IT estates from data centers — with no changes to architecture, processes or configurations — will experience higher, not lower, costs in the cloud. Why? Here are just some of the reasons:
There’s virtually no way to do a one-to-one comparison of data center versus cloud costs; they are fundamentally different paradigms. Data centers, servers, storage, networks and software licenses are depreciated capital expenses with perpetual rights and, often, they are used long after the costs are written off. The cloud, whose costs are consumption-based, has an entirely different model for analyzing run rates. Take the time to understand how cloud vendors charge and model how it applies to your organization.
Best practices for data centers are suboptimal for the cloud. For example, most IT organizations overprovision certain apps with more servers and storage than expected to be necessary to smoothly handle periods of high load. Simply copying this kind of configuration to the cloud means all those servers will, much of the time, run at low levels of utilization. But you’ll still be charged for them. Learn to take advantage of the cloud’s inherent elasticity: Shut down resources on weekends if you don’t use them, downsize your deployments in slack periods and pick the right-sized server instances for your applications.
IT does not plan their “to-be” deployment. Often, IT begins its cloud migration by simply moving applications to VMs in the cloud, and then celebrate the win. But that can’t be the end. Organizations should analyze how cloud-native technologies — like containers, orchestration and serverless — improve application performance and reliability while saving money, both by being cheaper overall to operate and by requiring less operational (i.e., human) supervision.
IT does not recognize the value of cheap experimentation. Not so long ago, to “try” a solution still required resources in the data center: a provisioned server, storage and networking. Today, a brief hackathon using cloud services can validate a new approach at very low cost and very little risk. And the result could be an updated strategy that saves money.
Think About Migration Breakeven
Migration to the cloud can be expensive. Beyond the technical aspects (which can be relatively simple), organizations must devote resources to determining the cloud strategy, what their goals in the cloud are, program management of the migration, the skills development required to retrain staff, and creating and managing the new processes required for migration.
In other words, there can be a substantial cost to migration. Thus, as part of planning and goal setting, IT must calculate how to achieve what we call “migration breakeven,” that is, how to recoup the costs of migration by effective use of cloud resources.
Achieving Cost Accountability
Who is accountable for the cloud resources for which you are charged? Each month, organizations receive a bill for all the cloud functions that they use, and these bills can be long, complex and difficult to parse. Why was there a sudden spike in charges for the data warehouse? Why are we being charged for so many load balancers and who’s using them?
There’s a whole new vocabulary to be learned here: accounts, subscriptions, tenancies and resource tagging among them, to help you correctly assign charges to IT groups responsible, and ultimately to those business units that are making use of the solutions. You need to master these to get the most for your cloud dollar.
Use Your Discounts Wisely
You certainly can pay “list price” for cloud services, which is called “pay as you go:” a charge for the service based on usage (things like the storage used, network bandwidth, amount of time the service is used and other measures). The good news is that, in many cases, cloud services are charged by the hour, which means you have fine-grained control over their usage. However, this is by far the most expensive option, perhaps best for early periods of experimentation. To reduce costs, consider the following opportunities for discounting:
Reserved instances, in which you contractually commit to use of a cloud resource (like a VM) for some period, like a year or three years, in advance. Reserved instances can save as much as 70% or more over pay-as-you-go. They are most cost-effective when used for resources whose usage is relatively fixed and static; for example, an application database that always must be there no matter how many users are using it.
Spot instances, where resources are allocated from an unused “pool” in the cloud for a limited period. As a quite inexpensive option, spot instances are particularly useful when applications need to scale up in response to heavy load for a brief time; but they can be reclaimed by the cloud vendor for a higher-paying customer (with a few minutes’ notice).
Negotiation, that is, when a large customer enters into an agreement (like an enterprise agreement) in which pricing is agreed upon for the duration of the agreement (say, three years). During negotiation, customers can potentially bargain for lower prices. Are there competitive alternatives? Less expensive third-party services? Investigate these for potential leverage.
FinOps Requires a Change in Culture
That’s what the FinOps Foundation says, which advocates process and cultural changes to help organizations keep their cloud costs under control. FinOps-educated teams use tools (such as AWS Cost Explorer, Microsoft Cost Management, Google Cloud Cost Management, and/or a variety of third party tools) to watch their costs on a daily, or even more frequent, basis.
By using such tools, teams — and it’s often the teams, not a centralized IT finance function — can see historical trends in resource usage, identify causes of spikes and opportunities for savings. That very day, in many cases. Some companies even create friendly competitions to see which team can save the largest percentage of spend month over month.
Governance is Key
Finally, as with most things in IT, governance is key. A strong governance function sets cost goals and monitors progress and adherence to these goals, and provides processes for requesting exceptions, new initiatives and so on. Again, tools being used at the enterprise level can provide visibility into spend at an organizational level.