Beginners guide to managing costs in Azure
Microsoft Azure is an extremely powerful and feature rich cloud environment. One can create small websites to heavily resourced virtual machines and the user journeys are largely the same. One has the ability to further scale up your resources with the movement of a dial or the click of a button. This ease of use despite being a massive value add is a significant risk as unknowingly your technical teams can very quickly deploy expensive infrastructure whose monthly consumption will leave you staggering and potentially even questioning your choice to implement Azure.
These pitfalls can be avoided but one needs to create the right foundations, keep an eye on your environment and its consumption as well as make sure your technical staff are making the right decisions and choosing the right options when deploying new services. Once you’ve got that discipline and internal processes in place you’ll easily be able to begin to expand and enjoy your cloud environment.
Get to know the Azure Portal
The Azure Portal (the updated UI for managing your Azure subscriptions) is very easy to navigate once you know your way around. However learning your way around can be difficult and when you first land, it can be quite daunting. Because of this very often important considerations are missed in favour of quick and easy execution. Spend the time exploring this environment, know its features and know how to access and manipulate the myriad of settings at your fingertips. This comfort will stand your technical team in good stead to make sure Azure is most optimally used.
Azure Resource Groups allow you to manage all the resources associated with your application at the same time. The key point in understanding Resource groups are that they work best when managing applications/solutions granularly. A resource group should not contain collections of disparate applications or even applications that belong in the same eco-system but are significantly different in form, function and purpose. Services in the same resource group will use the same service plan. Technical staff therefore need to be careful not to create services in inappropriate Resource Groups as this will result in the new service inheriting the service plan of the Resource Group. An example of this is a QA environment being created in the same Resource Group as the production environment. The QA environment will be scaled to the same service plan as the production environment resulting in unnecessary and/or unintentional spend. Manage in separate resource groups and manage the service plan of each Resource Group as required. Lazy clicking here can result in substantial money loss down the line.
Manage your pre-production environments
Our rule of thumb is to put Dev and QA environments on the Basic service plans effectively meaning our pre-production environments have very little to no cost impact. It is quite easy to replicate production environments in Azure and unwittingly inherit oversized resourcing. When creating new services double check your service plan settings. The free tiers in Azure give you a lot. Use them when and where you can.
Azure SQL Service Plan:
Use the service plan that makes sense for your SQL database requirements. Traditional solutions generally are deploying SQL databases onto mature multitenant environments and as such the hardware provided tends to be more than capable to suit the job. However as Azure SQL DBs are standalone one needs to be cognizant of your true requirements. It’s easy to scale up, so start low and upgrade your plan if need be. The diagnostics information provided by Azure will very quickly inform your decisions or lay your mind at ease.
Stay away from virtual machines where possible. The path of least resistance in the move to cloud is very often to just replicate your virtual environment in the cloud. While this does bring many of the benefits of cloud to the table, it is very much scratching the service of the potential of the cloud. Virtual machines are also one of the most expensive options to use when using Azure. Take the time to dig deeper into the different Azure services and implement appropriately rather than taking the shortest route. Your wallet will thank you.
Taking the five above points into consideration will drastically help you to manage your Azure spend and also allow you to better critique your cloud configurations. My last piece of advice would be to connect your Azure environment management to Power BI. There are some out the box Power BI templates which will greatly assist in providing insight into your consumption and spend patterns. Azure is an extremely powerful environment, however to coin a well-known phrase “With great power comes great responsibility”.