Get started Bring yourself up to speed with our introductory content.

Build an AWS multiregion architecture to meet global demand


Make asynchronous replication a go-to for global apps

Source:  Getty Images
Visual Editor: Online Design

Generally, a system cannot be available and consistent at the same time, which can affect data storage and replication.

Ideally, a distributed application copies data across its nodes, either through synchronous or asynchronous replication. To maintain application consistency, changes made to one node are propagated to other nodes before more work is done, and those other nodes must wait for the changes to replicate before they continue. This ensures that each node of the distributed application contains the same data and is in the same state at any given time.

But it's difficult to maintain consistency through synchronous replication when the application is distributed across long distances. One concern is service functionality, as data synchronization may not be available for some services between regions. For example, Amazon Relational Database Service (RDS) can sync data across AZs within the same region but may not be able to sync data across Amazon EC2 regions.

Network latency is an even greater challenge, as it will add significant time to the replication process and possibly leave some nodes of the distributed application unresponsive for a period of time. As a result, applications within an AWS multiregion architecture typically emphasize availability over consistency. Application architects will opt for asynchronous replication, which enables nodes to continue working, even though changes in one data set may not be immediately reflected in the replicas.

Developers that use asynchronous replication must plan carefully to ensure that multiple copies of data are eventually reconciled or converged in the background without affecting UX.

AWS is aware of the challenges involved in architecting and deploying multiregion applications and provides asynchronous storage replication services to specifically support cross-region operation. One example is cross-region replication (CRR) for Amazon S3, which lets users specify source and destination S3 buckets, the object(s) to replicate and the storage class for the destination object, if desired.

View All Photo Stories
App Architecture
Cloud Computing
Software Quality