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
470
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.7k
Technical Onboarding, Training, and Mentoring by Kate Heddleston and Nicole Zuckerman
pycon2014
1
2.4k
"My big gay adventure. Making, releasing and selling an indie game made in python." by Luke Miller
pycon2014
2
1.7k
Farewell and Welcome Home, Python in Two Genders by Naomi_Ceder
pycon2014
1
780
Deliver Your Software in an Envelope by Augie Fackler and Nathaniel Manista
pycon2014
1
610
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
730
Smart Dumpster by Bradley E. Angell
pycon2014
0
560
Software Engineering for Hackers: Bridging the Two Solitudes by Tavish Armstrong
pycon2014
0
780
Other Decks in Programming
See All in Programming
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
230
Windows on Ryzen and I
seosoft
0
320
AI活用のコスパを最大化する方法
ochtum
0
230
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
610
AI Assistants for Your Angular Solutions
manfredsteyer
PRO
0
150
Ruby and LLM Ecosystem 2nd
koic
1
1k
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
260
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
140
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
350
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
750
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
130
How to stabilize UI tests using XCTest
akkeylab
0
130
Featured
See All Featured
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
410
The agentic SEO stack - context over prompts
schlessera
0
700
For a Future-Friendly Web
brad_frost
183
10k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Making Projects Easy
brettharned
120
6.6k
Designing Powerful Visuals for Engaging Learning
tmiket
0
290
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
460
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
180
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
320
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
340
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
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