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
DevOps: Python tools to get started
Search
Victor Neo
March 15, 2014
Technology
9
13k
DevOps: Python tools to get started
Presented at Mini PyCon Malaysia 2014 (March 15)
Victor Neo
March 15, 2014
Tweet
Share
More Decks by Victor Neo
See All by Victor Neo
Django - The Next Steps
victorneo
5
600
NLTK Intro for PUGS
victorneo
7
550
Git and Python workshop
victorneo
2
780
Other Decks in Technology
See All in Technology
2025年のARグラスの潮流
kotauchisunsun
0
800
月間60万ユーザーを抱える 個人開発サービス「Walica」の 技術スタック変遷
miyachin
1
150
FODにおけるホーム画面編成のレコメンド
watarukudo
PRO
2
280
Alignment and Autonomy in Cybozu - 300人の開発組織でアラインメントと自律性を両立させるアジャイルな組織運営 / RSGT2025
ama_ch
1
2.4k
.NET 最新アップデート ~ AI とクラウド時代のアプリモダナイゼーション
chack411
0
200
CDKのコードレビューを楽にするパッケージcdk-mentorを作ってみた/cdk-mentor
tomoki10
0
210
あなたの知らないクラフトビールの世界
miura55
0
140
「人物ごとのアルバム」の精度改善の軌跡/Improving accuracy of albums by person
mixi_engineers
PRO
1
110
re:Invent 2024のふりかえり
beli68
0
110
PaaSの歴史と、 アプリケーションプラットフォームのこれから
jacopen
7
1.5k
ドメイン駆動設計の実践により事業の成長スピードと保守性を両立するショッピングクーポン
lycorptech_jp
PRO
13
2.4k
EMConf JP の楽しみ方 / How to enjoy EMConf JP
pauli
2
150
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
It's Worth the Effort
3n
183
28k
For a Future-Friendly Web
brad_frost
176
9.5k
Code Reviewing Like a Champion
maltzj
521
39k
Scaling GitHub
holman
459
140k
How to Ace a Technical Interview
jacobian
276
23k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
A Tale of Four Properties
chriscoyier
157
23k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Thoughts on Productivity
jonyablonski
68
4.4k
Transcript
DevOps Python tools to get started
DevOps is … “… development and operations teams work on
software releases in tandem, rather than throwing code back and forth across a silo.”
Make no mistake DevOps is a culture In [1]: “tools
make a culture” Out [1]: False
Background
Perspective Startup culture, but tools are useful everywhere
Carousell P2P Marketplace App iOS, Android (Web?)
Pony Powered Django + Django Rest Framework
Not too long ago 1 Technical Co-founder ! Edits code
on production server Live reload
Moments ago 4 Engineers: iOS, Android, CTO, Backend + Infrastructure
! Every engineer somewhat involved with Backend code
TODO • Deploy • Monitor Make it easy to: •
Break things Make it difficult to:
Deployment
Deployment options - Fabric + git / svn /… !
- Salt / Ansible / Chef ! - Native packaging (.rpm, .deb)
Fabric (i) from fabric.api import env, run ! hosts =
[‘app.server.com’] ! def deploy(): run(“git pull && … ”) fabfile.py
Fabric (ii) $ fab deploy [app.server.com] run: git pull &&
… [app.server.com] out: [output]
Fabric: the good parts Simple, easy to start with !
@parallel to speed up for multiple servers
Salt Configuration management, commonly used for server provisioning ! Chef,
Puppet, etc
Salt + Git
Fabric + Salt + Git fab deploy salt “app*.server.com” …
app1.server.com app2.server.com
TODO • Deploy • Monitor Make it easy to: •
Break things Make it difficult to:
Monitor and Control
Controlling processes Tools: Supervisor, Circus Allows you to control and
monitor your app processes
Supervisor (i) [program:my_app] command=python my_app.py
Supervisor (ii) $ supervisorctl status my_app RUNNING pid 7910, uptime
01:36:44
Supervisor (iii) Supervisor exposes a XMLRPC interface Allows remote monitoring
and control of processes
TODO • Deploy • Monitor Make it easy to: •
Break things Make it difficult to:
Continuous Integration
Continuous Integration Popular CIs: Jenkins, TravisCI, CircleCI
http://buildbot.net/
Jenkins + Django
Automated Feedback
Done! • Deploy • Monitor Make it easy to: •
Break things Make it difficult to:
All together now
Github Workflow Pull Request Continuous Integration Automatic Deployment
pull request Jenkins CI Test Deployment Report on Github salt
[success] [fail]
Beyond Python Docker Vagrant Virtual Machines! (LXC) Containers!
Thanks! @victorneo (psst. we are looking for web devs)