Introduction
The Azure Optimization Engine (AOE) is a powerful tool designed to help organizations optimize their Azure resources efficiently. By leveraging advanced analytics and automation, AOE provides actionable recommendations to enhance cost management, improve performance, and ensure compliance with best practices.
Hélder Pinto, the creator of AOE, is a Cloud Solution Architect at Microsoft with a PhD in Computer Science (Ubiquitous Computing & HCI) from the Universidade do Minho. Recently, the AOE repository migrated to a new home within the Microsoft FinOps Toolkit, reflecting Microsoft’s commitment to financial operations (FinOps) and resource optimization.
Context
The Azure Optimization Engine addresses several key challenges faced by organizations using Azure:
- Cost Management: AOE generates cost-saving recommendations, helping organizations reduce their Azure spend by identifying underutilized resources and suggesting right-sizing options.
- Performance Optimization: It offers insights into performance improvements, ensuring that resources are used effectively to meet workload demands.
- Security and Compliance: AOE includes recommendations to enhance security and ensure compliance with organizational policies and industry standards.
- Operational Excellence: The tool provides guidance on improving operational processes, making it easier to manage and maintain Azure environments.
AOE integrates with various Azure services, including Azure Advisor and Log Analytics, to provide a comprehensive view of the optimization opportunities available. It also supports customization to fit the specific needs of different organizations, making it a versatile solution for Azure resource management.
Interview
Introduction to the Interviewee
Azure Navigator
Can you tell us a bit about yourself and your role in the creation of the Azure Optimization Engine?
Hélder
I joined Microsoft as Premier Field Engineer, back in 2019, and I had to chance to work with a customer that had a small but very ambitious FinOps team. At that time, they asked my help to enrich Azure Advisor right-size recommendations with their VM guest OS metrics, to make those recommendations even more actionable. A few months later, I had a different customer asking for something very similar – I could reuse a big part of my previous work – and realized there was a high potential for the tool to be used by many Azure customers. A few months later, in the spring of 2020, the first version of AOE was released on GitHub.
Inspiration and Development
Azure Navigator
What inspired the development of the Azure Optimization Engine?
Hélder
As I have been working in the field with Azure since 2014, I have had the opportunity to work with dozens of different Azure customers in multiple countries. All of them have cost management and cost optimization as their top priorities, which allowed me to develop my skills in this area over the years. Therefore, after AOE was launched, I worked often on cost optimization initiatives with many customers. All of them brought new requirements, which were gradually incorporated into AOE. My customers were happy to see those developments made open source, because they were also benefiting from the input of other customers.
Azure Navigator
Can you walk us through the development process and the key milestones?
Hélder
The development process is mainly driven by customer needs but there are also features added to the tool in my free time. There was no fixed allocated time for development, but I tried to make several releases with new features per year. As key milestones, after the product was launched, I pick every contribution that was made by the community (it is great when you’re not the only committing to the repository), the moment when AOE became a generic tool for Well-Architected Framework recommendations across all pillars, and, of course, when it was migrated under the umbrella of the Microsoft FinOps toolkit.
Azure Navigator
Given your strong academic background, how does it align with your current role as a Cloud Solution Architect and the development of AOE?
Hélder
My academic background contributed to my ability to be creative, abstract complex problems and design solutions with a holistic perspective. It also influences my writing style. But honestly, I enjoy so much the work I do now, how it allows me to make customers achieve more, that I look back at my academic research times as something I do not want to return to.
Key Features and Benefits
Azure Navigator
What are the standout features of the Azure Optimization Engine?
Hélder
The ability to add custom cost optimization recommendations to the ones coming from Azure Advisor, or even augmenting these with additional insights, is what customers value the most. The Azure commitment insights reports have also been instrumental in helping customers manage Azure reservations and savings plans effectively.
Azure Navigator
How does AOE help organizations optimize their Azure resources effectively?
Hélder
AOE provides insight into Azure built-in and custom optimization opportunities in a way that helps customers make better informed decisions. I have seen too often in my customers the fear of breaking things or committing to something (e.g., Azure reservations) they cannot fulfill. The several reports made available by AOE allow those customers to double check what Azure tells them to do with a different and sometimes richer perspective. For example, Azure Advisor tells me to buy a Virtual Machine Reservation, and, with AOE, I can confirm which resources would benefit from this commitment, the amount of savings, and how efficient it can be.
Challenges and Solutions
Azure Navigator
What were some of the biggest challenges you faced during the development of AOE, and how did you overcome them?
Hélder
The biggest challenge is the lack of time to deliver new features at a faster pace. I overcome that by setting realistic expectations – customers are happy to have a free, useful tool and, being AOE a labor of love, no one is expecting a predictable release cadence nor a specific number of new features at each release. This helps relieve the pressure that sometimes I inflict on myself for not bringing new features at the pace I would like to.
Azure Navigator
It seems you developed AOE mostly alone before it was integrated into the FinOps toolkit. What motivated you to pursue this project independently?
Hélder
Allow me to use some clichés: customer obsession – feeling that I am helping customers make the most of the Azure platform – and passion for knowledge sharing with the community.
Real-World Applications
Azure Navigator
Can you share some examples of how the Azure Optimization Engine has been used in real-world scenarios to achieve cost savings and performance improvements?
Hélder
Last year, I had a customer who changed its FinOps team and the new people responsible for managing Azure reservations were having a big trouble in optimizing existing reservations and buying new ones. All the reports provided by AOE allowed them to acquire a deeper understanding and to cross-check with Advisor and Cost Management recommendations on how reservations are consumed and how their on-demand (PAYG) spending could be optimized. After a few weeks, they gained enough confidence to resume their optimization efforts with notable success.
Also, I often see customers having trouble prioritizing cost optimization recommendations. The fit score that AOE adds to all recommendations allows customers to be more efficient and spend time on the recommendations that make a difference with the lowest effort.
FinOps Toolkit Integration
Azure Navigator
Microsoft recently implemented AOE into the FinOps Toolkit. Can you tell us more about the FinOps initiative and why AOE has been included in the toolkit now?
Hélder
The Microsoft FinOps toolkit is an open-source collection of learning resources and customizable tools to help customers adopt and implement FinOps capabilities that automate and extend the Microsoft Cloud. This includes starter kits that help customers get up and running with FinOps capabilities, automation scripts to streamline cost configuration and management at scale, and advanced solutions to facilitate building custom capabilities.
AOE has been included in the toolkit because it perfectly fits its major goal of allowing customers to extend the Microsoft Cloud with advanced solutions that help them implement FinOps capabilities according to their specific requirements. It is now one tool among others, focused on the rate and workload optimization capabilities.
Azure Navigator
Does anything change from a user perspective now that AOE is part of the FinOps Toolkit?
Hélder
AOE was migrated as is into the FinOps toolkit, as a standalone tool. Therefore, nothing relevant changes from a user perspective. However, we now plan to make it evolve in a way that better integrates with the other tools in the toolkit, leveraging them, reusing functionalities, and providing outputs that can also be reused by other tools.
Customization and Flexibility
Azure Navigator
How can organizations customize the Azure Optimization Engine to fit their specific needs?
Hélder
The customization possibilities are endless. Besides the built-in options to adjust recommendations’ fit score thresholds, customers can develop new reports on top of the existing Log Analytics data lake, adjust existing reports or even develop new custom recommendations and contribute to the FinOps toolkit. This is one of the great advantages of using open-source solutions.
Azure Navigator
What are some common customizations that users implement?
Hélder
The simplest ones – adjusting thresholds – are the most common ones, of course. But there are also customers who get to know the tool from the inside out and who customize the AOE workbooks and the Power BI report. I have not come to know yet a customer who has developed a custom recommendation, but I have limited visibility of what customers are doing with the tool. Usage telemetry is something that needs to be improved, for sure 🙂
Future Plans
Azure Navigator
What are the future plans for the Azure Optimization Engine? Are there any upcoming features or improvements that users can look forward to?
Hélder
The current version of AOE will continue to be supported for a while and customers can expect to see security improvements and bug fixes coming out regularly. However, the focus now is on aligning the unique custom recommendations and reporting capabilities of AOE with the FinOps hubs architecture, so that it becomes the toolkit’s optimization recommendations insights component, sitting on top of the FinOps hubs data lake and providing actionable recommendations to users and to other toolkit components. AOE will fade in the toolkit, but users will have an even more extensible and powerful tool at the end.
Advice for Users
Azure Navigator
What best practices would you recommend for users looking to optimize their Azure resources using AOE?
Hélder
Be curious, be brave, but take your time. AOE provides multiple perspectives on cost optimization. I advise customers to explore all the AOE reports and build a habit of periodically and carefully reviewing and prioritizing optimization actions. AOE builds, over the weeks, a rich data set that becomes even more relevant as time goes by. For those who are brave enough, AOE also allows them to automate remediation for low-risk recommendations that are valuable and consistent enough, releasing time for more complex optimization efforts.
Conclusion
Azure Navigator
Thank you for sharing your insights and experiences with us. We look forward to seeing how the Azure Optimization Engine continues to evolve and help organizations optimize their Azure resources. For more information, readers can visit the Azure Optimization Engine website at aka.ms/AzureOptimizationEngine.
Further reading:
- FinOps hubs – FinOps toolkit (microsoft.github.io)
- Introduction to Azure Advisor – Azure Advisor | Microsoft Learn
- Azure Well-Architected Framework – Microsoft Azure Well-Architected Framework | Microsoft Learn
- What are Azure Reservations? – Microsoft Cost Management | Microsoft Learn
- What is Azure savings plans for compute? – Microsoft Cost Management | Microsoft Learn
- Get Azure Reservations and Savings Plans Insights with the Azure Optimization Engine – Microsoft Community Hub