Azure Well-Architected Framework – Cost Optimization

I just recently finished the Microsoft Learn course “Build great solutions with the Microsoft Azure Well-Architected Framework” (https://docs.microsoft.com/en-ca/learn/paths/azure-well-architected-framework/). It definitely worth it. The content is quite good and useful, not only for Azure based solutions but for, I would say, almost any architectural solution you need to design. 

I will share some of my notes and summary of the learning content, so you will have a short overview of what inside that learning course.

Microsoft lists four pillars when creating a well-architected solution. Those are:

  • Cost optimization
  • Operational excellence
  • Performance efficiency
  • Reliability
  • Security

In this post, I will focus on the first pillar: Cost optimization.

Cost Optimization

This pillar focus on the following areas:

  • Plan and estimate costs: You must estimate your costs based on your business and technical needs.
  • Provision with optimization: You must pick those services that are appropriate for your context and workload.
  • Use monitoring and analytics to gain costs insights: Use cost management tools to truly understand your expenses. Plus, some alerts when expenses rise inadvertently is a plus here.
  • Maximize efficiency of cloud spend: Pay attention to those services that are consuming money but are not necessary.

Now, lets dig a little deeper into every area listed above.

Plan and estimate costs

The following guidelines will advise you when thinking about planning and estimation of your costs:

  • Gather all requirements from your stakeholders, business owners, developers to truly understand what they are trying to accomplish. You must take into account business, technical and non-technical requirements.
  • Pick the resource you will need to fulfill above requirements. You might need an understanding of the capabilities that Azure (or the platform you choose) offer, so you may be cleaver on the resources that will match your needs.
  • Calculate you costs. In regards to the Azure environment, you can use the Azure Calculator (https://azure.microsoft.com/en-ca/pricing/calculator/) to accomplish this task. This is very important for budgeting and cost estimation.
  • Create organization for cost awareness. Use tools to provide your business owners with the information about the costs on the cloud of the services they require. In addition, you can set policies to mitigate unnecessary expenses (e.g. set a maximum tier to pick when creating a Virtual Machine).
  • Budget for education. It is very important to educate your users about the best cost-effective resources in the cloud. Also, train your team in regards to how to use Azure to get the most of it.

Provisioning with optimization

The following guidelines are quite useful on this topic:

Use monitoring and analytics to gain costs insights

Helpful guidelines are:

  • You must track your cloud expenses. Be aware of where your money goes. This is particularly important when your organisation has limited budget (believe, this is quite important almost everywhere nowadays). Azure offers Azure Cost Management to help you track your expenses; in addition it will advise you about underutilized resources that can be downgraded. When working with Virtual Machines, use Azure Advisor to get some recommendations over the use of them.
  • You may want to conduct cost reviews on a regular basis with the stakeholders and business owners, so they can understand the level of impact on some decisions and resources.
  • Azure Cost Management allows you to create alerts based on certain criteriasuch as budgetdepartment max spend and credits. Use this tool to get some alerts when one of those threshold is reached.
  • Report anomalies. When a consumption of a services pikesyou must inform the stakeholders and business owners.

Maximize efficiency of cloud spend

These couple of guidelines are very cleaver:

  • Optimizing IaaS costs. Choose the right size for your virtual machines (Remember to use Azure Advisor to get insights about how your VMs are performing)Implement shut down schedules for your Virtual Machines. Apply compute costs discountssuch as having a licence for Windows or SQL Server, going with the Azure Reserve Instance when you know the load of your services for the future. 
  • Optimizing PaaS costs. Optimizing Azure SQL and Blob storage costs (remember the tiers available: Hot, Cold and Archive) and use the consumption optionse.g. Azure Functions.

Money is one of those limited resources that you must keep an eye on. There is no such a thing like unlimited budget. The amount of money you spend is always a constraint in your solutions.

I consider above suggestions-guidelines quite helpful when working on the cloud or even on-premises.

Stay tuned for the next post.

One thought on “Azure Well-Architected Framework – Cost Optimization

Comments are closed.