云原生应用的部署、监控与可观测性实践
1. 部署阶段
在部署过程中,镜像功能就位后,你可以进行额外测试,或者利用生产流量来监控已部署的服务。对于无服务器应用,可借助AWS CodeDeploy或Azure Traffic Manager实现类似功能,这些工具能帮助你逐步将流量从一个版本转移到另一个版本,实现蓝绿部署。
若不在生产环境进行测试,此阶段的部署会在专用的预发布或测试环境中进行。这样,新服务部署完成后,你可以自动将100%的流量重定向到该服务并发布,有效合并部署和发布阶段。在此过程的最后一步,你需要在运行测试时仔细监控服务和整个环境。测试成功完成后,启动单独的CD流程,将容器镜像从预发布或测试环境部署并发布到生产环境。
2. 发布阶段(CD)
开始此阶段前,你需要从测试已部署的服务中收集足够的数据,以确保对将服务发布到生产环境有信心。
发布过程包括将部分生产流量缓慢重定向到服务,或者将预发布部署插槽与生产部署插槽进行交换。对于容器化服务,可使用Istio等服务网格轻松实现生产流量重定向;对于无服务器应用,可使用AWS CodeDeploy或Azure Traffic Manager。在这两种情况下,你可以逐渐增加对新服务或无服务器应用的流量,直至将100%的流量导向新版本。
选择要重定向的生产流量有多种方式:
- 通常,你可以取所有生产流量的一定百分比进行重定向。
- 某些情况下,你可以根据新服务的功能更有选择性地智能选择流量。例如,如果服务修复了特定浏览器中出现的问题,你可以决定仅将受影响浏览器的流量重定向到该服务,以验证问题是否已修复,但同时也需测试其他流量,避免为其他浏览器引入问题。
超级会员免费看
订阅专栏 解锁全文
2459

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



