One of the reasons for companies to start using cloud is the powerful cost savings they can achieve with it. While saving costs in the cloud compared to on-premise could be achieved, very often companies end up spending more than anticipated due to a wide range of reasons. Some of them are undefined governance and authority, lack of budgeting, cloud sprawl. The good news is that with some analysis and proper planning, you can master your Azure cloud and achieve true Azure costs optimization.
From setting up and optimizing Azure tenants to completely restructuring others, I have helped clients with their, in some cases extremely high costs. Therefore, in this blog, I go through the main points that might need attention in your Azure tenant:
1. Right-Size VMs
Right-sizing VMs focus on optimizing the utilization of existing resources. The best practices are telling us that each VM CPU should be utilized no more than 80-90% so it does not cause bottlenecks. If the usage is lower, it means the VM could be downsized and therefore use a cheaper option instead. To properly right-size, you need first to understand utilization trends in your environment, then apply utilization metrics to compare with available VM sizes. Often the Azure Advisor and some 3rd party apps can help by proposing proper sizing after they examine your existing VMs. It is also easy to change sizes in real-time if you get complains from users about loading times for instance.
2. Schedule VMs to Start/Stop Based on Usage
This one sounds simple enough, but it does take some analysis of usage patterns and consideration of availability. Autoscaling can also be used in conjunction with schedules to provide elasticity and even more savings. There are several ways to implement automatic start/stop functions with Azure Automation Runbooks as an easy starter. Schedules can be especially effective for test/dev or environments with fixed availability where you know when each system is going to be used.
3. Eliminate Waste
While this is a very general idea, there are a lot of ways to eliminate waste. As a starting point, you can try to put a proper governance strategy which should help define how to identify and eliminate waste. One of the main governance strategies is resource tagging. Once defined and properly implemented, it is easy to identify and actively manage resources based on their tags (i.e. environment, created by, date created, application name, etc.)
4. Use Reserved Instances (RI)
Reserved instances are a way of “subscribing” to a number of VMs and their sizes in Azure for a period of 1 or 3 years. Basically, most of the resources which are measured by compute units can also be reserved. Using that, Microsoft bills at a fixed rate for them which provides a lot of cost-saving opportunities, in some cases 40-50%. For more convenience you also get to choose your billing model – upfront for the whole period or monthly for better cash flow management. Most reservations are applied on an hourly basis so you should consider reservation purchases based on your consistent base usage. You can determine which reservation to purchase by analyzing your usage data or by using reservation recommendations. Recommendations are available in:
- Azure Advisor
- Reservation purchase experience in the Azure portal
- Cost Management Power BI app
In most cases, the normal Pay-as-you-go model of billing should not be the preferred one, except for cases where you know you are going to need the VMs in question for a brief time (less than 1 or 3 years which is the period for RI as mentioned). So, you should always consider historical/forecasted runtime and resource utilization prior.
5. Leverage Azure Hybrid Benefit
Azure Hybrid Benefit (AHB) is a licensing benefit that lets you bring your on-premises Windows Server and SQL Server licenses with active Software Assurance or subscriptions to Azure and helps to significantly reduce the costs of running your workloads in the cloud. The benefit can be combined with Reserved VM Instances to provide up to a 70% savings vs the Pay-As-You-Go model. The additional thing here, apart from using only the RIs, is the option to use your existing Windows Server or SQL Server licenses with Software Assurance to run the Azure VMs. As a result, you are left with just the paying of the hourly rate for computing of the VM, removing the hourly cost of the OS/SQL Server license. This is even suitable for customers who don’t have eligible licenses – they can buy licenses or use a 1 or 3-year subscription model and still get the preferential prices.
6. Analyze subscriptions’ workloads
This especially applies to big companies where you can’t follow everything that happens in the departments. You can try to communicate and review what kind of applications/systems are working in the subscriptions, and whether each of their business models is justified and needed. It often happens that there are some ghost resources (or even whole resource groups or subscriptions) which aren’t used anymore or the person by whom they are created has left the company and you don’t know if that system is being used and what for. Analyzing the workloads can also lead to improvement (and therefore cost optimization) when you come up with new ideas of how you can change the way the given system is working.
A 7th bonus option
Assign a Cloud Center of Excellence (CCoE) person with the responsibility of taking care of all the steps above. CCoE is based on Microsoft agile practices and a delivery model that provides a programmatic approach to implement, manage, and operate the Microsoft Azure platform for onboarding projects and Azure workloads effectively. This Solution utilizes DevOps principles combined with cloud native service management, cost considerations and security controls to empower IT to deliver and optimize products and services with speed, agility and control. These specialists often have broad knowledge in several cloud providers and all of their functionalities at once. So, Azure and AWS can be just two of their cloud skills arsenals.
These are some of the possible approaches which you can use to tidy up your Azure tenant. Of course, if you make sure you have an Azure Governance strategy in place early and ensure proper enforcement, you can minimize waste from the start.
Need advice on how you use Azure to your best advantage? Let us take a look at how we may save you thousands of your Azure bills. Read more about our experience with Azure.