DEV Community

Alec Dutcher
Alec Dutcher

Posted on

Performance Efficiency Best Practices - AWS Well-Architected Framework Study Guide

Return to Well-Architected Framework Guide

Selection

  • 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?

Review

  • 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?

Monitoring

  • 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?

Tradeoffs

  • 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?

Return to Well-Architected Framework Guide

Top comments (0)