Wednesday, July 25, 2012

Part 6: (AZ Series) Guidelines for architecting applications across AWS Availability Zones

Guidelines for architecting applications across AWS Availability Zones

A typical Web-Application Stack consists of following tiers; DNS tier, Load Balancers, Web Tier, App Tier, Cache, Database and Storage layer. It is important to run all independent application stacks in more than one AZ, so that if one zone fails, the application in the other zone can continue to run without disruption in AWS infrastructure. All the above mentioned tiers can be distributed and deployed to run on at least 2 or more availability zones inside an AWS region. In our experience we have seen the following set of tiers and software’s can be deployed across multiple availability zones with minimal configuration changes:

Sample Web/App Architecture using Multiple Availability zones

Following diagram illustrates a reference architecture using Multiple Availability zones of Amazon. Let us see what the various tiers in this architecture are and how they are using AZ concept.

DNS tier: Route53 
Load balancing Tier: Amazon ELB inbuilt with Multi-AZ
Web /App Tier: EC2 instances launched across Multiple Availability zones using Amazon AutoScaling. Integrated with Amazon ELB and CloudWatch 
Database Tier: RDS MySQL with Hot Standby, Multiple Read Replica’s in multiple AZ’s depending upon the Read Scaling needed 
Caching Tier: Amazon ElastiCache cluster or EC2 MemCached distributed in Multiple –AZ
Search Tier: Since Amazon CloudSearch currently support only single AZ; users can look at deploying Solr replication/Replicated shards across multiple Availability zones
NoSQL Tier: Amazon DynamoDB inherently replicates data in Multiple AZ’s/Facilities
CDN Tier: Amazon CloudFront internally uses global network of edge locations
Monitoring Tier: Amazon CloudWatch is used for monitoring the infrastructure. EC2 instances use detailed monitoring.

Other Related Articles :
(Full Article) Exploring Amazon Availability Zones 
Part 8: (AZ Series) Availability Zones : Simple Latency Test
Part 7: (AZ Series) AWS Availability Zones Usage charges
Part 6: (AZ Series) Guidelines for architecting applications across AWS Availability Zones
Part 5:(AZ Series) Availability Zone Names are logical names
Part 4: (AZ Series) How Amazon VPC uses Availability zones
Part 3: (AZ Series) How AWS Building blocks inherently leverage Availability Zones?
Part 2: (AZ Series) Why we should leverage AWS Availability Zones?
Part 1: (AZ Series) What is AWS Availability Zone ?

No comments:

Need Consulting help ?


Email *

Message *

All posts, comments, views expressed in this blog are my own and does not represent the positions or views of my past, present or future employers. The intention of this blog is to share my experience and views. Content is subject to change without any notice. While I would do my best to quote the original author or copyright owners wherever I reference them, if you find any of the content / images violating copyright, please let me know and I will act upon it immediately. Lastly, I encourage you to share the content of this blog in general with other online communities for non-commercial and educational purposes.