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
Application Deployment: State of the Onion by N...
Search
PyCon 2014
April 11, 2014
Programming
5
460
Application Deployment: State of the Onion by Noah Kantrowitz
PyCon 2014
April 11, 2014
Tweet
Share
More Decks by PyCon 2014
See All by PyCon 2014
Postgres Performance for Humans by Craig Kerstiens
pycon2014
29
3.6k
Technical Onboarding, Training, and Mentoring by Kate Heddleston and Nicole Zuckerman
pycon2014
1
2.3k
"My big gay adventure. Making, releasing and selling an indie game made in python." by Luke Miller
pycon2014
2
1.6k
Farewell and Welcome Home, Python in Two Genders by Naomi_Ceder
pycon2014
1
740
Deliver Your Software in an Envelope by Augie Fackler and Nathaniel Manista
pycon2014
1
550
Hitchhikers Guide to Free and Open Source Participation by Elena Williams
pycon2014
6
1.2k
Localization Revisted (aka. Translations Evolved) by Ruchi Varshney
pycon2014
0
700
Smart Dumpster by Bradley E. Angell
pycon2014
0
530
Software Engineering for Hackers: Bridging the Two Solitudes by Tavish Armstrong
pycon2014
0
740
Other Decks in Programming
See All in Programming
レガシーシステムの機能調査・開発におけるAI利活用
takuya_ohtonari
0
600
GoのWebAssembly活用パターン紹介
syumai
3
10k
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
110
XSLTで作るBrainfuck処理系
makki_d
0
210
赤裸々に公開。 TSKaigiのオフシーズン
takezoux2
0
130
A2A プロトコルを試してみる
azukiazusa1
2
370
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.7k
KotlinConf 2025 現地で感じたServer-Side Kotlin
n_takehata
1
220
実はすごいスピードで進化しているCSS
hayato_yokoyama
0
120
Go Modules: From Basics to Beyond / Go Modulesの基本とその先へ
kuro_kurorrr
0
120
Datadog RUM 本番導入までの道
shinter61
1
300
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
320
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Building Adaptive Systems
keathley
43
2.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
How to train your dragon (web standard)
notwaldorf
92
6.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
The World Runs on Bad Software
bkeepers
PRO
68
11k
Raft: Consensus for Rubyists
vanstee
140
7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Documentation Writing (for coders)
carmenintech
71
4.9k
Transcript
State of the Onion Application Deployment Noah Kantrowitz
Me •PSF + PyCon •Balanced •Chef •Making things
Platform Web Server Database App Code Configuration Orchestration
None
Application Code
None
•Simple •Everywhere •Repetitive Tar
•Efficient •Everywhere •Many options Rsync
•Common SCM •Push or pull •Single truth Git
•Pull based •Simple server •Solid tools Packages
•Build packages •No moving parts •See also: depot Omnibus
Configuration Management
None
•Versioned •Readable •Inflexible Flat Files
•Ruby-based •Declarative-ish •Big ecosystem Chef
•Custom DSL •Declarative •Big ecosystem Puppet
•YAML + Jinja •Second wave •Growing SaltStack
•YAML + Jinja •Very new •Agent-less Ansible
None
Orchestration
None
•for x in ... •ssh $x ... •knife ssh SSH
Loop
•Python •Task based •Parallel Fabric
•Ad-hoc shell •Dynamic nodes •Accelerated Ansible
•ZeroMQ •Minions only •Modules SaltStack
•AMQP bus •Limited ad-hoc •Live discovery MCollective
•API-driven •Centralized •Workflows Rundeck
•Hubot •Visibility •Emerging trend Chatops
Database
None
•Relational •ACID •Add-ons galore Postgres
•Relational •Mostly ACID •Many forks MySQL
None
•Key/value store •In-memory •Limited HA Redis
•Distributed •Big Table •CQL Cassandra
•Distributed •2i, Search, MR •CRDTs Riak
•MongoDB •Couch* •Interns Others
•Consistent •Slow •Paxos ZooKeeper
Web Server
None
•Battle tested •Flexible MPMs •mod_wsgi Apache
•Concurrent •Simple config •Proxy Nginx
•Pure Python •Simple •Fast Gunicorn
•C extension •Extra features •Config soup Uwsgi
•Really fast •Mix w/ async •Complex Twisted
•Fastly •CloudFront •Varnish CDNs
Server Provisioning
None
•knife ec2 •novaclient •Web UI Manual
•Vendor lock-in •Limited triggers •Easy AWS ASGs
•Whole infra •Fragile state •Very powerful CloudFormation
•OpenStack •Yaml format •Limited compat Heat
•Expensive •Cross-cloud •Chef RightScale
•Netflix stack •AWS ASGs •Deployment Asgard
Secrets Management
None
•Existing tools •Versioned •Insecure Config
•Encrypted bags •Ansible Vault •Unwise Encryption
•Vendor lock in •Moving pieces •Relatively safe S3+IAM
•OpenStack(ish) •Very new •Promising Barbican
•N-of-M •Cold storage •GPG-based Red October
Other services
•Statsd •Collectd •Graphite Metrics
•Logstash •Kibana •Sentry Logs
Platform as a Service
•Easy •No really, easy •Inflexible & $$$ Heroku
•Mild lock-in •Scalable •Few users GAE
•Open-source •No lock-in •Difficult deploy OpenShift
•Docker-based •Very young •Promising Deis/Flynn
Attribution Some images copyright Florida Center for Instructional Technology. All
logos are property of their respective owners.
Thank you