全球软件部署与Kubernetes资源管理最佳实践
1. 应用资源增长与金丝雀区域
当应用程序的内存使用量翻倍时,即使通过了负载测试,也值得深入调查。因为这种显著的资源增长最终会影响应用程序的质量和可用性。在某些情况下,你可能会继续将版本推向生产环境,但同时需要了解应用程序资源占用变化的原因。
金丝雀区域是应用程序看似正常运行时的第一步。它是一个接收来自希望验证版本的人员和团队的真实流量的部署区域。这些可以是依赖你服务的内部团队,也可以是使用你服务的外部客户。金丝雀区域的存在是为了给团队提供有关即将推出的更改可能会导致问题的早期预警。无论集成测试和负载测试有多好,总有可能会有未被测试覆盖但对某些用户或客户至关重要的漏洞。在这种情况下,在一个使用或部署该服务的每个人都明白失败概率较高的环境中发现这些问题要好得多,这就是金丝雀区域的作用。
金丝雀区域也是团队或公司在将早期版本进一步推向生产之前进行内部测试的好地方。一个很好的最佳实践是设置一个HTTP重定向器,将公司内部的请求重定向到在金丝雀区域运行的产品实例。这样,在版本推向外部用户之前,团队中的每个人都成为了端到端的测试人员。
金丝雀区域在监控、规模、功能等方面必须被视为生产区域。但由于它是发布过程的第一站,也是最有可能出现版本故障的地方。这是可以接受的,事实上这正是重点所在。你的客户会有意在金丝雀区域用于低风险用例(例如开发或内部用户),以便他们能尽早了解你在版本发布中可能推出的任何重大更改。
为了获得版本的早期反馈,将版本在金丝雀区域保留几天是个好主意。这能让更多的客户在你扩展到其他区域之前访问它。这是因为有时漏洞是概率性的(例如影响1%的请求),或者只在边缘情况下才会出现,需要一些时间
超级会员免费看
订阅专栏 解锁全文
489

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



