Designing scalable application architectures
In this section, we present some of the common approaches to designing scalable application architectures. Some of these design principles are not unique to cloud-based applications, however, they become even more important in a cloud context. Let's review a few of these design principles in the following sections.
Using AWS services for out-of-the-box scalability
One of the simplest guidelines to follow is leveraging AWS PaaS services wherever possible to enjoy the benefits of scalability and availability out of the box, without the associated administrative headaches or design complexity. Don’t reinvent the wheel when ready-to-use services such as email, queuing, search, databases, monitoring, metrics, logging, and so on, are available to you from Amazon or other third-party vendors. For example, you can leverage the RDS or the DynamoDB services available for scalable relational and NoSQL database services, respectively. Similarly, you can leverage...