Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
2k
Stick Destroyer
jarv
1
78
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
550
We Have a Design System, Now What?
morganepeng
55
8.4k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
How to make the Groovebox
asonas
2
2.5k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
930
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
Building the Perfect Custom Keyboard
takai
2
910
Accessibility Awareness
sabderemane
1
250
Making the Leap to Tech Lead
cromwellryan
135
10k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
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