Explaining the AWS Well-Architected Framework Like You’re 5
The easiest way to understand the AWS well-architected framework.
Imagine you’re building a house. You want it to be strong, safe and withstand storms and other disasters when building it. Think of the application you want to build as this house.
AWS has a multitude of service that can help you build a strong, safe and resilient “house”. The services AWS provides helps you build scalable, efficient, highly available and resilient applications.
Besides for its services, AWS has a framework they call “The Well-Architected Framework” which is a set of rules that helps people build these powerful applications using the cloud.
There are 6 pillars that make up the well architected framework, these are:
Operational Excellence
Security
Reliability
Performance Efficiency
Cost Optimization
Sustainability
These 6 concepts or “pillars” are not 6 separate entities, they work together as a synergy.
By using them all together in harmony you can achieve and implement the best practices of a well architected application.
Let’s explain in simple terms each of these concepts.
1. Operational Excellence
Operational excellence is like having the perfect tools and a really organized workspace to build your house. We can make use of tools like automation to streamline operations to build applications. The focus here is on having all our resources in their place, easy to find and easy to manage.
This is typically done with IaC — Infrastructure as Code using AWS CloudFormation. You can also use AWS X-ray for debugging and the code tools like CodeBuild, CodeDeploy and CodePipeline.
2. Security
Security speaks for itself. It is about protecting our information in the cloud, implementing least privileges (those who don’t need access to resources shouldn’t have it) and encrypting our data while it is stored and while it is being transferred over the network (at rest & in transit).
Best practices include keeping people away from data, least privileges and preparing for security events.
Security of your resources can be implemented using AWS IAM, Shield, WAF and using MFA (Multi factor authentication).
3. Reliability
This one is about making sure our web application is always available even when it experiences high traffic. We want our infrastructure to recover from disruptions. We also want to dynamically acquire (computing) resources to match demand — like sudden spikes in traffic to our application.
The focus here is on high availability, making sure our application is deployed across multiple AWS Availability Zones (AZs) in case of disruptions.
The services we use to achieve high availability is AWS Auto Scaling, and for reliability — AWS Trusted Advisor, S3, CloudWatch & CloudTrail.
4. Performance Efficiency
Think back to our imaginary house. When we live in our house we want to be able to have heating and cooling, be able to cook food, take baths and so on. This costs money. We want our house to perform well but to be efficient and not waste money on electricity bills and general over-usage.
This pillar underlines the importance for efficiency of computing in the cloud. The focus is on using cloud technologies, using serverless solutions and by experimenting more with various cloud solutions.
The services you can make use of here are AWS Lambda, EBS, RDS, ElastiCache, Snowball and CloudFront.
5. Cost Optimization
As the name implies, this concept is about saving money. As your systems scale, so will your costs. Being aware of costs and optimizing for costs on every resource and service is very important for your architectural design. Systems should be constantly monitored and improved in areas where costs can be reduced.
The focus here is on using a cloud infrastructure instead of on-premise data centers, adopt a consumption mode and monitor costs at every level.
AWS has a multitude of services focused solely on monitoring and optimizing costs. You can make use of AWS Budgets, Cost Explorer, Costs & Usage Report, Cost Calculator, S3 Glacier, Trusted Advisor and Reserved Instances (EC2).
6. Sustainability
Sustainability focuses on being aware of and minimizing the environmental impacts of working with the cloud. It is about establishing sustainability goals and reducing the amount of energy or resources that is needed to run your cloud workloads.
Right Sizing is an important element to focus on here, which is about matching your (instance types) resources to your capacity requirements at the least possible cost.
The services you can make use of to achieve your sustainability goals are: AWS Auto Scaling, S3 Infrequently Accessed & Intelligent Tiers, S3 Glacier, EFS-IA, DynamoDB and CloudFront.
Summary
The 6 pillars of the AWS Well-Architected Framework provide a comprehensive framework for designing, building and managing cloud architectures that are operationally efficient, secure, reliable, performant, cost effective and environmentally sustainable.
By following these guidelines, organizations can optimize their cloud investments and better meet the needs of their customers while at the same time contributing to a more sustainable future.
👋 My name is Uriel Bitton and I’m committed to helping you master Serverless, Cloud Computing, and AWS.
🚀 If you want to learn how to build serverless, scalable, and resilient applications, you can also follow me on Linkedin for valuable daily posts.
Thanks for reading and see you in the next one!