Search for Well Architected Advice
	- 
					
Determine what your priorities are
 - 
					
Structure your organization to support your business outcomes
- Resources have identified owners
 - Processes and procedures have identified owners
 - Operations activities have identified owners responsible for their performance
 - Team members know what they are responsible for
 - Mechanisms exist to identify responsibility and ownership
 - Mechanisms exist to request additions, changes, and exceptions
 - Responsibilities between teams are predefined or negotiated
 
 - 
					
Organizational culture to support your business outcomes
- Executive Sponsorship
 - Team members are empowered to take action when outcomes are at risk
 - Escalation is encouraged
 - Communications are timely, clear, and actionable
 - Experimentation is encouraged
 - Team members are encouraged to maintain and grow their skill sets
 - Resource teams appropriately
 - Diverse opinions are encouraged and sought within and across teams
 
 - 
					
Implement observability in your workload
 - 
					
Reduce defects, ease remediation, and improve flow into production
 - 
					
Mitigate deployment risks
 - 
					
Be ready to support a workload
 - 
					
Uilize workload observability
 - 
					
Understand the health of your operations
 - 
					
Manage workload and operations events
 - 
					
Evolve your operations
 
- 
					
Securely operate your workload
- Separate workloads using accounts
 - Secure account root user and properties
 - Identify and validate control objectives
 - Keep up-to-date with security recommendations
 - Keep up-to-date with security threats
 - Identify and prioritize risks using a threat model
 - Automate testing and validation of security controls in pipelines
 - Evaluate and implement new security services and features regularly
 
 - 
					
Manage identities for people and machines
 - 
					
Manage permissions for people and machines
- Define access requirements
 - Grant least privilege access
 - Define permission guardrails for your organization
 - Manage access based on life cycle
 - Establish emergency access process
 - Share resources securely within your organization
 - Reduce permissions continuously
 - Share resources securely with a third party
 
 - 
					
Detect and investigate security events
 - 
					
Protect your network resources
 - 
					
Protect your compute resources
 - 
					
Classify your data
 - 
					
Protect your data at rest
 - 
					
Protect your data in transit
 - 
					
Anticipate, respond to, and recover from incidents
 - 
					
Incorporate and validate the security properties of applications throughout the design, development, and deployment lifecycle
- Perform regular penetration testing
 - Deploy software programmatically
 - Regularly assess security properties of the pipelines
 - Train for Application Security
 - Automate testing throughout the development and release lifecycle
 - Manual Code Reviews
 - Centralize services for packages and dependencies
 - Build a program that embeds security ownership in workload teams
 
 
- 
					
Manage service quotas and constraints
- Be aware of service quotas and constraints in Cloud Services
 - Manage service quotas across accounts and Regions
 - Accommodate fixed service quotas and constraints through architecture
 - Monitor and manage quotas
 - Automate quota management
 - Ensure sufficient gap between quotas and usage to accommodate failover
 
 - 
					
Plan your network topology
- Use highly available network connectivity for your workload public endpoints
 - Provision Redundant Connectivity Between Private Networks in the Cloud and On-Premises Environments
 - Ensure IP subnet allocation accounts for expansion and availability
 - Prefer hub-and-spoke topologies over many-to-many mesh
 - Enforce non-overlapping private IP address ranges in all private address spaces where they are connected
 
 - 
					
Design your workload service architecture
 - 
					
Design interactions in a distributed system to prevent failures
 - 
					
Design interactions in a distributed system to mitigate or withstand failures
 - 
					
Monitor workload resources
- Monitor end-to-end tracing of requests through your system
 - Conduct reviews regularly
 - Analytics
 - Automate responses (Real-time processing and alarming)
 - Send notifications (Real-time processing and alarming)
 - Define and calculate metrics (Aggregation)
 - Monitor End-to-End Tracing of Requests Through Your System
 - Define and calculate metrics
 
 - 
					
Design your workload to adapt to changes in demand
 - 
					
Implement change
 - 
					
Back up data
 - 
					
Fault isolation to protect your workload
 - 
					
Design your workload to withstand component failures
- Monitor all components of the workload to detect failures
 - Fail over to healthy resources
 - Automate healing on all layers
 - Rely on the data plane and not the control plane during recovery
 - Use static stability to prevent bimodal behavior
 - Send notifications when events impact availability
 - Architect your product to meet availability targets and uptime service level agreements (SLAs)
 
 - 
					
Test reliability
 - 
					
Plan for disaster recovery (DR)
 
- 
					
Implement cloud financial management
- Establish ownership of cost optimization
 - Establish a partnership between finance and technology
 - Establish cloud budgets and forecasts
 - Implement cost awareness in your organizational processes
 - Monitor cost proactively
 - Keep up-to-date with new service releases
 - Quantify business value from cost optimization
 - Report and notify on cost optimization
 
 - 
					
Govern usage
 - 
					
Monitor your cost and usage
 - 
					
Decommission resources
 - 
					
Evaluate cost when you select services
- Perform cost analysis for different usage over time
 - Analyze all components of this workload
 - Perform a thorough analysis of each component
 - Select components of this workload to optimize cost in line with organization priorities
 - Perform cost analysis for different usage over time
 - Select software with cost effective licensing
 
 - 
					
Meet cost targets when you select resource type, size and number
 - 
					
Use pricing models to reduce cost
 - 
					
Plan for data transfer charges
 - 
					
Manage demand, and supply resources
 - 
					
Evaluate new services
 - 
					
Evaluate the cost of effort
 
- 
					
Select the appropriate cloud resources and architecture patterns for your workload
- Learn about and understand available cloud services and features
 - Evaluate how trade-offs impact customers and architecture efficiency
 - Use guidance from your cloud provider or an appropriate partner to learn about architecture patterns and best practices
 - Factor cost into architectural decisions
 - Use policies and reference architectures
 - Use benchmarking to drive architectural decisions
 - Use a data-driven approach for architectural choices
 
 - 
					
Select and use compute resources in your workload
 - 
					
Store, manage, and access data in your workload
- Use purpose-built data store that best support your data access and storage requirements
 - Collect and record data store performance metrics
 - Evaluate available configuration options for data store
 - Implement Strategies to Improve Query Performance in Data Store
 - Implement data access patterns that utilize caching
 
 - 
					
Select and configure networking resources in your workload
- Understand how networking impacts performance
 - Evaluate available networking features
 - Choose appropriate dedicated connectivity or VPN for your workload
 - Use load balancing to distribute traffic across multiple resources
 - Choose network protocols to improve performance
 - Choose your workload's location based on network requirements
 - Optimize network configuration based on metrics
 
 - 
					
Support more performance efficiency for your workload
- Establish key performance indicators (KPIs) to measure workload health and performance
 - Use monitoring solutions to understand the areas where performance is most critical
 - Define a process to improve workload performance
 - Review metrics at regular intervals
 - Load test your workload
 - Use automation to proactively remediate performance-related issues
 - Keep your workload and services up-to-date
 
 
- 
					
Select Regions for your workload
 - 
					
Align cloud resources to your demand
- Scale workload infrastructure dynamically
 - Align SLAs with sustainability goals
 - Optimize geographic placement of workloads based on their networking requirements
 - Stop the creation and maintenance of unused assets
 - Optimize team member resources for activities performed
 - Implement buffering or throttling to flatten the demand curve
 
 - 
					
Take advantage of software and architecture patterns to support your sustainability goals
- Optimize software and architecture for asynchronous and scheduled jobs
 - Remove or refactor workload components with low or no use
 - Optimize areas of code that consume the most time or resources
 - Optimize impact on devices and equipment
 - Use software patterns and architectures that best support data access and storage patterns
 - Remove unneeded or redundant data
 - Use technologies that support data access and storage patterns
 - Use policies to manage the lifecycle of your datasets
 
 - 
					
Take advantage of data management policies and patterns to support your sustainability goals
- Articles coming soon
 
 - 
					
Select and use cloud hardware and services in your architecture to support your sustainability goals
 - 
					
Implement organizational processes support your sustainability goals
 
Featured Articles
Popular Articles
			
		Newest Articles
			
		Recently Updated Articles