Economic uncertainty in 2020 is cascading cost-cutting initiatives through every organization. CIOs are not immune—they must achieve these cuts without inflicting operational losses.
Organizations haven’t spent the last few years adopting cloud just for cost savings. The push to AWS and Azure is based on the mix of access to innovation, ease of deployment, and consumption-based IT spend. In 2020, IT leadership must communicate how to cut costs with cloud.
Cloud solutions have an alluring value prop when it comes to cost—pay for what you use and no more. As appealing as that is, there is nuance. Paying for 10,000 EC2 instances doesn’t mean you are using 10,000 EC2 instances: leveraging preferential pricing with RIs or Savings Plans doesn’t mean you are at 90% utilization. “Paying for” and “using” cloud services is not the same thing.
Unlike on-prem IT, with its fixed costs and depreciation cycles, cloud costs are a function of consumption. Flatten the cost curve of IT spend by changing what you consume (cost avoidance) and how you consume it (cost optimization).
There’s always a temptation to over-complicate the “science” of cutting IT costs in the cloud. Some cost-cutting is complicated (e.g., optimizing for containers when you are only familiar with VMs), but there many simple steps to cut cuts. First, double-down on cost avoidance-and stop paying for things you don’t need. Turn off unneeded resources (e.g., delete unattached or orphaned EBS volumes) and right-size ones that are over-powered for what they are being used for (e.g., EC2 t3.2xlarge has double the CPU and memory as t3.xlarge, at double the cost). The tactic is simple; the execution is not. Doing this manually or with native service provider tools is tough. Perhaps it’s time for a cloud cost management solution.
Cost optimization efforts look to reduce unit rates of cloud (e.g., reserved Instances (RIs) for AWS/Azure or committed use discounts for GCP). However, if you twin better rates with low utilization, unit rates will go up, not down. A 70% saving on EC2 instances using RIs over standard pricing is a false economy if RIs are only running at 50% utilization.
#1 Put a cost structure in place. Gain visibility into cloud spend by making sure all company accounts are known and included in the accounting model. Create a cost allocation structure that matches your business. If your company is structured around autonomous business units, your structure should reflect that. If it’s a DevOps organization, create a structure based on products, since each team manages its application end to end. Using automation is a big help. Amazon, Microsoft Azure, and GCP all have tools that help you create and manage your hierarchy.
#2 Tag your resources. Tying spend to an org, or an individual is the best way to cut cloud cost through end-user accountability. Tagging cloud resources (e.g., by org, environment, purpose, cost center, etc.) abstracts cloud use from the technical and puts it in terms of a budget. Deliver cloud cost-savings by holding end-users accountable for what they are using.
Build a robust tagging strategy by:
Prepare for cost savings by adopting a tagging strategy now—even if it seems that the current spend doesn’t warrant it. When spend and usage does increase (which it will), you already have a tagging practice and habit in place. While you wait, the task becomes harder, and you lose trend data. Cost-cutting cloud solutions depend on identifying cloud consumers. The outliers drive variance from plan—tagging identifies the bad-actors blowing up your budget.
In Amazon, you can implement a programmatic tagging solution via a script, API, or CloudFormation templates. For GCP, use the Resource Manager API. With Azure, Azure Cost Management is used to create tagging policies. For all three cloud providers, you can also use third-party products such as Ansible, Chef or Puppet to tag resources. Or try a purpose-built cloud cost management solution.
#3 Use automation to eliminate or shutdown idle instances. EC2 instances and Azure VMs are a lot easier to spin up than take back down. Most organizations have compute cloud resource running, but many are idle. Cost-cutting efforts must address this. Shut down instances over weekends and holidays when they aren’t being used (e.g., testing or production instances). Automate the identification and elimination of unused EBS volumes. Don’t rely on ad-hoc manual efforts—cloud resource management can’t happen at scale without automation.
The AWS Instance Scheduler enables you to configure custom start and stop schedules for EC2 instances. In GCP, to automate resource management, you write a Cloud Function that uses the Compute Engine API. On Azure, you can use Azure Automation to perform repetitive tasks such as shutting down and starting up VMs on a schedule.
#4 Optimize cloud spend with auto-scaling. Take the guesswork out of provisioning infrastructure. CIOs cannot afford to waste spend on underutilized on-prem resources. Likewise, cloud solutions need to be optimized. Leveraging RIs or Savings plans is a possible path to cloud optimization, but you need a cloud cost management solution to maximize the return.
Apptio built its suite of automated solutions for Technology Business Management (TBM) in the aftermath of the Great Recession. Our solutions enabled Apptio customers to make informed cost-cutting initiatives that met the demands of the CFO while still satisfying the SLAs of business partners.
As the economy improved over the last decade, we continued to deliver the core business outcome of IT cost optimization—but those savings were usually reinvested back into IT to fuel more innovation.
In 2020, our customers are using our solutions to deliver the business outcome we first brought to market over a decade ago: smart, deliberate, and cost-effective cost-cutting.
With Apptio Cloudability, save 30% on cloud bills.