Return to Well-Architected Framework Guide
- Use a data-driven approach to select architecture
- Data obtained through benchmarking or load testing will be required to optimize architecture
- Ask:
- How do you select the best performing architecture?
- Four main resource types to consider:
-
Compute
- Be aware of your requirements for workload performance and cost requirements
- Compute is available in three forms: instances, containers, and functions
- Ask: How do you select your compute solution?
-
Storage
- Storage is available in three forms: object, block, and file
- Ask: How do you select your storage solution?
-
Database
- Choose from multiple purpose-built database engines including relational, key-value, document, in-memory, graph, time series, and ledger databases
- Don’t need to worry about database management tasks
- Consider the access patterns of your workload
- Consider if other non-database solutions could solve the problem more efficiently
- Ask: How do you select your database solution?
-
Network
- Determine the workload requirements for bandwidth, latency, jitter, and throughput
- Consider location when deploying your network
- Use networking metrics to make changes to networking configuration as the workload evolves
- Take advantage of Regions, placement groups, and edge services
- Ask: How do you configure your networking solution?
-
Compute
- Ensure that workload components are using the latest technologies and approaches to continually improve performance
- Continually evaluate and consider changes to your workload components
- Take advantage of the continual innovation at AWS (new Regions, edge locations, services, and features)
- Ask:
- How do you evolve your workload to take advantage of new releases?
- Monitor workload performance to remediate any issues before they impact customers
- Use monitoring metrics to raise alarms when thresholds are breached
- Plan for game days to test your alarm solution and ensure that it correctly recognizes issues
- Ask:
- How do you monitor your resources to ensure they are performing?
- Think about tradeoffs to ensure an optimal approach
- Collect and evaluate metrics to determine the impact of changes
- Measure the impacts to the system and to the end-user
- Ask:
- How do you use tradeoffs to improve performance?
Top comments (0)