Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
DevOps: Python tools to get started
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
620
NLTK Intro for PUGS
victorneo
7
570
Git and Python workshop
victorneo
2
790
Other Decks in Technology
See All in Technology
Core Audio tapを使ったリアルタイム音声処理のお話
yuta0306
0
190
品質と速度の両立:生成AI時代の品質保証アプローチ
odasho
1
310
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
0
110
Enhancing SaaS Product Reliability and Release Velocity through Optimized Testing Approach
ropqa
1
210
LangSmith×Webhook連携で実現するプロンプトドリブンCI/CD
sergicalsix
1
220
KubeCon + CloudNativeCon Japan 2025 Recap Opening & Choose Your Own Adventureシリーズまとめ
mmmatsuda
0
270
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
38
16k
Backlog ユーザー棚卸しRTA、多分これが一番早いと思います
__allllllllez__
1
150
Zephyr RTOSを使った開発コンペに参加した件
iotengineer22
1
220
Tech-Verse 2025 Global CTO Session
lycorptech_jp
PRO
0
1.8k
MobileActOsaka_250704.pdf
akaitadaaki
0
120
AIの全社活用を推進するための安全なレールを敷いた話
shoheimitani
2
500
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Building Adaptive Systems
keathley
43
2.7k
Designing Experiences People Love
moore
142
24k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Faster Mobile Websites
deanohume
307
31k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Making Projects Easy
brettharned
116
6.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
950
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Statistics for Hackers
jakevdp
799
220k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
740
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)