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
640
NLTK Intro for PUGS
victorneo
7
570
Git and Python workshop
victorneo
2
790
Other Decks in Technology
See All in Technology
AI時代におけるデータの重要性 ~データマネジメントの第一歩~
ryoichi_ota
0
710
LLMプロダクトの信頼性を上げるには?LLM Observabilityによる、対話型音声AIアプリケーションの安定運用
ivry_presentationmaterials
0
740
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
混合雲環境整合異質工作流程工具運行關鍵業務 Job 的經驗分享
yaosiang
0
130
事業開発におけるDify活用事例
kentarofujii
4
1.2k
AI-Readyを目指した非構造化データのメダリオンアーキテクチャ
r_miura
1
270
SCONE - 動画配信の帯域を最適化する新プロトコル
kazuho
1
280
[VPoE Global Summit] サービスレベル目標による信頼性への投資最適化
satos
0
200
私のMCPの使い方
tsubakimoto_s
0
120
MCP ✖️ Apps SDKを触ってみた
hisuzuya
0
230
Introduction to Bill One Development Engineer
sansan33
PRO
0
300
物体検出モデルでシイタケの収穫時期を自動判定してみた。 #devio2025
lamaglama39
0
260
Featured
See All Featured
Scaling GitHub
holman
463
140k
RailsConf 2023
tenderlove
30
1.3k
Site-Speed That Sticks
csswizardry
13
920
Rails Girls Zürich Keynote
gr2m
95
14k
Six Lessons from altMBA
skipperchong
29
4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
How GitHub (no longer) Works
holman
315
140k
Faster Mobile Websites
deanohume
310
31k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
A Tale of Four Properties
chriscoyier
161
23k
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)