There isn’t a magic button that can be pressed in Azure to reduce cost. The right level of spend in Azure is achieved as the sum of many frugal decisions. The right spending level is found by looking carefully in these three areas:
- Processes. The processes put in place for standing up resources in Azure. This includes approvals, cost estimates and other decision points.
- Architecture. There are several choices that need to be made to implement a solution in Azure. Performance, feasibility, experience, and fit are all important criteria. Cost is sometimes not considered in this. It’s not the only consideration but it is important.
- Operations. A process of continuously measuring performance and resource allocation against cost and service level.
Improving practices in each of these areas or at least incorporating cost into the decision-making process will reduce cloud costs.
Reforming Existing Deployments
Often a point is reached where the Azure spend is considered a problem. It might be that the spend is as it should be but without management the bill will almost always increase if only gently. When deadlines pressure delivery or performance problems are faced often money is spent with Azure to address these issues. The next problem comes along and reviewing spend is often pushed to the side. This is normal in a busy team stretched for resources. But a review of spend can reduce outgoings leading to savings or more often re-allocation of spend to more productive areas. Why spend money with Microsoft when you can spend it building and improving service delivery?
There are several steps that can be taken to reduce overall spend:
- Understanding existing spend. Review the current and historic bills looking for big ticket items and areas where spend has grown. Understand the resources in Azure and which projects or services they are part of. You may need to improve tagging to improve visibility of spend.
- Assess Current Resourcing. Ask questions about each project or solution to understand whether there is room for improvement.
- Build a list of reforms. Work through each project and understand opportunities for reduction in resourcing and spend. Prioritise these and understand what the spend should look like if the reform is enacted.
- Progressively reform the environment. Work on the list, re-prioritising and adding new items as they are identified.
- Continuously Measure. Measure daily, weekly, and monthly to track reductions in spend against expectations. We care about what we measure, and we measure what we care about.
Understanding Existing Spend
This is all rather complicated. Understanding Azure charges is difficult since each Invoice has tens or hundreds of thousands of line items. Understanding them in aggregate is useful since grouping by resource type lets you focus on areas of concern. Storage or Virtual Machines or SQL Services are useful. But this won’t tell you what the resources are used for, its necessary to label the Resources to track and aggregate spend. This is where Tags come in.
Assess Current Resourcing
Compared with Understanding Existing Spend, assessing your current resourcing is much more difficult. Without knowing whether you are spending the right amount or not you can’t plan to reform. For each of the applications or solutions you should ask a series of questions: