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.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
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
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
180
DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜
ota1022
5
1.9k
MCPでVibe Working。そして、結局はContext Eng(略)/ Working with Vibe on MCP And Context Eng
rkaga
5
1.1k
UbieのAIパートナーを支えるコンテキストエンジニアリング実践
syucream
2
800
Updates on MLS on Ruby (and maybe more)
sylph01
1
170
rage against annotate_predecessor
junk0612
0
150
速いWebフレームワークを作る
yusukebe
4
1.6k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
130
tool ディレクティブを導入してみた感想
sgash708
1
160
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
360
為你自己學 Python - 冷知識篇
eddie
1
330
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
210
Featured
See All Featured
A designer walks into a library…
pauljervisheath
207
24k
4 Signs Your Business is Dying
shpigford
184
22k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Statistics for Hackers
jakevdp
799
220k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
The Invisible Side of Design
smashingmag
301
51k
The Language of Interfaces
destraynor
160
25k
Speed Design
sergeychernyshev
32
1.1k
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