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
470
5
Share
Application Deployment: State of the Onion by Noah Kantrowitz
PyCon 2014
April 11, 2014
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
790
Deliver Your Software in an Envelope by Augie Fackler and Nathaniel Manista
pycon2014
1
620
Hitchhikers Guide to Free and Open Source Participation by Elena Williams
pycon2014
6
1.3k
Localization Revisted (aka. Translations Evolved) by Ruchi Varshney
pycon2014
0
730
Smart Dumpster by Bradley E. Angell
pycon2014
0
570
Software Engineering for Hackers: Bridging the Two Solitudes by Tavish Armstrong
pycon2014
0
790
Other Decks in Programming
See All in Programming
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
2
210
AI時代のUIはどこへ行く?その2!
yusukebe
17
5.7k
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
3
1.9k
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
420
LLM Plugin for Node-REDの利用方法と開発について
404background
0
150
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
3
1.4k
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
110
RailsTokyo 2026#4: AI様があれば、 Hotwireの弱点は消えるか?
naofumi
5
1k
Oxlintのカスタムルールの現況
syumai
5
930
OSもどきOS
arkw
0
370
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
4
1.6k
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.3k
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
22k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
370
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Technical Leadership for Architectural Decision Making
baasie
3
380
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Abbi's Birthday
coloredviolet
2
7.8k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
380
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
240
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
A Soul's Torment
seathinner
6
2.9k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
KATA
mclloyd
PRO
35
15k
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