08-04-2023, 04:54 PM
随着 DevOps 的兴起以及支持持续集成和持续交付(CI/CD)的工具的改进,公司可以提高部署和交付代码的能力,并取得优异的结果。但在推出新更新时,他们仍然希望降低部署不良的风险,最大限度地减少客户停机的可能性。
这篇博文探讨了 DevOps 和 NetOps 团队可以用来无缝、安全地将更新部署到生产环境的不同部署策略,并解释了 DNS 如何与特定部署模型配合使用。
蓝绿部署
蓝绿部署是一种维护两个相同环境(称为blue和green )的策略。如下图所示,NGINX Plus 正在将用户请求转发到运行应用程序生产版本的蓝色环境。新版本的应用程序正在绿色环境中运行,您可以在那里进行测试。检查完所有测试后,您可以更新 NGINX Plus 配置以将流量指向绿色环境。
[attachment=224]
这种部署策略的主要好处是,只要使用正确的工具,在环境之间切换流量就变得很简单——例如,使用 NGINX Plus,您可以使用 NGINX Plus API 来更改后端服务器集,而无需重新启动。风险得到了缓解,因为如果绿色环境中出现问题,只需调用一次NGINX Plus API即可回滚到蓝色环境。
滚动蓝绿部署
滚动蓝绿部署是同样的想法,但这里我们慢慢地将流量从蓝色环境转移到绿色环境,直到后者 100% 接收。加权负载平衡算法允许您指定环境之间的适当平衡。
[attachment=225]
主要好处是,当您对版本的稳定性充满信心时,您可以慢慢增加绿色环境的流量。任何意外问题只会影响一小部分用户。
金丝雀部署
金丝雀版本用于向一定比例的应用程序用户或环境提供新部署,类似于滚动蓝绿部署。关键区别在于,软件会监视应用程序的关键性能指标,以确保新部署以及生产中的当前版本都能正常运行。
[attachment=226]
由于金丝雀软件没有观察到您的性能指标发生重大变化,因此它会慢慢地将更多流量引导到新环境,直到达到 100%。
为了很好地实施金丝雀发布,您需要能够执行所需的精确流量转移的工具。推出时间可能需要更长的时间,具体取决于应用程序看到的流量水平。
使用 DNS 作为部署策略的一部分
DNS 如何在实施这些部署策略中发挥作用?
DNS 是应用程序与其用户之间的第一个接触点。为什么不使用它来引导客户使用您的应用程序的新版本?
F5 DNS 负载均衡器云服务是一种现代托管 DNS 解决方案,可以轻松集成到您的 CI/CD 管道中。它还使您能够在通过 DNS 实施这些部署策略时将用户位置考虑为流量引导的标准。与 F5 DNS 负载均衡器结合使用的基于比率的负载均衡算法可以帮助团队跨数据中心、可用区或云提供商实施蓝绿部署。
功能强大的 API 驱动的 DNS 解决方案还可以帮助您实施滚动蓝绿策略,以促进迁移到新集群,就像我们的合作伙伴红帽在帮助 OpenShift 客户迁移到 OCP v4 方面所取得的成就一样。通过利用 F5 DNS 负载均衡器的声明式 API,OpenShift 操作员可以安全地测试新集群并降低一小部分用户的风险。Ansible playbook 用于调整定向到新集群的流量比率。
概括
我们讨论了成功推出实时应用程序更新的几种策略,以及 F5 DNS 负载均衡器作为现代全球流量管理解决方案如何协助这些推出。
请利用我们的DNS 负载均衡器免费套餐产品,了解 NGINX 软件和 F5 云服务解决方案如何提高应用程序的性能和可管理性。
您还可以请求访问我们即将推出的DNS 负载均衡器NGINX Plus 集成早期访问预览版。此集成使您能够配置 NGINX Plus 实例,以与 DNS 负载均衡器共享其配置和性能信息,从而优化全局应用程序流量管理。
这篇博文探讨了 DevOps 和 NetOps 团队可以用来无缝、安全地将更新部署到生产环境的不同部署策略,并解释了 DNS 如何与特定部署模型配合使用。
蓝绿部署
蓝绿部署是一种维护两个相同环境(称为blue和green )的策略。如下图所示,NGINX Plus 正在将用户请求转发到运行应用程序生产版本的蓝色环境。新版本的应用程序正在绿色环境中运行,您可以在那里进行测试。检查完所有测试后,您可以更新 NGINX Plus 配置以将流量指向绿色环境。
[attachment=224]
这种部署策略的主要好处是,只要使用正确的工具,在环境之间切换流量就变得很简单——例如,使用 NGINX Plus,您可以使用 NGINX Plus API 来更改后端服务器集,而无需重新启动。风险得到了缓解,因为如果绿色环境中出现问题,只需调用一次NGINX Plus API即可回滚到蓝色环境。
滚动蓝绿部署
滚动蓝绿部署是同样的想法,但这里我们慢慢地将流量从蓝色环境转移到绿色环境,直到后者 100% 接收。加权负载平衡算法允许您指定环境之间的适当平衡。
[attachment=225]
主要好处是,当您对版本的稳定性充满信心时,您可以慢慢增加绿色环境的流量。任何意外问题只会影响一小部分用户。
金丝雀部署
金丝雀版本用于向一定比例的应用程序用户或环境提供新部署,类似于滚动蓝绿部署。关键区别在于,软件会监视应用程序的关键性能指标,以确保新部署以及生产中的当前版本都能正常运行。
[attachment=226]
由于金丝雀软件没有观察到您的性能指标发生重大变化,因此它会慢慢地将更多流量引导到新环境,直到达到 100%。
为了很好地实施金丝雀发布,您需要能够执行所需的精确流量转移的工具。推出时间可能需要更长的时间,具体取决于应用程序看到的流量水平。
使用 DNS 作为部署策略的一部分
DNS 如何在实施这些部署策略中发挥作用?
DNS 是应用程序与其用户之间的第一个接触点。为什么不使用它来引导客户使用您的应用程序的新版本?
F5 DNS 负载均衡器云服务是一种现代托管 DNS 解决方案,可以轻松集成到您的 CI/CD 管道中。它还使您能够在通过 DNS 实施这些部署策略时将用户位置考虑为流量引导的标准。与 F5 DNS 负载均衡器结合使用的基于比率的负载均衡算法可以帮助团队跨数据中心、可用区或云提供商实施蓝绿部署。
功能强大的 API 驱动的 DNS 解决方案还可以帮助您实施滚动蓝绿策略,以促进迁移到新集群,就像我们的合作伙伴红帽在帮助 OpenShift 客户迁移到 OCP v4 方面所取得的成就一样。通过利用 F5 DNS 负载均衡器的声明式 API,OpenShift 操作员可以安全地测试新集群并降低一小部分用户的风险。Ansible playbook 用于调整定向到新集群的流量比率。
概括
我们讨论了成功推出实时应用程序更新的几种策略,以及 F5 DNS 负载均衡器作为现代全球流量管理解决方案如何协助这些推出。
请利用我们的DNS 负载均衡器免费套餐产品,了解 NGINX 软件和 F5 云服务解决方案如何提高应用程序的性能和可管理性。
您还可以请求访问我们即将推出的DNS 负载均衡器NGINX Plus 集成早期访问预览版。此集成使您能够配置 NGINX Plus 实例,以与 DNS 负载均衡器共享其配置和性能信息,从而优化全局应用程序流量管理。