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
- Performance Efficiency
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:
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:
Full details on this here:
We’re almost halfway 🙂 >> now onto the 3rd pillar:
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:
Below is an awesome YouTube video from re:Invent2018 and it provides more information on designing resilient VPCs:
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:
Last but not least :-); the Security pillar:
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:
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.