云工程师的关键技术与策略
1. 使用功能开关维持服务水平
云工程师负责将应用程序设计、监控并部署到云端,这些应用需具备可扩展性、可靠性、可用性和容错性。然而,持续集成和部署新功能的需求可能与维持可接受的服务水平相冲突。客户对新功能的需求促使企业更快推出特性,但他们也期望应用程序具备可靠的性能。
为平衡这一矛盾,实施带有一系列自动化测试的 CI/CD 管道是第一步。但随着应用程序的增长,预发布环境和生产环境之间的差异会影响在客户发现之前找出所有错误的能力。因此,需要采取保障措施,通过功能开关在不影响客户和业务底线的情况下,安全地在生产环境中部署、测试和发布功能。
功能开关将功能发布与代码部署解耦,带来以下好处:
- 逐步推出新功能 :
- 环形部署或金丝雀发布 :不同用户群体逐步接收功能进行测试和风险管理。例如,先让开发团队使用,接着是内部用户,最后是所有用户。
- 公测 :预选用户获得新功能访问权限,以提供对现有功能的反馈、识别错误并建议新功能。
- 利用断路器和紧急开关 :关闭表现不佳的功能,而无需回滚到先前版本。
- 在生产环境中测试 :验证服务的互操作性。
- 同步功能推出 :协调需要多个组件或微服务更改的功能推出。
代码部署后,需要监控和可观测性工具收集诊断数据,若出现问题,触发警报以启动事件响应流程,减少对用户的影响。
功能开关本质上是一个 if-
超级会员免费看
订阅专栏 解锁全文
18万+

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



