Please enable JavaScript.
Coggle requires JavaScript to display documents.
Well-Architected Framework (Key Principles (Scale up and down as required,…
Well-Architected Framework
What is it?
It is not a set of blueprints
It is a set of principles
For better solution that is
cost effective and meets
your use case
Five pillars
Operational Excellence
Security
Cost Optimization
Reliability
Performance Efficiency
Distilled based on years of
experience working with customers
Key Principles
Scale up and down as required
Reduce idle resources
No advanced capacity planning
Automate to achieve consistency and reliability
Test a production replica for availability,
scalability, reliability, security etc.
Adapt the architecture for new challenges
and changes to business and technology
Make informed decisions based on data
Plan game day
create chaos to test and harness
production environment
Operational Excellence
Principles
All operations are code
No manual checklist
Use any open-source frameworks
Document is updated automatically
Document why in code
Version the changes
Small changes are better
Easier to rollback
Iterate frequently
Short feedback loop
Expect things to go sideways
Learn from failures and success
Document them and
share with team
Prepare-Operate-Evovle
Prepare: Forecast as much as possible
Prioritize to align with business priorities
What's critical business goal?
Any compliance / regulatory requirements?
What's the dependencies between the services?
Design architecture to support business priorities
Is the design observable?
Are the logs and observations are actionalble?
Is the entire design code?
Is your workload ready to go live?
Are your processes consistent?
Is operational code well managed?
Version controlled
Tested
Operate: Automate as much as possible
Evolve: Learn as much as possible
Does your architecture work? Will it continue to work?
Cost Optimization
Spend only what you have to
Principles
Consumption based pricing
Reduce idle resources
Measure efficiency constantly
Monitor CPU usage
Leverage on CloudWatch for
monitoring and measuring key metrics
Let AWS do the work
whenever possible
Choose managed service when possible
Reliability
Will this system work consistently
and recover quickly?
Principles
Recover from issues automatically
Scale horizontally for resiliency
Manage change through automation
Reduce dependency on
human intervention
Performance Efficiency
Right sizing
(Remove bottleneck, reduce waste)
Principle
Let AWS do the work
whenever possible
Scaling up & down
Reduce latency through regions
and AWS edge
Leverage on CloudFront
Leverage on Serverless
If not use containers
(last resort is to use instances)
Experiment as new services are released
Think about the user, not your tech stack
Security
Does this system work only as intended?
Principles
Identities have the least privileges required
Know who did what and when
Automate security tasks
Security is woven into the fabric of the system
Encrypt data in transit and at rest
Prepare for the worst