Demonstrate the ability to design a loosely coupled system

  • SQS

  • SNS -> SQS

  • SNS Mobile Push

  • Kinesis - data producers; shards; Records - Sequence, partition key, data; 24 hours storage -> 7 days; Not persistent storage; Consumers

Demonstrate ability to implement the most appropriate front-end scaling architecture

CloudFront

  • Web or RTMP distros

  • Geo Restrictions = white or black list

  • Custom URL = Dedicated IP SSL Cert ($$$) or SNI Cert

  • Supports all HTTP verbs; only caches GET, HEAD, OPTIONS

  • Alias naked domain names via Route53 to CloudFront

  • Invalidation

Demonstrate ability to implement the most appropriate middle-tier scaling architecture

  • Elasticache - Memecached = simple; horizontal scaling; multi-threaded; sharded

  • Elasticache - Redis = complex data; sort; presistence; multi-AZ; automatic fail-over; pub/sub; backup/restore

  • SNS Mobile Push - push to phones with amaz-balls support for Windows Phone

  • Kinesis -

Demonstrate ability to implement the most appropriate data storage scaling architecture

  • RDS vs noSQL

Determine trade-offs between vertical and horizontal scaling