The Well-Architected Reliability Assessment is aimed to assess an Azure workload implementation across the reliability pillar of the Microsoft Azure Well-Architected Framework. A workload is a resource or collection of resources that provide end-to-end functionality to one or multiple clients (humans or systems). An application can have multiple workloads, with multiple APIs and databases working together to deliver specific functionality.
The main goal of the Well-Architected Reliability Assessment is to provide an in-depth and comprehensive end-to-end Architecture and Resources review of an existing Workload to identify critical reliability, resiliency, availability, and recovery risks to the scoped workload on Azure.
This repository holds scripts and automation built for the Well-Architected Reliability Assessment and is currently under development.
# Assume we running from a C:\WARA directory
# Installs the WARA module from the PowerShell Gallery.
Install-Module WARA
# Imports the WARA module to the PowerShell session.
Import-Module WARA
# Start the WARA collector.
Start-WARACollector -TenantID "00000000-0000-0000-0000-000000000000" -SubscriptionIds "/subscriptions/00000000-0000-0000-0000-000000000000"
# Assume output from collector is 'C:\WARA\WARA_File_2024-04-01_10_01.json'
Start-WARAAnalyzer -JSONFile 'C:\WARA\WARA_File_2024-04-01_10_01.json'
# Assume output from analyzer is 'C:\WARA\WARA Action Plan 2024-03-07_16_06.xlsx'
Start-WARAReport -ExcelFile 'C:\WARA\WARA Action Plan 2024-03-07_16_06.xlsx'
#You will now have your PowerPoint and Word reports generated under the C:\WARA directory.
These are the requirements for the collector. Requirements for the analyzer and report will be added in the future.
- PowerShell 7.4
- Azure PowerShell Module
- If you don't have the Azure PowerShell module installed, you can install it by running the following command:
Install-Module -Name Az
- If you have the Azure PowerShell module installed, you can update it by running the following command:
Update-Module -Name Az
- If you don't have the Azure PowerShell module installed, you can install it by running the following command:
- Az.Accounts PowerShell Module 3.0 or later
- If you don't have the Az.Accounts module installed, you can install it by running the following command:
Install-Module -Name Az.Accounts
- If you have the Az.Accounts module installed, you can update it by running the following command:
Update-Module -Name Az.Accounts
- If you don't have the Az.Accounts module installed, you can install it by running the following command:
- Az.ResourceGraph PowerShell Module 1.0 or later
- If you don't have the Az.ResourceGraph module installed, you can install it by running the following command:
Install-Module -Name Az.ResourceGraph
- If you have the Az.ResourceGraph module installed, you can update it by running the following command:
Update-Module -Name Az.ResourceGraph
- If you don't have the Az.ResourceGraph module installed, you can install it by running the following command:
These instructions are the same for any platform that supports PowerShell. The following instructions have been tested on Azure Cloud Shell, Windows, and Linux.
You can review all of the parameters on the Start-WARACollector here.
- Install the WARA module from the PowerShell Gallery.
# Installs the WARA module from the PowerShell Gallery.
Install-Module WARA
- Import the WARA module.
# Import the WARA module.
Import-Module WARA
- Start the WARA collector. (Replace these values with your own)
# Start the WARA collector.
Start-WARACollector -TenantID "00000000-0000-0000-0000-000000000000" -SubscriptionIds "/subscriptions/00000000-0000-0000-0000-000000000000"
Start-WARACollector -TenantID "00000000-0000-0000-0000-000000000000" -SubscriptionIds "/subscriptions/00000000-0000-0000-0000-000000000000"
Start-WARACollector -TenantID "00000000-0000-0000-0000-000000000000" -SubscriptionIds @("/subscriptions/00000000-0000-0000-0000-000000000000","/subscriptions/)00000000-0000-0000-0000-000000000001")
Start-WARACollector -TenantID "00000000-0000-0000-0000-000000000000" -SubscriptionIds "/subscriptions/00000000-0000-0000-0000-000000000000" -ResourceGroups "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/RG-001"
Run the collector against a specific subscription and resource group and filtering by tag key/values.
Start-WARACollector -TenantID "00000000-0000-0000-0000-000000000000" -SubscriptionIds "/subscriptions/00000000-0000-0000-0000-000000000000" -ResourceGroups "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/RG-001" -Tags "Env||Environment!~Dev||QA" -AVD -SAP -HPC
Run the collector against a specific subscription and resource group, filtering by tag key/values and using the specialized resource types (AVD, SAP, HPC, AVS).
Start-WARACollector -TenantID "00000000-0000-0000-0000-000000000000" -SubscriptionIds "/subscriptions/00000000-0000-0000-0000-000000000000" -ResourceGroups "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/RG-001" -Tags "Env||Environment!~Dev||QA" -AVD -SAP -HPC
Start-WARACollector -ConfigFile "C:\path\to\config.txt"
Run the collector using a configuration file and using the specialized resource types (AVD, SAP, HPC, AVS).
Start-WARACollector -ConfigFile "C:\path\to\config.txt" -SAP -AVD
The Start-WARAAnalyzer
cmdlet is used to analyze the collected data and generate the core WARA Action Plan Excel file.
Please note that whatever directory you run the Start-WARAAnalyzer
cmdlet in, the Excel file will be created in that directory. For example: if you run the Start-WARAAnalyzer
cmdlet in the C:\Temp
directory, the Excel file will be created in the C:\Temp
directory.
You can review all of the parameters of Start-WARAAnalyzer here.
Start-WARAAnalyzer -JSONFile 'C:\Temp\WARA_File_2024-04-01_10_01.json' -Debugging
The Start-WARAReport
cmdlet is used to generate the WARA reports.
Please note that whatever directory you run the Start-WARAReport
cmdlet in, the Word and PowerPoint files will be created in that directory. For example: if you run the Start-WARAReport
cmdlet in the C:\Temp
directory, the Word and PowerPoint files will be created in the C:\Temp
directory.
You can review all of the parameters of Start-WARAReport here.
Start-WARAReport -ExcelFile 'C:\WARA_Script\WARA Action Plan 2024-03-07_16_06.xlsx'
This repository is meant to be used for the development of the Well-Architected Reliability Assessment automation. This project uses outputs from the Azure Well-Architected Framework and Azure Advisor to provide insights into the reliability of an Azure workload.