Do you use the Well-Architected Framework?

Updated by Tiago Araújo [SSW] 2 years ago. See history

123

The Well-Architected Framework is a set of best practices which form a repeatable process for designing solution architecture, to help identify potential issues and optimize workloads.


<imageEmbed
  alt="Image"
  size="large"
  showBorder={false}
  figureEmbed={{
    preset: "default",
    figure: 'The Well-Architected Framework includes the five pillars of architectural excellence. Surrounding the Well-Architected Framework are six supporting elements',
    shouldDisplay: true
  }}
  src="/uploads/rules/well-architected-framework/waf-diagram-revised.png"
/>
### The 5 Pillars

- **Reliability** – Handling and recovering from failures <https://docs.microsoft.com/en-us/azure/architecture/framework/resiliency/principles>
- **Cost Optimization** – Minimizing costs without impacting workload performance <https://docs.microsoft.com/en-us/azure/architecture/framework/cost/principles>
- **Performance Efficiency** **(Scalability)** – Testing, monitoring and adapting to changes in load e.g. new product launch, Black Friday sale, etc. <https://docs.microsoft.com/en-us/azure/architecture/framework/scalability/principles>
- **Security** – Protecting from threats and bad actors <https://docs.microsoft.com/en-us/azure/architecture/framework/security/security-principles>
- **Operational Excellence** **(DevOps)** – Deploying and managing workloads once deployed <https://docs.microsoft.com/en-us/azure/architecture/framework/devops/principles>

### Trade-offs

There are trade-offs to be made between these pillars. E.g. improving reliability by adding Azure regions and backup points will increase the cost.

### Why use it?

Thinking about architecting workloads can be hard – you need to think about many different issues and trade-offs, with varying contexts between them. WAF gives you a consistent process for approaching this to make sure nothing gets missed and all the variables are considered.

Just like Agile, this is intended to be applied for continuous improvement throughout development and not just an initial step when starting a new project. It is less about architecting the perfect workload and more about maintaining a well-architected state and an understanding of optimizations that could be implemented.

### What to do next?

[Assess your workload against the 5 Pillars of WAF with the Microsoft Azure Well-Architected Review](https://learn.microsoft.com/en-us/assessments/azure-architecture-review) and add any recommendations from the assessment results to your backlog.


<imageEmbed
  alt="Image"
  size="large"
  showBorder={false}
  figureEmbed={{
    preset: "default",
    figure: 'Some recommendations will be checked, others go to the backlog so the Product Owner can prioritize',
    shouldDisplay: true
  }}
  src="/uploads/rules/well-architected-framework/waf-assessment.png"
/>


<imageEmbed
  alt="Image"
  size="large"
  showBorder={false}
  figureEmbed={{
    preset: "default",
    figure: 'Recommended actions results show things to be improved',
    shouldDisplay: true
  }}
  src="/uploads/rules/well-architected-framework/waf-reliability-results-2.png"
/>

<imageEmbed
  alt="Image"
  size="large"
  showBorder={false}
  figureEmbed={{
    preset: "goodExample",
    figure: 'Good example - WAF is very visible to the Product Owner on the backlog',
    shouldDisplay: true
  }}
  src="/uploads/rules/well-architected-framework/waf-tech-debt-backlog-northwind.png"
/>