估计Ops都有release(版本发布)经历,无论UI还是后端的code,假如您的产品又非ICP,release的错误会break SLA,给公司带来损失,但这个事又是非常没有技术含量的,但不得不做。那么 如何安全稳定的release呢,根据我个人的多年经历,基本如下,
1. 除了开发环境外必须还要有staging,一般dev/qa在自己的pc做coding/test, 这个环境跟production可能不一致,所以为了安全起见需要staging, 其实只要Virtualize就好了,几台服务器虚拟一个production,然后数据都来自production,升级前staging先运行一周。若没有让某个dev/qa写个change control form, 然后最好实验一下。
2. 必须详细的release procedure. 记录在wiki上,这个需要dev/qa/等来review。需要写清楚new features/change等。要等release 那天临时坐着想很容易遗漏,毕竟好记性不如烂笔头。
3.一般都有HA的机制,先让某几个机器OOS,升级完毕,让qa去verify一下,然后再back to service pool.
4. 关键的release需要qa/dev/ops在会议上投影出来,多个眼睛盯着确保没操作失误。若是没这个条件,最好某个人专注某个project,中间被打断然后resume,这样很容易误操作。最好copy & paste所有的operation和output,然后log 到jira的ticket来track备用。
5. 容错和快速rollback, 保留上一个稳定的版本备用。
阅读(1176) | 评论(0) | 转发(0) |