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
Deploying Python (without Docker!)
Search
Nylas
December 02, 2015
Technology
0
330
Deploying Python (without Docker!)
Christine Spang @ SF Python Holiday Party 2015
Nylas
December 02, 2015
Tweet
Share
More Decks by Nylas
See All by Nylas
Switching Off to Switch On!
nylas
1
94
Why Observability Matters
nylas
0
420
Billions of Emails Synced with Python
nylas
0
280
Profiling Python in Production
nylas
1
230
Debugging Python using GDB
nylas
0
63
Plugins with React & Challenges with Data
nylas
0
110
Space City JS — Using Electron & React to Build N1
nylas
0
110
Waffle JS: Desktop Apps with Electron, React, & Observables
nylas
0
440
Electron, Node, and the New Desktop @ SFNode
nylas
0
330
Other Decks in Technology
See All in Technology
【若手エンジニア応援LT会】ソフトウェアを学んできた私がインフラエンジニアを目指した理由
kazushi_ohata
0
120
OCI Data Integration技術情報 / ocidi_technical_jp
oracle4engineer
PRO
1
2.6k
SREの組織類型に応じた リーダシップの考察
kenta_hi
PRO
1
640
エンジニアが一生困らない ドキュメント作成の基本
naohiro_nakata
2
150
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
180
今、始める、第一歩。 / Your first step
yahonda
2
730
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
340
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.8k
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
130
形式手法の 10 メートル手前 #kernelvm / Kernel VM Study Hokuriku Part 7
ytaka23
5
820
強いチームと開発生産性
onk
PRO
25
8.3k
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
210
Featured
See All Featured
Code Review Best Practice
trishagee
64
17k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Raft: Consensus for Rubyists
vanstee
136
6.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
43
6.8k
Making Projects Easy
brettharned
115
5.9k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Side Projects
sachag
452
42k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Transcript
Deploying Python Christine Spang @spang
[email protected]
…without Docker!
• Stable, reliable, low maintenance • Bundles all Python dependencies
• Fast and painless to deploy • Easy to roll back to any version • …across hundreds of servers! Our deployment system
Debian Packages (the original containers)
Deployment flow S3 Python & requirements.txt Git Repo Debian Package
Jenkins CI $ ./deploy-it Production Fleet
• built by Spotify in ’13 (thanks!!!) • Embeds a
virtualenv in a Debian package (.deb) • https://github.com/spotify/dh-virtualenv • https://github.com/nylas/make-deb dh-virtualenv
• we use git SHAs for version #s • no
debian version #s to bump to release! • we don’t maintain an internal apt server • deploy script installs using dpkg Versioning
Why not Docker?
• Same benefit using simpler, stabler tools • We only
run a handful of services (not hundreds) • Don’t have to change any development workflow • debs+VMs work well for our level of complexity Why .deb instead of Docker?
Python 2.7 + .deb == ULTIMATE STABILITY!
Want to read more? Christine Spang
[email protected]
@spang https://nylas.com/blog/packaging-deploying-python/ PS:
We are hiring Python programmers!