在DevOps Team的三个月

Categories: Development Notes; Tagged with: ; @ December 12th, 2016 15:27

背景

运维跟不上开发. 新版本发布耗时长, 发布过程中频繁出现问题.  为了解决这个问题, 公司决定组建DevOps团队.  我在三个月前作为DevOps Engineer加入到这个团队.  之前的几年, 我一直只做development 以及偶尔的L3支持.

角色/团队: Dev(传统的dev team),  DevOps(我们), Ops(传统的Ops team)

DevOps做什么?

相信跟Agile/Scrum一样, 每个Team都有不同的理解/实现.

  1. 测试, 并发布新版本
  2. 支持非Production系统, 譬如SIT, UAT等环境.  我们的项目特殊, SIT, UAT也是很严肃苛刻的环境, 我们需要保证他们正常运行, 否则会有一堆用户抱怨.
  3. 开发新的工具来支撑日常工作

我做什么?

大部分时间, 我在救火.

火源来自Production环境, 也来自SIT, UAT等环境, 譬如: 某个下游团队需要我们部署研发团队的最新build. 于是我们开始按照部署Production的一套来部署SIT: 手动下载artificat.zip, unzip, run deploy.bat.  deployment的脚本写的并不完美, 于是出现问题, 解决问题. 有时为了快速解决问题, 我们会随时修改deployment 脚本或者配置,  手动工作会引入风险 — 譬如有时候为了尽快fix某一个bug, 而制造出其他bug. 我不相信高压环境下能够制造出设计良好的产品.

在这个过程中, 多数时间耗费在运行/检查某个自动化的脚本, 解决问题, 作出判断, trigger下一个脚本. 在一堆所谓的”自动化”脚本中快速的理解问题, 解决问题. 无疑我们需要改善这些脚本, 让它们真正成为”自动化”的脚本并且串联起来.

一开始我很难接受这样的转变, 因为我没时间写代码.  救火无疑是优先级最高的.  后来读到 You Are Not Paid to Write Code, 释然.

我将会做什么?

  • enhance deployment script/process
  • auto environment provision
  • auto-deployment & smoke test

 

<->



// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.