This post is a part of the Azure Back to School 2024 online event. In this post, I will discuss how Microsoft Azure Advisor works and how it relates to the Well Architected Framework.
Prerequisite:
- some Azure Subscriptions 🔑 with some resources 📦 deployed
Introduction:
When operating a cloud environment, you are constantly confronted with questions like:
- Where is my cloud environment inefficient or uneconomical?
- Is my cloud deployment correct and in line with the latest best practices?
- How can I answer the above questions and evolve my cloud environment?
That means you are actually constantly confronted with the following topics:
This can be a bit overwhelming, especially if you are new to the cloud and Azure.
But don't worry, that's exactly what Azure Advisor is for.
The Azure Advisor:
Definition:
"Azure Advisor is a free service integrated into Azure that provides best practice recommendations. These recommendations are personalized and actionable. The recommendations can be used to assess Azure workloads against the five pillars of the Microsoft Azure Well-Architected Framework.“ - Microsoft Learn, 2024
Simplified Definition:
Azure Advisor
- can be compared with a personalized cloud consultant
- provides recommendations 💡 on best practices tailored to the provisioned Azure resources 📦 / services ⚙️
- is based on the Azure Well-Architected Framework (WAF)
The Well-Architected Framework (WAF):
Definition:
"The Azure Well-Architected Framework is a set of guiding tenets to build high-quality solutions on Azure. There's no one-size-fits-all approach to designing an architecture, but there are some universal concepts that apply regardless of the architecture, technology, or cloud provider." - Microsoft Learn, 2024
The Azure Well-Architected Framework consists of five pillars:
- Cost optimization
- Operational excellence
- Performance efficiency
- Reliability
- Security
For each of these pillars, the Azure Advisor Service creates recommendations 💡for optimizing your environment.
How the Azure Advisor works❓
- 🔍 analyzes the resource configuration and usage telemetry and then makes recommendations for action based on the WAF
- works at subscription 🔑 and resource 📦 level (either in aggregate or individually)
- only the specific roles👤 (Owner, Contributor or Reader) of a subscription or resource 📦 has access to the respective advisor recommendations 💡
Examples of Advisor Recommendations:
Below 👇 you will find an example - recommendation for each pillar.
- Costs - Resize or shut down underutilized virtual machine instances.
- Reliability - Enable backup to protect your virtual machine data from accidental deletion.
- Operational Excellence - Create Azure Service Health alerts to notify you when Azure problems affect you.
- Performance - Use managed disks to prevent disk I/O throttling.
- Security - Virtual-machine management ports should be protected with just-in-time network access control.
How to fix Problems found by Azure Advisor❓
Step - 1️⃣
- Enter "advisor" in the Azure search bar.
- Click on the suggested service "Advisor".
Step - 2️⃣
- Click on the recommendations 💡 in the reliability section.
Each of the five categories from the WAF contains:
- the number 🔢 of advisor recommendations 💡
- the number 🔢 of resources 📦 affected
- the impact level:low, medium or high
Step - 3️⃣
- Click on "Create an Azure Service Health alert"
✏️ Note: |
---|
This recommendation 💡 can be found in most cases if it has not already been implemented. |
In a selected category you receive information such as:
- a description 📋 of the recommendations 💡
- the impact level of the recommendation 💡
- the potential improvement 📈
- the number 🔢 of resources 📦 affected
(compare with screen above ☝️)
Step - 4️⃣
Within a recommendation you get the opportunity to:
- carry out a recommended action
- defer the recommendation for a period of time
- reject the recommendation
(compare with screen below 👇)
The Optimization Status and the Advisor Score:
Now that we know what we should optimize, new questions arise:
- Which recommendation should we prioritize❓
- Which recommendation is the most effective❓
- How can I answer the previous questions❓
This is where the so-called Azure Adsvisor Score comes into play.
Definition:
"The Advisor Score is a rating of all Azure subscriptions on a scale from 0% to 100%. This makes it easy to understand how well the resources are optimized according to the documented best practices. The score is divided into five individual ratings, each for the five pillars of the Azure Well-Architected Framework." - Microsoft Learn, 2024
Simplified Definition:
The Advisor Score
- provides information on the extent to which you are complying with the WAF
- shows which optimizations need to be carried out to generate the maximum benefit
- shows how far you are in your cloud journey
The calculation of the advisor score & the valuation methodology
Sidefacts:
- Long-term recommendations 💡 are weighted more heavily
- Recommendations with greater impact are weighted higher than recommendations 💡 with less impact
- Deferred or rejected recommendations 💡 are not taken into account
Calculation:
- Azure Advisor calculates the category scoring of impacted resources 📦. These resources 📦 are the ones in your subscriptions 🔑 that have at least one recommendation 💡 in Advisor.
- Azure Advisor calculates the category scoring of assessed resources 📦. These resources 📦 are the ones monitored by Advisor, whether they have any recommendations 💡 or not.
- For each recommendation 💡 type, Advisor calculates the healthy resource ratio. This ratio is the scoring of impacted resources 📦 divided by the scoring of assessed resources 📦.
- Azure Advisor applies some weight factors (see Sidefacts above ☝️)
Example:
- Costs: 100%
- Security: 19% (Secure Score derived from Defender for Cloud)
- Reliability: 100%
- Operational excellence: 100%
- Performance: No Data (not taken into account)
✏️ Note: Since there is no data for the last category, a factor of 4 (in the denominator) was used in this case. In general, a factor of 5 is used in the calculation.
Progress over time
To visually demonstrate the improvement of your optimization efforts. You can use the Azure Advisor Score History Graph.
(compare with screen above ☝️ and below 👇)
Your score is refreshed at least once per day.
Azure Advisor Workflow
Of course, the evolution of your cloud environment (also known as cloud maturity) is only as good as the consistency of the cycle with which you work on it. Therefore, it is a good idea to integrate the Azure Advisor workflow into your work processes.
The Azure Advisor Workflow Procedure:
- Checking the advisor score dashboard to determine if the desired score has been achieved.
- Analyze category scores to determine where improvements need to be made.
- Evaluate the category score impact of each recommendation 💡 to determine which recommendation 💡 has the most positive impact.
- Apply the recommendations 💡 with which the desired score can be achieved as quickly as possible.
Mass Remediation \ Quick - Fix
Sometimes you get recommendations 💡 that should not only be applied to individual resources 📦, but to several resources 📦 at once. Ideally, these recommendations 💡 can be applied multiple times. If Microsoft has already created an automated process for this, this is known as a quick fix.
✏️ Note: |
---|
Not all recommendations 💡 offer a quick fix option. Sometimes it will be necessary to build your own solution (automation).One option here would be to use an Azure Logic app, for example. |
Step - 1️⃣
In every section that can be assigned to the 5 WAF categories, the available recommendations 💡 are listed. In this case, there is a recommendation 💡described as "Right-size or shut down underutilized virtual machines".
- For this recommendation 💡, a "Quick fix" option is available. In order to activate this quick fix option, it is necessary to click on this button.
Step - 2️⃣
- Several resources 📦 are now available, which can be selected by activating and deactivating a simple checkbox. Afterwards it is only necessary to click the Quick Fix button a second time to apply the remediation.
Step - 3️⃣
- If you do not want to use a remediation and do not want to see the message for a certain period of time, or if you want to suppress the message altogether, the Postpone or Dismiss options are also available.
Azure Advisor Reporting \ Alerting
You may find it more convenient to be notified when new recommendations 💡 are available, or you may prefer to consume all recommendations 💡 in a PDF or CSV file. In this case, the following options are available.
🚨 Alerts
✏️ Note: |
---|
You will be familiar with this procedure if you have already worked with the Azure Monitor. |
Step - 1️⃣
- Select Alert (Preview)
- Click the blue button + New Advisor alert rule
For the next steps 👣 , please click on the link 🔗 below 👇:
💡Recommendation digests
Step - 1️⃣
- Select Recommendation digest
- Click the blue button Add recommendation digest
For the next steps 👣 , please click on the link 🔗 below 👇:
🗎 PDF- / CSV - Export
Step - 1️⃣
- Select Overview
- Click on Download as CSV or Download as PDF
Azure Advisor Configuration
Although there are not many settings that can be made, it is still worth discussing the most important ones.
- Advisor Scope
- Advisor Tresholds (CPU)
- Advisor Look Back Period
Step - 1️⃣
- Select Configuration
- Select Resources
- Activate the checkboxes associated with the subscriptions and resource groups which are to be taken into account in the advisor evaluation.
Step - 2️⃣
- Select VM/VMSS right sizing
- Here you can set the CPU Threshold and the corresponding Look back period for the Advisor recommendations.
🏁 Closing
The Azure Advisor is an indispensable tool for ensuring the efficiency and security of your cloud environment. Through regular reviews and optimizations, you can ensure that your resources are used optimally and costs are reduced at the same time.
Continuously monitoring and optimizing your cloud environment with Azure Advisor is a crucial step to maximize efficiency, minimize costs and ensure the reliability of your systems. Take advantage of Azure Advisor to take your cloud strategy to the next level.