Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How AWS Does Content Management at Scale

How AWS Does Content Management at Scale

AWS Tech Talk covering how the aws.amazon.com website is architected and managed.

Avatar for Daniel Westermann-Clark

Daniel Westermann-Clark

June 14, 2016

Other Decks in Technology

Transcript

  1. Background • We own aws.amazon.com • 50/50 split of backend/frontend

    engineers • Java, Ruby, JavaScript, ES6, etc.
  2. Our focus • Content management systems • Services to render

    content • Customer-facing web applications
  3. Current stats • 100s of authors around the world •

    11 different languages • 20,000 distinct units of content • 1000s of publish requests per day
  4. Current stats • Over 500 EC2 instances • Multiple AWS

    regions • 99.995% uptime • Millions of requests per day • Frequent DDoS attacks
  5. Content management at scale? • One “enterprise” CMS • One

    not-enterprise CMS • Both with their own scaling demands • Clustering, MySQL databases, etc.
  6. Decoupling content management • Each CMS sends events when publishing

    • Events are JSON – { "type": "contentModifiedEvent", "status": "new", "contentPath": "/aws.amazon.com/en_US/foo/bar", "contentType": "text/html", "eventBy": "foobar", "eventName": "activation", "eventTime": "2016-05-29T23:45:07.013Z", "environmentName": "CMS", "hostUrl":"https://aws-publish-i-12345678:8443", "event": { "metadata": { [...] } }, "entity": { "metadata": { [...] } } }
  7. Service: Static Rendering • Pluggable, event-driven system • Validates and

    transforms content • Saves the result in S3 for later • Pattern: baking content
  8. Service: Static Rendering Region Virtual Private Cloud Availability Zone VPC

    Subnet CMS R Render R Render R Render SQS SNS S3 Availability Zone VPC Subnet CMS R Render R Render R Render SQS SNS
  9. Service: Content Delivery • Map URLs to content saved in

    S3 • Assemble pages you see • Implement localization behavior • Abstract APIs • Pattern: circuit breaker
  10. Service: Content Delivery Region Virtual Private Cloud Availability Zone VPC

    Subnet CMS Render Service Auto scaling Group D Delivery D Delivery D Delivery Availability Zone VPC Subnet CMS Render Service Auto scaling Group D Delivery D Delivery D Delivery Load Balancer Gateway
  11. What’s next? • Delivering more dynamic content • Creating serverless

    applications • Building real-time data processing