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

edX deployment - AWS

John Jarvis
January 23, 2014
380

edX deployment - AWS

John Jarvis

January 23, 2014
Tweet

Transcript

  1. edX Architecture and Deployment [email protected] • Maintaining multiple edX deployments

    • Keeping data, accounts and access secure and isolated • Reliable, continuous and repeatable upgrades and rollbacks
  2. What's new? • Separate AWS Account used for each customer

    • AMI based deployments • Quality gates using a canary, easy AMI based rollbacks • Push button updates with Jenkins and Asgard
  3. Terminology • EC2 – Elastic Compute, virtual server running Ubuntu

    Linux • VPC – Virtual Private Cloud • AMI – Amazon Machine Image • RDS – Cloud Relational Database (MySQL) • Asgard – Netflix tool for deployment and AWS EC2 cluster management • Ansible – Python based Configuration management tool • Abbey – Python script for launching fully baked AMIs containing the software and configuration needed for a set of edX services.
  4. AWS/MongoHQ Costs Not including bandwidth, S3, Rout53 and Monitoring •

    Web server (edxapp, worker) – 2xsmall / 2xmedium ~ $260 (x2) • Grading and Queuing (grader, xqueue, rabbitmq) – 2xmicro, 4xsmall ~ $200 (x2) • Forums (forums, elastic search) – 4xsmall ~ $140 (x2) • VPC / Operations (nat, bastion, asgard, jenkins) – 3xsmall, 2xmicro ~ $160 (x2) • Load Balancers – 4 (not including bandwidth) ~ $70 (x2) • EBS ~ $20 (x2) • RDS – (1 multi-AZ large instance) ~ $470 + $60 • MongoHQ - (large w/ replica set) ~ $1700 TOTAL ~ $4000