Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
DevOps: Python tools to get started
Victor Neo
March 15, 2014
Technology
9
12k
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
440
NLTK Intro for PUGS
victorneo
7
480
Git and Python workshop
victorneo
2
770
Other Decks in Technology
See All in Technology
re:Inventで発表があったIoT事例の紹介と考察
kizawa2020
0
200
OPENLOGI Company Profile
hr01
0
13k
Dockerに疲れた人のためのLXDではじめるシステムコンテナ入門
devops_vtj
0
140
Multi-Cloud Gatewayでデータを統治せよ!/ Data Federation with MCG
tutsunom
1
360
UEでPLATEAU触ってみた
41h0_shiho
0
250
💰年度末予算消化祭💰 Large Memory Instance で 画像分類してみた
__allllllllez__
0
120
メドレー エンジニア採用資料/ Medley Engineer Guide
medley
3
5.2k
AI Services 概要 / AI Services overview
oracle4engineer
PRO
0
180
SSMパラメーターストアでクロススタック参照の罠を回避する
shuyakinjo
0
8k
もし本番ネットワークをまるごと仮想環境に”コピー”できたらうれしいですか? / janog51
corestate55
0
400
Deep Neural Networkの共同学習
hf149
0
360
Stripe / Okta Customer Identity Cloud(旧Auth0) の採用に至った理由 〜モリサワの SaaS 戦略〜
tomuro
0
140
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
152
13k
BBQ
matthewcrist
75
8.1k
Keith and Marios Guide to Fast Websites
keithpitt
407
21k
A better future with KSS
kneath
230
16k
Code Review Best Practice
trishagee
50
11k
Building Flexible Design Systems
yeseniaperezcruz
314
35k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
500
130k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
44
14k
Practical Orchestrator
shlominoach
178
8.9k
Scaling GitHub
holman
453
140k
Pencils Down: Stop Designing & Start Developing
hursman
114
10k
Embracing the Ebb and Flow
colly
75
3.6k
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)