什么是金丝雀版本?

  金丝雀canary版本是一种软件技术版本,通过使新版本只对少数终端用户可用,这样可降低向每个人推出新代码和功能的风险。由于用户组的规模较小,新版本的影响相对较小。如果确定bug存在,或者新的功能或新的设计没有被很好地接受,那么很容易回滚。

金丝雀版本,是在现有生产系统旁边创建了一个全新的独立生产环境。现有的生产系统是基准。然后,可以将一小部分用户(或用户会话)路由到新的canary版本环境以验证新软件。由于没有代码发布到生产环境,因此代码也永远不必退出。相反,整个环境被移除,基准环境继续正常运行。

除了易于回滚之外,金丝雀版本还可用于软件版本的A / B分割测试和低风险性能测试。选择正确的用户组取决于团队目标。有时公司会使用内部员工。其他时候,可以基于位置,年龄或一些其他特征从一般人群中选择特定的用户人口统计。无论如何选择金丝雀用户组,用户都可以在运行最新软件版本的新基础架构上独立运行。

一旦证明金丝雀版本稳定并交付预期结果,剩余的用户/会话就被路由到新环境,基准环境将离线。但是,基准环境会保留一段时间,以防以后需要回滚。如果金丝雀发布存在问题,那么流量金丝雀使用组将被简单地路由回基准环境。

这项技术以著名的短语“煤矿中的金丝雀”命名,它起源于煤矿工人使用金丝雀作为早期检测系统来识别有毒气体的危险程度。类似地,金丝雀发布是软件的早期检测和反馈系统。

业务分析

Devops

敏捷

#Kubernetes

#docker

#DevOps