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
PyCon2013China_Bj_李雨来
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Zoom.Quiet
December 20, 2013
Technology
1
160
PyCon2013China_Bj_李雨来
李雨来 如何用python开发运维友好的程序
http://cn.pycon.org/2013/beijing
Zoom.Quiet
December 20, 2013
Tweet
Share
More Decks by Zoom.Quiet
See All by Zoom.Quiet
PyCon2014China-Zhuhai-high performance
zoomquiet
0
170
PyCon2014China-Zhuhai-meta programming
zoomquiet
1
160
PyCon2014China-Zhuhai-bpm.py
zoomquiet
0
130
PyCon2014China-Zhuhai-luna kv db
zoomquiet
0
100
PyCon2014China-Zhuhai-seed studio
zoomquiet
0
120
PyCon2014China-Zhuhai-Docker Registry Build By Python
zoomquiet
0
140
PyCon2014China-Zhuhai-jeff
zoomquiet
0
110
PyCon2014China-Zhuhai-pythonic front-end
zoomquiet
0
140
DevFest2014-Zhuhai-Polymer
zoomquiet
0
440
Other Decks in Technology
See All in Technology
What happened to RubyGems and what can we learn?
mikemcquaid
0
310
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
370
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
22nd ACRi Webinar - NTT Kawahara-san's slide
nao_sumikawa
0
100
SchooでVue.js/Nuxtを技術選定している理由
yamanoku
3
160
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
210
Context Engineeringの取り組み
nutslove
0
370
プロポーザルに込める段取り八分
shoheimitani
1
600
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
220
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
610
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
1
170
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
310
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
50
14k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
330
Everyday Curiosity
cassininazir
0
130
Marketing to machines
jonoalderson
1
4.6k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
420
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Producing Creativity
orderedlist
PRO
348
40k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
430
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
57
50k
Transcript
如何用 python 开 发运维友好的程序 李雨来
运维干什么 部署 监控 处理故障和问题
什么叫运维友好? 看看运维的表情就好了
什么叫运维友好? 是这样?
什么叫运维友好? 还是 ......
该怎么做?
重复的事情让机器做 让运维知道系统在干什么 给运维留条后悔的路
重复的事情让机器做 自动化部署 针对服务器的自动化部署 Puppet, Chef, SaltStack
针对应用的自动化部署 Capistrano 持续集成工具 Jenkins
重复的事情让机器做 让系统自动处理异常 MySQL 的双主自动切换( Zookeeper + kazoo )
消息传送中多条通路的自动切换( py-servicebus ) 网络异常的自动探测和自我修复
重复的事情让机器做 写一些脚本简化运维部署中的操作(把手册变成脚本) Bash, Python, Ruby etc… 写一些工具来操作多台服务器
下发配置,下发或部署程序,批量执行命令或脚本 定义一套 DSL 发挥运维的创造性
让运维知道系统在干什么 监控 为监控系统提供服务的状态信息( Zabbix Agent Plugin )
系统状态的汇报 提供一个各个服务状态的 Dashboard 当系统出现问题时既能保留现场又能保证系统正常运行
让运维知道系统在干什么
日志很重要 了解系统干了什么 了解系统正在干什么 了解系统出错时在干什么 了解是运维犯的错误还是系统出的 Bug
日志很重要 如果日志很大, Rotate ,丢掉一些旧日志 logging.handlers.TimedRotatingFileHandler 如果不能丢掉旧日志,按照数据的冷热程度存放在不同数 据库中
3个月内的数据放在 MySQL 中, 3个月以前的数据放 在 Cassandra 中( Cassandra + pycassa )
给运维留条后悔的路 人会犯错误 新上线的版本有 Bug 某些功能不正常 误删除了不该删除的数据
给运维留条后悔的路 应用程序部署可回滚 cap production deploy:rollback 当运维进行重要操作时进行二次确认
if(!confirm("Are you sure?")) return; 当操作失败时系统能自动回滚到正常状态
给运维留条后悔的路 能不删除数据就不删除数据 为数据库中的记录加上 is_deleted 字段 删除文件时移动文件到 trash
文件夹 限制有删除权限的人数 自动定期备份数据库 通过网络把备份数据传输到不同服务器或不同数据中心
多听听运维的吐槽
谢谢 迅达云成 架构师 李雨来 https://github.com/blacktear23
关注即送 100 元优惠券, 并有机会赢得可用 1年的 1000 元充值卡! 微信公众号: SpeedyCloud 迅达
云 http://www.speedycloud.cn/