Chapter 15. Distributing Your Application in the AWS Cloud

We discussed in Chapter 2 the value of distributing an application across multiple data centers as a way of improving availability in a highly scaled environment.

The same philosophy applies in the cloud. As we put portions of our applications, or complete applications, into the cloud, we need to watch where in the cloud they are located. How distributed our applications are in the cloud is just as important as it is with normal data centers, particularly as applications scale. We also talked about the dangers of unknown common points of failure in shared infrastructure components, such as rack power supplies. The cloud, too, has common points of failure you should be aware of during your application deployment design process.

Due to the nature of how the cloud operates, the cloud makes understanding whether your application is properly distributed more challenging. The cloud also makes it more difficult to proactively make your application more distributed. Some cloud providers don’t even expose enough information to let you know where, geographically, your application is running. This makes architecting to be resilient to infrastructure failure more difficult.

Luckily, AWS will help you distribute your application geographically. Although AWS won’t tell you specifically where your application is running geographically, it will give you enough information to make proper scaling and availability decisions. However, there ...

Get Architecting for Scale, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.