持续交付、敏捷、DevOps讲座感想(部署模式)

    5月15日参加持续交付、敏捷、DevOps的理念实践讲座,其中一些内容非常有启发作用。整理了几个观点(理念、原则)进行分享。

  1. 敏捷迭代中开发的连续性,不应与明显的迭代分界(开始或结束): http://lzhted.iteye.com/blog/2211955
  2. 自动化测试策略和交付管道:http://lzhted.iteye.com/blog/2212646
  3. 部署模式

    本文介绍第三点,三种部署模式:

  • 蓝绿部署模式
  • PHOENIX部署模式
  • Canary部署模式

    蓝绿部署模式可以按下图简单理解。生产环节部署分为两套环境(分别成为蓝环境和绿环境,数据是互通的),通过路由控制用户实际访问的环境,蓝绿环境的版本是一致的,或者其中一套是实际的生产系统,另一套是待上线(UAT、Beta)的最新版本环境。当最新版本通过验收决定发布后,只需要简单调整路由,就可以直接切换版本。

    优点包括:1、上线快,用户感知非常小,甚至无感知;2、有利于提前在生产环节进行新功能的试点;3、有利于故障控制,任何一套环境出故障,可以非常方便地进行版本回滚和环境切换。
 

    PHOENIX部署模式参见下图,与蓝绿模式的区别是,版本切换完之后,原环境资源被释放,有利于资源的循环利用。就像凤凰一样,一只鸟(一套系统)浴火重生之后,变成了更美丽的凤凰(一套新系统)。

    Canary部署模式, 如下图所示,通过路由访问多个服务,这些服务在制定范围内提供了系统需要的功能。这些服务一般是相同版本,如有需要,也可以部署为不同的版本,用于A/B测试、性能测试等。Canary模式最大的好处,是使得在生产环境进行测试成为现实(某些产品必须在生产环节进行验证),当验证通过,可以部署所有的服务,如果验证失败,则可以进行版本回滚。参见:http://www.infoq.com/news/2013/03/canary-release-improve-quality



 

猜你喜欢

转载自teds.iteye.com/blog/2213844