Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
edX deployment - AWS
Search
John Jarvis
January 23, 2014
400
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
edX deployment - AWS
John Jarvis
January 23, 2014
More Decks by John Jarvis
See All by John Jarvis
How edX uses Ansible
jarv
3
1.9k
Stick Destroyer
jarv
1
73
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
The Cult of Friendly URLs
andyhume
79
7k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
500
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.9k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
320
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
270
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
410
Mind Mapping
helmedeiros
PRO
1
290
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
450
Transcript
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
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
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.
What makes up an edX deployment?
Deployment Workflow
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