Published Date: 10 May 2022
There are so many options available in Azure for the type of subscription and consumption plan a product or service might use, and all of these decisions will affect the cost that you incur. This article will help describe how I‑Finity has helped some customers optimise their costs whilst keeping their product running at maximum efficiency alongside key techniques.
Key Terminology Explained
Microsoft provides a wide variety of products which are structured in a hierarchical manner, from organisations, subscriptions, and licenses to user accounts for consistent use of identities and billing.
- An organisation represents a business or entity that is using Microsoft Cloud, this is normally described by the Domain Name System (DNS) domain name. They are containers for subscriptions.
- A subscription is an agreement with Microsoft to use one or more Cloud platforms or services. These services can range from free to paid, and most have a subscription tier that increases the functionality available to the user but also increases the price of the monthly subscription to use them.
Therefore the need to be able to optimise exactly which cloud products and services you need will ensure that you are paying for only what you need from your subscription.
Types of Subscription
There is a Azure Subscription Guide which details which subscription you will need for your needs, however there is more that can be done to minimise the costs of running your infrastructure on cloud services.
There are three key strategies that you can use when deciding which subscription fits your needs:
- Functional Strategy - Organises your subscriptions and accounts along functional lines such as finance, sales, or IT support.
- Business Unit Strategy - Groups subscriptions and accounts based on profit and loss category, division, or a similar business structure.
- Geographic Strategy - Groups subscriptions and accounts based on geographic regions.
Often there isn't one simple answer to which strategy is best and a hybrid approach using key parts of each strategy is the most cost-effective approach. This article will describe some of the ways that I‑Finity implements to maintain cost-effect optimisation strategies.
I‑Finity were tasked with reducing Azure subscription costs for a financial services customer without compromising scale and performance. The steps that were taken:
- Performed an initial audit of the existing Azure implementation, working with the customer to ensure every process was understood and required.
- Minimised costs by strengthening the disaster recovery plan with comprehensive backups
- Reconfigured the Azure Subscription to achieve the required scale
- Performed a detailed refinement and reconfiguration by combining, moving and deploying resources to deliver cost-optimisation.
Another customer example is Les Cinéma Ciné Entreprise who needed increased network capacity whilst still optimising the costs and not increasing unneeded resources elsewhere.
Initially they were recommended to scale up the entire system by another 3rd party but this approach presented two problems, firstly that it did not achieve the required scaled up functionality when tested and secondly it did not keep the costs down. This would have lead to increased costs.
I‑Finity undertook further technical analysis and suggested an alternative approach to resolve the problem:
- Discovered cases of Port Exhaustion which occurs when a node runs out of available ports.
- Implemented a NAT Gateway to enable a more scalable accesspoint to be in use
- Increased the number of ports to enable the system to function as required
- Increasing the ports meant that other resources remained the same
- Only increasing ports and no other resources delivered an optimised and cost-effective solution
Tools you can use
Another tool you can use to ensure that you can keep your Azure costs low is to enable cost controls and guardrails with an Azure Policy. This will ensure that with each new Azure Service, it is created in the same way that has been predefined to ensure a cost-optimal solution. It will also give you a centralised dashboard where all your costs will be displayed, so you can easily view which areas or services are incurring the highest charges. Therefore need attention and a potential review in order to ensure an ongoing cost-effective solution.
To summarise you can keep Azure costs optimal by following these guidelines:
- Select the correct subscription tier and strategy
- Check the maximum capacity for each product or service is not exceeded
- Ensure all products and services have only their minimum requirements met so there is no redundant and unused resources
- Enable Cost-Controls and Guardrails