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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
690
NLTK Intro for PUGS
victorneo
7
600
Git and Python workshop
victorneo
2
810
Other Decks in Technology
See All in Technology
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.8k
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
190
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
620
Strands Agents超入門
kintotechdev
1
160
大学生が本気でDatabricksを活用してDiscordサークルをデータ駆動させてみた
phantomjuju
1
340
ポスター発表&デモと総括 / Poster Presentations & Demonstrations and Summary
ks91
PRO
0
190
地元にいないローカルオーガナイザーの立ち回り
uvb_76
1
450
MIERUNE JCT 発表資料「宇宙から伊能忠敬ごっこ」
syuchimu
0
140
AIを「創る」と「使う」の循環 — HRテックが実践するリアルなAI組織実装
taketo957
0
1.1k
BigQuery の Cross-cloud Lakehouse への歩み
phaya72
2
540
「嘘をつくテスト」の失敗例から学ぶ 良いテストコード #frontend_phpcon_do
asumikam
0
160
プラットフォームエンジニア ワークショップ/ platform-workshop
databricksjapan
0
220
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Designing for humans not robots
tammielis
254
26k
Discover your Explorer Soul
emna__ayadi
2
1.1k
It's Worth the Effort
3n
188
29k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
820
BBQ
matthewcrist
89
10k
Site-Speed That Sticks
csswizardry
13
1.2k
Utilizing Notion as your number one productivity tool
mfonobong
4
310
GraphQLとの向き合い方2022年版
quramy
50
15k
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)