Cloud computing provides a variable cost model and reduces the need to budget for on-premises data center spending. However, there are many budgeting pitfalls you might encounter that unintentionally drive up your cloud costs.
Platforms like Microsoft Azure give you plenty of tools to help control cloud costs, but it’s not always easy to know where to begin. Here are 12 tips to help you lower Azure spend and get more ROI from your Azure environment:
1. Understand how Azure pricing works
Whether you are making the jump from Amazon Web Services (AWS) to Azure, deploying a multi-cloud environment, or all-in on Microsoft’s cloud platform, you should have a clear understanding of how Azure’s pricing model works. The best way to lower Azure spend is to know what you’re spending money on, so getting familiar with their pricing structure is the best way to begin saving. Like AWS and other cloud providers, Azure offers a number of services across compute, storage, networking, and data analytics. If you’re new to Azure, that also means being aware of how the terminology differs from platform to platform.
Azure pricing covers a number of popular services and technologies, from compute and containers to storage and security. In many parts of the world, Azure will bill for services in U.S. dollars. Take note of any exchange rates or ask your cloud solutions provider for more details on your Azure pricing.
2. Take advantage of reserved VMs and discounts
Azure Reserved Virtual Machine (VM) Instances work like AWS Reserved Instances (RIs) in that they enable you to pay in advance for your virtual machines. Like AWS RIs, Azure RIs save about 72% on cloud computing costs when compared with pay-as-you-go pricing, according to Microsoft.
When used alongside Azure Hybrid Benefit, Azure RIs can save up to 85% compared to pay-as-you-go pricing. Azure Hybrid Benefit is a service for hybrid cloud users who want to leverage their on-prem Windows Server and SQL Server licenses in the Azure cloud.
3. Optimize workloads by VM type
Paying attention to which types of resources you’ve provisioned can help to significantly lower your Azure costs. Understanding which Azure VM types are ideal for the workloads you want to run is important when trying to lower Azure spend. Azure VMs are broken out into several different types based on their overall purpose. Similar to AWS EC2 instance types, Azure VM types and their series include:
- General Purpose: Bs- and D-Series (and previous generation A-Series) — Designed for testing, development, small and medium databases, and low to medium-traffic servers
- Compute Optimized: F-Series — High CPU-to-memory ratio, designed for medium-traffic web servers, network appliances, batch processes, and application servers
- Memory Optimized: E-, M- Mv-, and D-Series — High memory-to-CPU ratio, for relational database servers, medium to large caches, and in-memory analytics
- Storage Optimized: Ls-Series — Ideal for Big Data; data warehousing; and SQL, NoSQL, and large transactional databases
- GPU: N-Series — Specialized VMs for graphic rendering, video editing, model training and inferencing, deep learning, and remote visualization
- High Performance Compute: H-Series — The most powerful VMs currently available
4. Right size your VMs
Right sizing means making sure that what you have provisioned is neither too much nor too little capacity for what you need. Overprovisioning means that you’re paying far more than you need for VMs or other Azure resources. However, if you under-provision resources, then you run the risk of not being able to meet demand.
Using the list above, for example, if you’re running H-Series VMs for high performance (starting at $581 per month) when what you really need are D-Series VMs designed for general purpose computing (starting at about $42 per month), you could be spending hundreds of dollars extra per month than is necessary.
5. Move (your data) to another region
Azure costs vary by region, or the set of data centers within a specific geographic location. Each region then contains different availability zones, with their own independent power, network, and cooling to provide redundancy in the event of a data center failure.
Consider the geographic location of your resources when estimating costs. When possible, you can also elect to move workloads to another, less expensive region. Wondering where your data can or should live? Think about where your SaaS solutions live when thinking about your sovereignty, latency, security, and cost.
6. Shut down idle and unused VMs
Going from data center purchasing habits — buying the largest available computing capacity — to spending in the cloud can be a bit of a culture shock. While you do need to plan for peak traffic, the cloud is elastic in that you don’t have to run at full power 24/7.
Using a cloud management platform, you can check for idle, unused, or underutilized VMs to better utilize your cloud resources. Idle VMs are VMs that were once running but have been left on, driving up costs. Meanwhile, VMs that have been unused or underutilized were purchased but have not been taken advantage of.
With any cloud platform, you don’t pay for what you use — you pay for what you order. Clearing up resources that you no longer need can help significantly lower your cloud bill.
7. Use autoscaling to drive down costs
Another way to control costs during your non-peak hours is by automatically scaling your usage. Autoscaling is when you set up pre-defined rules for your compute, database, and storage resources to scale automatically if they go above or below a certain threshold.
Azure Autoscale dynamically scales cloud services, Virtual Machine Scale Sets, and more to help meet fluctuating demand. Autoscaling ensures that you always have applications available without having to pay too much or facing performance issues and outages.
8. Cool it on the unnecessary “hot” storage
How often do you access your data? Depending upon how often you use your Azure Blob storage, you may not need to access or modify data as frequently as you think. However, if you’re keeping that infrequently accessed data in the “Hot” storage tier, which has the highest storage costs, you could be paying too much.
While Hot storage is affordable and easy to access, it’s expensive to keep archival data there. Consider moving it to Cool storage or the Archive tier. Azure Cool storage should be stored for a minimum of 30 days and is kept online. The Archive tier is offline but has flexible latency requirements for when you need to access that information. Either option can lower your cloud spend, as long as the data stays infrequently accessed.
9. Manage your budget with Azure cost tools, reports, and alerts
Microsoft’s cloud offering includes several cloud billing management tools for cost estimation, reporting, and alerts to help you lower Azure spend and stay on budget. Some of these tools include:
- Azure Pricing Calculator: Understand Azure pricing and predict costs of running workloads
- Azure Portal Cost Management + Billing: Use the Azure Portal to estimate monthly costs for services
- Azure spending limit alerts: Receive email notifications when you reach spending limits for specific Azure services
- Azure Advisor: Optimize infrastructure for performance, availability, and costs
10. Perform an Azure Well-Architected Review Assessment
Microsoft Azure offers numerous assessments to help you evaluate your Azure environment against industry best practices. A Well-Architected Review helps you examine your workload through the five pillars of the Well-Architected Framework: reliability, security, cost optimization, operational excellence, and performance efficiency.
Some of the topics included in the cost optimization pillar include:
- Cost requirements
- Cost of resources in Azure regions
- Initial cost estimates
- Platform-as-a-Service (PaaS)
- Provisioning of cloud resources
- Monitoring and optimizing cost
- Tradeoffs between costs and other aspects of architecture (e.g., security, resilience, scalability, and operability)
11. Bring FinOps practices to your organization
If your team is working to lower Azure spend, you and your colleagues need to align on more than cloud costs. Building a FinOps practice can help lower your Azure spend and promote alignment around cloud budgeting across your organization.
FinOps, short for cloud financial operations, is an approach that combines data, organization, and culture to help companies manage their cloud spend. A FinOps practice balances advanced metrics and measures of success around cloud cost optimization with the organization’s business goals and metrics, such as revenue, profit, growth projections, and long-term analysis.
Anyone can practice FinOps, but you’ll want to ensure that you have the right stakeholders weighing in on your cloud finances. Traditional cost management practices revolve around cloud owners, such as architects and managers. However, FinOps bridges gaps between disciplines like IT, engineering, DevOps, and finance, and it also requires buy-in from one or more members of the C-suite (CFO, CTO, and others).
The FinOps Foundation provides a helpful framework for developing a FinOps practice. They narrowed down the building blocks of FinOps into six key principles, which can be approached in any order:
- Teams need to collaborate: Gather buy-in from engineering, finance, and other disciplines
- A centralized team drives FinOps: Establish a team to govern cloud costs, purchase committed use discounts and reserved instances, and other discounts
- Decisions are driven by business value of the cloud: Teams benchmark costs against business performance
- Everyone takes ownership of their cloud usage: Each team should manage spend and drive accountability
- FinOps reports should be accessible and timely: Continuous reporting, monitoring and automation using cloud management tools gives stakeholders timely access to cloud cost data
- Take advantage of the variable cost model of the cloud: FinOps practitioners should compare pricing models to determine what cloud
Bringing FinOps to your Azure cloud management can be a valuable method of lowering costs and promoting accountability throughout your organization. Ask yourself which stakeholders need to be involved as you work to lower Azure spend and optimize your cloud usage.
12. Lower Azure spend with a cloud management platform
Native tools can tell you some of the story around your cloud costs. A cloud management platform can provide additional analytics and insights for complete cloud governance and increased visibility into your Azure environment.
Spot by NetApp’s suite of solutions, including CloudCheckr and Spot Eco, can recommend reserved VM instance purchases, find idle or unused resources, right size VMs, and set daily and monthly budget alerts to stay on top of your budget. The customizable and sharable reports and dashboards within CloudCheckr play an integral role in driving FinOps best practices by making cloud spend data visible and accessible to all key stakeholders.
Learn more about managing your Azure costs with Spot by NetApp.