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.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.6k
Farewell and Welcome Home, Python in Two Genders by Naomi_Ceder
pycon2014
1
750
Deliver Your Software in an Envelope by Augie Fackler and Nathaniel Manista
pycon2014
1
560
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
710
Smart Dumpster by Bradley E. Angell
pycon2014
0
540
Software Engineering for Hackers: Bridging the Two Solitudes by Tavish Armstrong
pycon2014
0
750
Other Decks in Programming
See All in Programming
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
210
All About Angular's New Signal Forms
manfredsteyer
PRO
0
190
CSC305 Lecture 06
javiergs
PRO
0
250
Webサーバーサイド言語としてのRustについて
kouyuume
0
280
CSC305 Lecture 05
javiergs
PRO
0
220
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
430
オープンソースソフトウェアへの解像度🔬
utam0k
16
3k
釣り地図SNSにおける有料機能の実装
nokonoko1203
0
140
技術的負債の正体を知って向き合う
irof
0
190
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
860
CSC509 Lecture 03
javiergs
PRO
0
340
CSC305 Lecture 04
javiergs
PRO
0
270
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
2.1k
Mobile First: as difficult as doing things right
swwweet
225
10k
Visualization
eitanlees
149
16k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
GitHub's CSS Performance
jonrohan
1032
470k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
35
6.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
YesSQL, Process and Tooling at Scale
rocio
173
14k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
How GitHub (no longer) Works
holman
315
140k
The Invisible Side of Design
smashingmag
302
51k
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