Latency makes users wait for an application to respond. Thus, it's imperative that an IT team design a solid cloud application architecture to reduce latency and maintain strong performance.
For apps in an AWS multiregion deployment, the architecture will typically rely on available resources and services within each region. By using these local resources, application developers can avoid the need to call services and resources between regions that would drive up latency.
There are numerous ways to ensure local resource availability for your cloud application architecture. For example, AWS provides CRR for Amazon S3 storage and enables asynchronous replication of S3 objects across different AWS regions for local region access. AWS also incorporates cross-region read replicas (CRRRs) for database services, such as Amazon Aurora and Amazon RDS for MySQL, MariaDB and PostgreSQL. Read replicas can significantly boost the performance of read-heavy workloads that cross regional boundaries.
Writes with CRRRs must still be handled through a single master database, which could potentially create latency during writes. However, AWS plans to bring multimaster support to Amazon Aurora and enable other master instances to take over if the original master fails. Another recent improvement is DynamoDB Global Tables, which provides a multiregion, multimaster database option. Applications can write to any table, and DynamoDB will automatically sync the changes to other tables in other regions.
AWS developers can also use other cross-region services for their cloud application architecture. For example, they could use an Amazon Machine Image to replicate machine images between AWS regions and launch the same AMIs in multiple regions. This enables easier application scalability, availability and performance. AWS also supports snapshot replication across regions through services such as Amazon Redshift and RDS.