Ref: https://learn.cantrill.io/courses/1820301/lectures/41301437
YouTube: https://www.youtube.com/watch?v=WFiMqGDUefw
Global and Regional Applications
- 🔧 Global applications (e.g. Netflix) consist of multiple regional applications
- Regional applications = discreet blocks of infrastructure that operate independently & duplicated across different regions
- Efficient concept → makes designing large platforms much easier
- 3 common types of system architectures in AWS:
- Small scale or single-region systems → only exist in 1 region
- Single-region systems with a DR requirement → failover/secondary region is needed
- Multi-region systems → need to operate through failure in 1 or more regions
- AWS products and services map onto specific architectural components
- 💡 Note that most AWS products & services are regional, very few are actually global
Architectural Components of Cloud Applications and Systems
Global Components
- Global Service Location & Discovery
- Content Delivery (CDN) & Optimization
- How does the content/data for an app get to users globally?
- Are there pockets of storage distributed globally? Or does it all come from a central location?
- e.g. Amazon CloudFront (CF)
- Caches content for users in different locations
- Global Health Checks & Failover
- Monitor health of infrastructure in different locations
- If infrastructure is unhealthy in a location, move customers to another location
- Isolate failures and move sessions to a different region when they happen (failover)
- e.g. R53 health checks
- Simplified example of Netflix global architecture (Primary region = US, Secondary = AUS)
Regional Components
- Regional Entry Point
- How do customers enter regional infrastructure?
- e.g. through a VPC, or using public space AWS services
- Scaling & Resilience
- How does the system tolerate regional load changes and failures?
- e.g. Application Load Balancers (ALBs), Auto Scaling Groups (ASGs)…
- Application Services & Components
- Functionality of the system in the region
- e.g. EC2 instances, S3 buckets…