SUS02-BP04 Optimize geographic placement of workloads based on their networking requirements
This best practice was updated with new guidance on July 13th, 2023. |
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
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 Use to cache static content such as images, scripts, and videos, as well as dynamic content such as API responses or web applications.
Use to cache content for web applications.
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 Use for compute-heavy operations that are initiated when objects are not in the cache.
Use for simple use cases like HTTP(s) request or response manipulations that can be initiated by short-lived functions.
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.
Resources
Related documents:
Related videos:
Related examples: