SUS03-BP01 Optimize software and architecture for asynchronous and scheduled jobs - AWS Well-Architected Framework (2022-03-31)

SUS03-BP01 Optimize software and architecture for asynchronous and scheduled jobs

Use efficient software designs and architectures to minimize the average resources required per unit of work. Implement mechanisms that result in even utilization of components to reduce resources that are idle between tasks and minimize the impact of load spikes.

Level of risk exposed if this best practice is not established: Low

Implementation guidance

  • Queue requests that don’t require immediate processing.

  • Increase serialization to flatten utilization across your pipeline.

  • Modify the capacity of individual components to prevent idling resources waiting for input.

  • Create buffers and establish rate limiting to smooth the consumption of external services.

  • Use the most efficient available hardware for your software optimizations.

  • Use queue-driven architectures, pipeline management, and On-Demand Instance workers to maximize utilization for batch processing.

  • Schedule tasks to avoid load spikes and resource contention from simultaneous execution.

  • Schedule jobs during times of day where carbon intensity for power is lowest.

Resources

Related documents:

Related videos: