
High Availability (HA): System remains operational even when components fail. Achieved by eliminating single points of failure.
Scalability types:
Vertical scaling (scale up/down) — increase/decrease instance size (bigger server)
Horizontal scaling (scale out/in) — add/remove instances; more resilient; preferred for cloud
Elastic Load Balancing (ELB):
Distributes traffic across multiple targets (EC2, containers, Lambda)
Application Load Balancer (ALB) — Layer 7; HTTP/HTTPS; path-based routing; ideal for microservices
Network Load Balancer (NLB) — Layer 4; TCP/UDP; ultra-high performance, low latency
Gateway Load Balancer — for deploying virtual network appliances (firewalls)
Auto Scaling:
Automatically add or remove EC2 instances based on demand
Maintains desired capacity; replaces unhealthy instances
Scaling policies: Target tracking (maintain metric), Step scaling, Scheduled scaling
Multi-AZ deployment: Deploy resources in 2+ AZs. If one AZ fails, others continue serving traffic. Best practice for all production workloads.
Reference:
TaskLoco™ — The Sticky Note GOAT