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
77
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
430
Six Lessons from altMBA
skipperchong
29
4.4k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
400
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Leo the Paperboy
mayatellez
8
2.1k
A Soul's Torment
seathinner
6
3.4k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
770
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
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