The Well-Architected framework has been developed to help cloud architects build the most secure, high-performing, resilient, and efficient infrastructure possible for their applications. This framework provides a consistent approach for customers and partners to evaluate architectures, and provides guidance to help implement designs that will scale with your application needs over time. Following are the five pillars of well architected framework.
Resilient Architecture Pillar (FARMD)
Fault tolerant: Multi AZ RDS, Route 53 failover policies, ELB health checks
High Availability by spreading across Availability Zones (Using ELB with health checks, Route 53 failover routing etc)
Resilient/reliable storage (S3 is inherently reliable. Use multi AZ deployment in RDS for Disaster Recovery)
Multi tier architecture (ELB/CloudFront tier, web/app tier, data tier)
Decouple system components to avoid single point of failure (use SQS/SWF)
High performant architecture Pillar (SECRI)
Scalability: Scaling up/down by using proper instance types with desired amount of cpu/memory
Elasticity: Scaling out/in with increase/decrease number of instances, load balancing and auto scaling features
Cacheing (Elasticache, Aurora Cache, Cloud Front with edge locations, S3 transfer acceleration)
Read replicas: High performance DB tier
IOPS: High performance storage (Provisioned IOPS EBS or standard burstable EBS )
Security Pillar
WAF, VPC ACLs, Security Groups
Bastion hosts for accessing EC2s in private subnets thru SSH/RDS
NAT gateway/instances for downloading patches from internet for EC2 instances inside private subnets