全球软件可靠部署与Kubernetes资源管理
1. 金丝雀区域(Canary Region)
当应用程序看似正常运行时,第一步应是选择金丝雀区域。金丝雀区域是一种部署方式,接收来自希望验证版本发布的人员和团队的真实流量,这些可以是依赖该服务的内部团队,也可以是使用该服务的外部客户。金丝雀区域的存在是为了提前向团队发出关于即将推出的更改可能导致故障的警告。无论集成测试和负载测试多么完善,总有可能存在测试未覆盖但对某些用户至关重要的漏洞。在这种情况下,在一个使用或部署该服务的人都明白失败概率较高的环境中发现这些问题是更好的选择,这就是金丝雀区域的作用。
金丝雀区域在监控、规模、功能等方面必须被视为生产区域。不过,由于它是发布流程的第一站,也是最有可能出现版本故障的地方,这是正常的,实际上这正是其目的所在。客户会有意在低风险用例(如开发或内部用户)中使用金丝雀区域,以便提前了解版本发布中可能出现的任何重大更改。
为了获得版本发布的早期反馈,将版本在金丝雀区域保留几天是个好主意。这能让更多客户在推广到其他区域之前访问该版本。之所以需要这么长的时间,是因为有时漏洞是概率性的(如1%的请求),或者只在边缘情况下才会出现,需要一些时间才会显现出来。它甚至可能不足以触发自动警报,但业务逻辑中可能存在只有通过客户交互才能发现的问题。
2. 识别区域类型
当考虑在全球范围内推出软件时,思考不同区域的不同特征非常重要。在将软件推广到生产区域后,需要进行集成测试和初始金丝雀测试。这意味着发现的任何问题都是在这两种测试环境中未出现的问题。
要考虑不同区域的情况,例如某些区域是否比其他区域流量更多,访问方式是否不同。比如在发展中国家,流量更可
超级会员免费看
订阅专栏 解锁全文
2189

被折叠的 条评论
为什么被折叠?



