Well Architected Framework Flashcards
1
Q
Well Architected Framework
General Guiding Principles
A
- Stop guessing your capacity needs
- Test systems at production scale
- Automate to make architectural experimentation easier
- Allow for evolutionary architectures
- Design based on changing requirements
- Drive architectures using data
- Improve through game days
- Simulate applications for flash sale days
2
Q
AWS Cloud Best Practices
Design Principles
A
- Scalability: vertical & horizontal
- Disposable Resources: servers should be disposable & easily configured
- Automation: Serverless, Infrastructure as a Service, Auto Scaling…
-
Loose Coupling:
- Monolith are applications that do more and more over time, become bigger
- Break it down into smaller, loosely coupled components
- A change or a failure in one component should not cascade to other components
-
Services, not Servers:
- Don’t use just EC2
- Use managed services, databases, serverless, etc!
3
Q
Well Architected Framework
6 Pillars
A
1) Operational Excellence
2) Security
3) Reliability
4) Performance Efficiency
5) Cost Optimization
6) Sustainability
They are not something to balance, or trade-offs, they’re a synergy
4
Q
1) Operational Excellence
A
- Includes the ability to run and monitor systems to deliver business value and to continually improve supporting processes and procedures
-
Design Principles
- Perform operations as code - Infrastructure as code
-
Annotate documentation - Automate the creation of annotated documentation after every build
* Make frequent, small, reversible changes - So that in case of any failure, you can reverse it
* Refine operations procedures frequently - And ensure that team members are familiar with it
* Anticipate failure
* Learn from all operational failures
-
Operational Excellence AWS Services:
- Prepare: AWS CloudFormation. AWS Config
- Operate: AWS CloudFormation. AWS Config, AWS CloudTrail, Amazon CloudWatch, AWS X-Ray
- Evolve: AWS CloudFormation, AWS CodeBuild, AWS CodeCommit, AWS CodeDeploy, AWS CodePipeline
5
Q
2) Security
A
- Includes the ability to protect information, systems, and assets while delivering business value through risk assessments and mitigation strategies
-
Design Principles
- Implement a strong identity foundation - Centralize privilege management and reduce (or even eliminate) reliance on long-term credentials - Principle of least privilege - IAM
- Enable traceability - Integrate logs and metrics with systems to automatically respond and take action
- Apply security at all layers - Like edge network, VPC, subnet, load balancer, every instance, operating system, and application
- Automate security best practices
- Protect data in transit and at rest - Encryption, tokenization, and access control
- Keep people away from data - Reduce or eliminate the need for direct access or manual processing of data
- Prepare for security events - Run incident response simulations and use tools with automation to increase your speed for detection, investigation, and recovery
- Shared Responsibility Model
-
Security AWS Services
-
Identity and Access Management: IAM, AWS-STS, MFA token, AWS Organizations
- Detective Controls: AWS Config, AWS CloudTrail, Amazon CloudWatch
- Infrastructure Protection: Amazon CloudFront, Amazon VPC, AWS Shield ,AWS WAF, Amazon Inspector
- Data Protection: KMS, S3, Elastic Load Balancing (ELB), Amazon EBS, Amazon RDS
- Incident Response: IAM, AWS CloudFormation, Amazon CloudWatch Events
-
Identity and Access Management: IAM, AWS-STS, MFA token, AWS Organizations
6
Q
3) Reliability
A
- Ability of a system to recover from infrastructure or service disruptions,
dynamically acquire computing resources to meet demand, and mitigate
disruptions such as misconfigurations or transient network issues -
Design Principles
- Test recovery procedures - Use automation to simulate different failures or to recreate scenarios that led to failures before
- Automatically recover from failure - Anticipate and remediate failures before they occur
- Scale horizontally to increase aggregate system availability - Distribute requests across multiple, smaller resources to ensure that they don’t share a common point of failure
- Stop guessing capacity - Maintain the optimal level to satisfy demand without over or under provisioning - Use Auto Scaling
- Manage change in automation - Use automation to make changes to infrastructure
-
Reliability AWS Services
* Foundations (IAM, Amazon VPC, Service Quotas, AWS Trusted Advisor)
* Change Management (AWS Auto Scaling, Amazon CloudWatch, AWS CloudTrail, AWS Config)
* Failure Management (Backups, AWS CloudFormation, Amazon S3 Glacier, Amazon S3, Amazon Route 53
7
Q
4) Performance Efficiency
A
- Includes the ability to use computing resources efficiently to meet system requirements, and to maintain that efficiency as demand changes and technologies evolve
-
Design Principles
- Democratize advanced technologies - Advance technologies become services and hence you can focus more on product development
- Go global in minutes - Easy deployment in multiple regions
- Use serverless architectures - Avoid burden of managing servers
- Experiment more often - Easy to carry out comparative testing
- Mechanical sympathy - Be aware of all AWS services
-
Performance Efficiency AWS Services
- Selection (AWS Auto Scaling, Amazon Elastic Block Store (EBS), Amazon Simple Storage Service (S3), AWS Lambda, Amazon RDS)
- Review (AWS CloudFormation, AWS News Blog)
- Monitoring (Amazon CloudWatch, AWS Lambda)
- Tradeoffs (Amazon RDS, Amazon ElastiCache, AWS Snowball, Amazon CloudFront)
8
Q
5) Cost Optimization
A
- Includes the ability to run systems to deliver business value at the lowest price point
-
Design Principles
- Adopt a consumption mode - Pay only for what you use
- Measure overall efficiency - Use CloudWatch
- Stop spending money on data center operations - AWS does the infrastructure part and enables customer to focus on organization projects
- Analyze and attribute expenditure - Accurate identification of system usage and costs, helps measure return on investment (ROI) - Make sure to use tags
- Use managed and application level services to reduce cost of ownership - As managed services operate at cloud scale, they can offer a lower cost per transaction or service
-
Cost OptimizationAWS Services
* Expenditure Awareness (AWS Budgets, AWS Cost and Usage Report, AWS Cost Explorer, Reserved Instance Reporting)
* Cost-Effective Resources (Spot Instance, Reserved Instance, Amazon S3 Glacier)
* Matching supply and demand (AWS Auto Scaling, AWS Lambda)
* Optimizing Over Time (AWS Trusted Advisor, AWS Cost and Usage Report)
9
Q
6) Sustainability
A
- The sustainability pillar focuses on minimizing the environmental impacts of running cloud workloads.
-
Design Principles
- Understand your impact – establish performance indicators, evaluate improvements
- Establish sustainability goals – Set long-term goals for each workload, model return on investment (ROI)
- Maximize utilization – Right size each workload to maximize the energy efficiency of the underlying hardware and minimize idle resources.
- Anticipate and adopt new, more efficient hardware and software offerings – and design for flexibility to adopt new technologies over time.
- Use managed services – Shared services reduce the amount of infrastructure; Managed services help automate sustainability best practices as moving infrequent accessed data to cold storage and adjusting compute capacity.
- Reduce the downstream impact of your cloud workloads – Reduce the amount of energy or resources required to use your services and reduce the need for your customers to upgrade their devices
-
Sustainability AWS Services
- EC2 Auto Scaling, Serverless Offering (Lambda, Fargate)
- Cost Explorer, AWS Graviton 2, EC2 T instances, @Spot Instances
- EFS-IA, Amazon S3 Glacier, EBS Cold HDD volumes
- S3 Lifecycle Configurations, S3 Intelligent Tiering
- Amazon Data Lifecycle Manager
- Read Local, Write Global: RDS Read Replicas, Aurora Global DB, DynamoDB Global Table, CloudFront
10
Q
AWS Well-Architected Tool
A
- Free tool to review your architectures against the 6 pillars Well-Architected Framework and adopt architectural best practices
- How does it work?
- Select your workload and answer questions
- Review your answers against the 6 pillars
- Obtain advice: get videos and documentations, generate a report, see the results in a dashboard
- Let’s have a look: https://console.aws.amazon.com/wellarchitected