I recently did an in-depth on AWS Well-Architected Framework - this is what I learned
Tags: aws, architecture
Published: 2019-07-22 09:35:35

The **AWS Well Architected Framework** is AWS's offering to help builders build secure, high performing, resilient and efficient infrastructure for their applications.

This framework consists of **5 Pillars** - and the following general design principles are overarching and repeated throughout all of these 5 Pillars:

- Stop guessing capacity needs >>> pay only for what you use
- Automate everything >>> use infrastructure-as-code and CI/CD Pipelines for your deployments
- Test at scale >>> test on a replica of production
- Game days >>> practice, practice, practice for disasters

So what are these 5 Pillars:

- Operational Excellence
- Cost Optimization
- Reliability
- Performance Efficiency
- Security

Now we shall go into detail on each of these pillars:

1) **Operational Excellence**
The Operational Excellence Pillar encompasses the ability to run systems and gain insight into their operations to deliver business value, and to continuously improve supporting processes and procedures. 
Ask yourself the following when architecting for Operational Excellence:
-	Does your architecture work? 
-	Will it continue to work as users interact with it over time? 
-	Will it continue to work with the least amount of effort?

The table below lists the **“how to”** design for Operational Excellence, the architecture can be checked against these design principles, to ensure alignment to this pillar:

![](https://thepracticaldev.s3.amazonaws.com/i/v0jiqohfq70grhcix4l9.png)


https://d1.awsstatic.com/whitepapers/architecture/AWS-Operational-Excellence-Pillar.pdf

![](https://thepracticaldev.s3.amazonaws.com/i/1ivnulia1cmld9tpz9nn.jpg)

 
Next up we look at the 2nd pillar; Cost Optimization:

2) **Cost Optimization**
This pillar works very closely with the Operational Excellence and Performance Efficiency pillars.
Cost Optimization is all about making sure that you spend on only what you absolutely must while still meeting your functional requirements and maintaining full utilization of your resources.

This is how you ensure that you architect for Cost Optimization:
![](https://thepracticaldev.s3.amazonaws.com/i/dpmhowl1nzikfxd9xncx.jpg)
Full details on this here:
https://d1.awsstatic.com/whitepapers/architecture/AWS-Cost-Optimization-Pillar.pdf
![](https://thepracticaldev.s3.amazonaws.com/i/g9golhjmf4eu34qpvj90.jpg)

We're almost halfway :-) >> now onto the 3rd pillar:

3) **Reliability**
The Reliability pillar is about ensuring that the system can recover from infrastructure or service disruptions, dynamically acquire computing resources to meet demand and mitigate disruptions.
These are the main questions that you ask yourself when architecting for this pillar:
-	Will this system work consistently and recover quickly?
-	Will this system recover from issues quickly and automatically?
-	Will this system be there when your users need it?

and this is how you ensure that you architect for this pillar:
![](https://thepracticaldev.s3.amazonaws.com/i/72hdego53tg2cbqmsmys.jpg)
https://d1.awsstatic.com/whitepapers/architecture/AWS-Reliability-Pillar.pdf
Below is an awesome **YouTube** video from re:Invent2018 and it provides more information on designing resilient VPCs: 
YouTube: {% youtube 8K7GZFff_V0 %}
![](https://thepracticaldev.s3.amazonaws.com/i/nr0s2n2avuu9akbcu3dh.jpg)


Next up we look into the 4th pillar:

4)  **Performance Efficiency**
This is how **AWS** defines this pillar: The Performance Efficiency Pillar focuses on the efficient use of computing resources to meet requirements and how to maintain that efficiency as demand changes and technologies evolve. 
This pillar is about running lean and reducing wastage.
..and this is how you architect for this pillar:
![](https://thepracticaldev.s3.amazonaws.com/i/m70ru00xvz1udq5ne563.jpg)
![](https://thepracticaldev.s3.amazonaws.com/i/3msuu72l482g4w7j7wpj.jpg)

Last but not least :-); the Security pillar:

5) **Security**
The security pillar is about ensuring that you protect your information, systems and assets while delivering business value.

These should be your considerations as you architect for this pillar:
![](https://thepracticaldev.s3.amazonaws.com/i/qbbxoj20yiwsnhrx83ok.jpg)
https://d1.awsstatic.com/whitepapers/architecture/AWS-Security-Pillar.pdf
https://d1.awsstatic.com/whitepapers/compliance/AWS_HIPAA_Compliance_Whitepaper.pdf
https://d0.awsstatic.com/whitepapers/Security/AWS_Security_Best_Practices.pdf

![](https://thepracticaldev.s3.amazonaws.com/i/xtrlrtb9llhkxyqec57g.jpg)


In conclusion, the AWS Well Architected Framework is meant to be a practical approach to evaluating your architecture, ensuring that you deploy the best infrastructure for your application that in turn leaves you with time to innovate for your customer.

**The AWS Well Architected Tool is available on the Management Console.

Credits:
https://twitter.com/marknca
https://acloud.guru/
https://aws.amazon.com/blogs/apn/the-5-pillars-of-the-aws-well-architected-framework/