Introducing cloud-based multitier architecture
A simple three-tier architecture consists of a web tier, an application or business tier, and the data tier. These tiers are ordinarily implemented using web servers, application servers, and databases, respectively.
The following figure illustrates tiered architecture on the cloud. This architecture supports auto scaling and load balancing of web servers and application servers. Further, it also implements a master-slave database model across two different zones or data centers (connected with high speed links). The master database is synchronously replicated to the slave. Overall, the architecture represents a simple way to achieve a highly scalable and highly available application in a cloud environment.
Cloud applications can be deployed at multiple locations. Typically, using AWS terminology, these locations are regions (that is, separate geographical areas) or zones (that is, distinct locations within a region connected by low-latency networks). It is also possible to separate out the tiers across two different zones regions to provide for a higher level of redundancy including data center wide or zone-level failures or unavailability. We need to consider network traffic flow and data synchronization issues between the regions while designing high-availability architectures across multiple regions. Such issues are discussed in more detail in Chapter 5, Designing for and Implementing High Availability.
The following architecture diagram illustrates this architecture: