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
13k
9
Share
DevOps: Python tools to get started
Presented at Mini PyCon Malaysia 2014 (March 15)
Victor Neo
March 15, 2014
More Decks by Victor Neo
See All by Victor Neo
Django - The Next Steps
victorneo
5
680
NLTK Intro for PUGS
victorneo
7
590
Git and Python workshop
victorneo
2
810
Other Decks in Technology
See All in Technology
データを"持てない"環境でのアノテーション基盤設計
sansantech
PRO
1
140
Anthropic「Long-running a gents」をGeminiで再現してみた
tkikuchi
0
170
The Journey of Box Building
tagomoris
4
3.4k
AIでAIをテストする - 音声AIエージェントの品質保証戦略
morix1500
1
140
実践ハーネスエンジニアリング:TAKTで実現するAIエージェント制御 / Practical Harness Engineering: AI Agent Control Enabled by TAKT
nrslib
12
4.8k
ハーネスエンジニアリングの概要と設計思想
sergicalsix
9
5.3k
No Types Needed, Just Callable Method Check
dak2
1
1.8k
AWS Transform CustomでIaCコードを自由自在に変換しよう
duelist2020jp
0
130
AgentCore×VPCでの設計パターンn選と勘所
har1101
3
300
Percolatorを廃止し、マルチ検索サービスへ刷新した話 / Search Engineering Tech Talk 2026 Spring
visional_engineering_and_design
0
140
AI時代における技術的負債への取り組み
codenote
1
1.7k
20年前の「OSS革命」に学ぶ AI時代の生存戦略
samakada
0
480
Featured
See All Featured
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
440
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
180
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
340
Visualization
eitanlees
150
17k
We Are The Robots
honzajavorek
0
220
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
170
Design in an AI World
tapps
1
200
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Everyday Curiosity
cassininazir
0
200
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
140
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
490
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
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)