β Repository β πΌ AWS Well-Architected β πΌ Sustainability β πΌ Alignment to demand
πΌ SUS02-BP04 Optimize geographic placement of workloads based on their networking requirements
- ID:
/frameworks/aws-well-architected/sustainability/alignment-to-demand/bp04
Descriptionβ
Select cloud location and services for your workload that reduce the distance network traffic must travel and decrease the total network resources required to support your workload.
Common anti-patterns:
- You select the workload's Region based on your own location.
- You consolidate all workload resources into one geographic location.
- All traffic flows through your existing data centers.
Benefits of establishing this best practice: Placing a workload close to its users provides the lowest latency while decreasing data movement across the network and reducing environmental impact.
Level of risk exposed if this best practice is not established: Medium
Implementation guidanceβ
The AWS Cloud infrastructure is built around location options such as Regions, Availability Zones, placement groups, and edge locations such as AWS Outposts and AWS Local Zones. These location options are responsible for maintaining connectivity between application components, cloud services, edge networks, and on-premises data centers.
Analyze the network access patterns in your workload to identify how to use these cloud location options and reduce the distance network traffic must travel.
Implementation stepsβ
-
Analyze network access patterns in your workload to identify how users use your application.
-
Use monitoring tools, such as Amazon CloudWatch and AWS CloudTrail, to gather data on network activities.
-
Analyze the data to identify the network access pattern.
-
-
Select the Regions for your workload deployment based on the following key elements:
- Your Sustainability goal: as explained in Region selection.
- Where your data is located: For data-heavy applications (such as big data and machine learning), application code should run as close to the data as possible.
- Where your users are located: For user-facing applications, choose a Region (or Regions) close to your workloadβs users.
- Other constraints: Consider constraints such as cost and compliance as explained in What to Consider when Selecting a Region for your Workloads.
-
Use local caching or AWS Caching Solutions for frequently used assets to improve performance, reduce data movement, and lower environmental impact.
Service When to use Amazon CloudFront Use to cache static content such as images, scripts, and videos, as well as dynamic content such as API responses or web applications. Amazon ElastiCache Use to cache content for web applications. DynamoDB Accelerator Use to add in-memory acceleration to your DynamoDB tables. -
Use services that can help you run code closer to users of your workload:
Service When to use Lambda@Edge Use for compute-heavy operations that are initiated when objects are not in the cache. Amazon CloudFront Functions Use for simple use cases like HTTP(s) request or response manipulations that can be initiated by short-lived functions. AWS IoT Greengrass Use to run local compute, messaging, and data caching for connected devices. -
Use connection pooling to allow for connection reuse and reduce required resources.
-
Use distributed data stores that donβt rely on persistent connections and synchronous updates for consistency to serve regional populations.
-
Replace pre-provisioned static network capacity with shared dynamic capacity, and share the sustainability impact of network capacity with other subscribers.
Similarβ
Sub Sectionsβ
Section | Sub Sections | Internal Rules | Policies | Flags | Compliance |
---|