28 Actions You Can Take to Manage Cloud Costs
15 minutes could save you 15% on your AWS, Azure or Google Cloud bill.
Join the DZone community and get the full member experience.Join For Free
With cloud becoming the new normal, and organizations moving toward digital business initiatives, the dynamics of IT have completely changed.
In order to stay competitive and keep up with multiple innovation initiatives running simultaneously, companies require immediate infrastructure availability—a tall order in traditional data centers, but practically instantaneous with public cloud.
As we gain a better understanding of the driving factors of public cloud adoption, it’s also important to understand that since all public cloud vendors are API-driven, infrastructure components are decoupled from each other, and are converted into a single application stack. And these multiple resources to manage come with a price tag.
Let’s look at an example.
A standard bare metal or virtual server in traditional IT would be available by procuring hardware, bandwidth, and power—or by renting it out at a fixed price on a monthly basis. In the case of public cloud, the dynamics change: organizations pay for compute, storage, network, and PaaS with a different pricing model based on different usage metrics that vary vendor to vendor. This raises a question: how can IT teams optimize and govern those varying public cloud costs?
Based on our experience working with public cloud providers and helping organizations across different industries, let’s examine 28 ways you can optimize your cloud spend.
Understand pricing models: Each cloud vendor has a different pricing model for different services. If you’re a public cloud user, be sure you look into the fine print on what those entail.
Identify key cost contributors: Based on your cloud spend, identify services that are key contributors to your monthly spend and focus on them with a top-to-bottom approach.
Analyze workload usage patterns: Detect usage trends for each of the services utilized on the public cloud, paying special attention to the key cost contributors. Then, collect metrics like CPU, memory, disk/storage, API, etc.
Compare your usage against spend: Does each service justify the cloud spend it requires? If not, identify optimization opportunities; there’s a chance some services are overutilized due to a flaw in the application code.
Identify unused resources: Since every service is available with the click of a button, each one could be provisioned and completely forgotten, which leads to orphaned or unused resources, costing thousands of dollars.
Identify underutilized resources: With the help of cloud usage patterns you’ve collected, identify specifically those resources which are not utilized for the intended purpose and plan for optimizing and right-sizing.
Excavate archaic data: Along with the key cost contributors, it’s also important to analyze services that have a higher chance of storing purposeless archaic data
Get your house in order: Once you’ve identified unused resources, initiate the clean-up process. To be safe, consider taking backups of some resources beforehand.
Scale down underutilized resources: Based on your usage patterns, slowly scale down resources to the next smallest size, ensuring the size-down doesn’t impact application performance. Continue this exercise until your workload runs at its desired level.
Clean up archaic data or usage: Once you’ve identified archaic data, take backups and/or clean up. Implement a lifecycle policy to ensure cost control and other issues don’t surface again.
Upgrade infrastructure with the latest generation resources: Public cloud providers keep optimizing their services to ensure security, performance, and cost are competitive; so, it’s wise to also optimize your infrastructure with those upgrades to stay on top of the game.
Leverage on-demand services: Plan to leverage services on-demand for workloads that don’t run in-production. Since development teams can’t work 24/7, it’s ideal to automate your start/stop workloads.
Consolidate accounts: When running services from public cloud providers on multiple accounts, try to consolidate your accounts—most providers have a volume-based discounting pricing model that can help you optimize cost.
Baseline your infrastructure: While going through the analyze and optimize exercises, it’s possible to reach the baseline of your infrastructure, which you need to run any workload. There might also be times when your infrastructure needs to be scaled out, so keep those needs in mind.
Separate the workloads: Based on the usage patterns and purposes of your workloads, separate them into different categories like stable, variable, long-term, and short-term.
Performance requirements: You may have workloads that need to scale out to meet performance requirements. Identify them and their capacity requirements. Performance and load testing by engineering teams can help you meet this goal.
Reserve resources: Once you’ve identified stable workloads for each environment, reserve these resources. Reservations are smarter financially if the capacity meets different vendors’ pricing models. If you have workloads running across multiple accounts on demand in different time zones, consider reserving some capacity for dynamic workloads.
Chargeback and Budgeting
Create business units: Each workload has a specific function; based on your organization’s structure, create business units and define the owners. Assign these workloads to these business units, ensuring they’re responsible for the charges.
Identify requirements for each BU: Each BU should provide capacity and scale requirements for their workloads that are stable for the short-term, but flexible enough to meet budgeting demands.
Create a budget and chargeback policy: Based on your requirements, define a budget for each BU. Communicate the budgets to each BU owner, making sure they’re responsible for staying optimized and within budget.
Continuous Cost Governance
Find a suitable cloud management platform: Managing infrastructure on a public cloud means dealing with huge amounts of resources—both decoupled and connected with each other. Performing analysis and optimization manually is difficult and
Set up billing alerts: Most cloud management platforms provide billing alerts and a cost summary, so make sure every business unit owner gets both daily. Also, create budget alerts that notify BU owners when their spend gets close to the top of the budget.
Define cost governance policies: Policies vary by organization, but just as reviewing cost summaries can lead to immediate savings, your infrastructure should be provisioned only through automation, ensuring key tags are always assigned to each resource (since not everyone has access to infrastructure provisioning).
Get tagging: Public cloud providers support tagging infrastructure, which can help identify workloads for management, segregation, and billing purposes. Your cloud management platform can then consume these tags and generate different reports.
Automate: Adopting infrastructure as code (IaC) can help maintain the consistency, visibility, and traceability of your infrastructure.
Rinse and repeat: Though cost governance can be repetitive, if done on a daily basis, your cloud spend will stay optimized.
Re-evaluate architecture: Since cloud providers are always innovating and evolving, it’s a good idea to re-think your cloud architecture and look for potential optimization opportunities.
Dig into the numbers: Start reviewing required reports using your cloud management platforms. Many CMPs provide different types of reports (e.g., usage reports, spend reports, custom reports, etc.). See what best suits your needs and define governance around it.
Want an easier way to manage public and private cloud costs? Consider Nutanix Beam your right-hand-tool for keeping spend under control. Try it today for free!
Published at DZone with permission of Jordan McMahon. See the original article here.
Opinions expressed by DZone contributors are their own.