• 1. 如何用python开发运维友好的程序李雨来
  • 2. 运维干什么部署 监控 处理故障和问题
  • 3. 什么叫运维友好?看看运维的表情就好了
  • 4. 什么叫运维友好?是这样?
  • 5. 什么叫运维友好?还是......
  • 6. 该怎么做?
  • 7. 重复的事情让机器做 让运维知道系统在干什么 给运维留条后悔的路
  • 8. 重复的事情让机器做自动化部署 针对服务器的自动化部署 Puppet, Chef, SaltStack 针对应用的自动化部署 Capistrano 持续集成工具 Jenkins
  • 9. 重复的事情让机器做让系统自动处理异常 MySQL的双主自动切换(Zookeeper + kazoo) 消息传送中多条通路的自动切换(py-servicebus) 网络异常的自动探测和自我修复
  • 10. 重复的事情让机器做写一些脚本简化运维部署中的操作(把手册变成脚本) Bash, Python, Ruby etc… 写一些工具来操作多台服务器 下发配置,下发或部署程序,批量执行命令或脚本 定义一套DSL发挥运维的创造性
  • 11. 让运维知道系统在干什么监控 为监控系统提供服务的状态信息(Zabbix Agent Plugin) 系统状态的汇报 提供一个各个服务状态的Dashboard 当系统出现问题时既能保留现场又能保证系统正常运行
  • 12. 让运维知道系统在干什么
  • 13. 日志很重要了解系统干了什么 了解系统正在干什么 了解系统出错时在干什么 了解是运维犯的错误还是系统出的Bug
  • 14. 日志很重要如果日志很大,Rotate,丢掉一些旧日志 logging.handlers.TimedRotatingFileHandler 如果不能丢掉旧日志,按照数据的冷热程度存放在不同数据库中 3个月内的数据放在MySQL中,3个月以前的数据放在Cassandra中(Cassandra + pycassa)
  • 15. 给运维留条后悔的路人会犯错误 新上线的版本有Bug某些功能不正常 误删除了不该删除的数据
  • 16. 给运维留条后悔的路应用程序部署可回滚 cap production deploy:rollback 当运维进行重要操作时进行二次确认 if(!confirm("Are you sure?")) return; 当操作失败时系统能自动回滚到正常状态
  • 17. 给运维留条后悔的路能不删除数据就不删除数据 为数据库中的记录加上is_deleted字段 删除文件时移动文件到trash文件夹 限制有删除权限的人数 自动定期备份数据库 通过网络把备份数据传输到不同服务器或不同数据中心
  • 18. 多听听运维的吐槽
  • 19. 谢谢迅达云成 架构师 李雨来 https://github.com/blacktear23
  • 20. 关注即送100元优惠券,并有机会赢得可用1年的1000元充值卡!微信公众号:SpeedyCloud迅达云http://www.speedycloud.cn/