AWS Web App 3-tier Architecture





1. A user will query Route 53 for an alias record.

2. Using the alias record, the user will go straight to Elastic Load Balancer which is in the public subnet as it has to be accessible from the World Wide Web(WWW).

3. Behind the ELB, There is the Auto Scaling Group. In order for the ASG to be highly available, it is split between two Availability Zones. The ASG spins up EC2 instances (4 instances and two in each AZ in the diagram).

4. The ELB spreads out the load onto each instance. Instances can be added as scale-out or removed as scale-in which allows the ASG to be responding to high traffic or low traffic.

5. The instances usually talk directly to RDS (Relational Database Service) database to do some operations.

For resilience to failure, RDS master has RDS slave (standby replica) using cross-AZ replication.
If the master RDS db fails, the application automatically fall over to RDS slave.

6. ElastiCache cluster (mainly Redis) allow the application to read stuff off of the cache data such as user session or data straight from RDS.

ASG is in the private subnet as it only talks to ELB.
ElastiCache and RDS are in the data/private subnet, which means another subnet tier called data subnet can be created or the private subnets can be reused.

As an end user, I only access my ELB. Everything else is not directly accessed by the end user.


Comments

Popular posts from this blog

Portlet Edit Mode (Portlet preference) to replace Portlet configuration

GoGo Shell & What can be deleted in Liferay Instance