弹性微服务的4种部署策略

陈就
• 阅读 148

四种策略

与传统架构相比,使用微服务构建应用程序可为开发人员提供更高的速度和敏捷性。但是,每次代码更改仍会招致风险,如果未发现和解决代码质量问题,则为潜在的失败奠定了基础。为了减轻这些风险,应用程序团队应实施现代的云原生路由策略,以使其更易于测试危险并确保应用程序已真正准备好在生产环境中部署。

以下四种部署策略使用路由技术来安全地引入新服务和功能,测试功能并进行迭代改进,识别和消除漏洞等等。这些方法共同构成了一个虚拟工具箱,应用程序团队可以使用这些工具来降低在开发和部署微服务驱动的应用程序期间的风险。了解它们的异同是了解如何在自己的环境中充分利用它们的关键。

金丝雀部署

金丝雀部署是根据将实际鸟类送入煤矿以查看空气质量是否对人类安全而言的历史惯例而命名的,它是一种以最小的影响或风险来测试实际生产部署的方法。所谓的canary是服务的候选版本,它捕获传入请求的某些子集百分比(例如1%)以尝试新功能或构建。然后,团队可以检查结果,如果一切顺利,请逐渐将部署增加到100%的服务器或节点。如果不?在检查和调试有问题的代码时,可以从金丝雀部署中快速重定向流量。

Canary部署可以通过与负责处理入站用户流量的边缘路由组件的集成来实现。例如,在Kubernetes环境中,金丝雀部署可以利用入口控制器配置为稳定和金丝雀部署分配指定百分比的流量请求。通过这种方式路由流量,可以确保新服务在收到完整的部署之前有机会证明自己。如果没有,他们将被送回以解决问题,然后在准备好时进行另一轮的Canary部署测试。

A/B测试

A / B测试类似于金丝雀部署,但有一个重要区别。虽然金丝雀的部署往往侧重于发现错误和性能瓶颈,但A / B测试侧重于衡量用户对新应用程序功能的接受程度。例如,开发人员可能想知道新功能是否在用户中流行,它们是否易于发现或UI是否正常运行。

此模式使用软件路由来激活和测试具有不同流量细分的特定功能,从而将新功能暴露于指定百分比的流量或有限的组。A和B路由段可能会将流量发送到软件的不同版本,或者服务实例甚至可能使用相同的软件版本,但具有不同的配置属性(在协调器或其他地方指定)。

蓝绿色部署

蓝绿色部署模式涉及并行操作两个生产环境:一个用于当前稳定发行版(蓝色),一个用于上一个版本并在下一个发行版上执行测试(绿色)。这种策略使更新的软件版本能够以易于重复的方式发布。Devops团队可以使用此技术通过CI / CD管道自动执行新版本的发布。

使用蓝绿色策略,开发人员可以在当前处理生产流量的现有实例的旁边部署新的服务版本。CI / CD管道应设置为执行自动烟雾测试,以验证新版本的关键功能是否成功。一旦新服务通过了最后的测试,就可以使用软件路由无缝地管理从蓝色到绿色的流量切换,从而安全,自动地将流量重定向到它。同样重要的是,对于关键的,最新的问题,如果出现关键问题,则很容易将部署回退到蓝色版本。

交通阴影

流量阴影类似于蓝绿色部署,但是路由技术没有使用综合测试来验证“绿色”环境,而是复制了所有传入的生产流量并将其镜像到尚未公开的单独测试部署。因此,流量屏蔽可以根据真实流量准确地描述如果部署新版本会发生什么情况。同时,流量屏蔽确保测试不会影响实际生产。实际上,开发人员可以选择将一定百分比的请求复制到测试服务,然后他们可以在其中执行集成测试和性能基准测试(手动或在自动CI / CD管道的框架内)。

企业开发人员已经利用了一系列旨在确保新的应用程序代码满足某些要求的测试技术。例如,单元测试和功能测试仍然是代码必须清除的基本措施。但是,基于微服务的体系结构的性质使端到端集成测试比以往任何时候都更加重要。考虑到微服务体系结构固有的相互依赖关系和长期接口漂移的风险,综合测试仍然有价值,但最终将无法准确表示生产环境中服务之间的所有交互。

蓝四种策略一种目标

这些路由技术都提供了独特但又相关的方法来帮助发现,缓解和测试基于微服务的应用程序中的缺陷。它们是解决错误,性能问题和安全漏洞的有效工具,尤其是在作为端对端连续集成和交付(CI / CD)管道的一部分进行部署时。

哪种方法最适合您自己的情况,在很大程度上取决于最关键的问题。例如,主要的UI检修可以从A / B测试中大大受益,而蓝绿色部署对于查看新功能可能如何影响现有数据存储的性能可能是无价的。

通常,这些技术的组合可能会提供最佳的覆盖范围。但是,重要的是要考虑每个组件与您现有的开发模型的集成程度。例如,单个功能的Canary部署比完整版本的蓝绿色部署更适合于敏捷开发方法。而且,尽管流量影子可以很好地了解应用程序性能的预部署,但实现起来既困难又耗时,而且在计算资源方面也很昂贵。

无论您采用哪种技术,诸如此类的路由技术都可能是软件开发过程中不可估量的一部分,尤其是在该行业从传统的单片应用程序向基于微服务的云原生系统转移的过程中。通过应用一种,部分或全部这些技术,同时牢记它们的特定优势,应用程序团队可以更好地确保其项目的完整性和成功性,并更有信心地投入生产。

作者:Manuel Zapf

原文链接:https://www.infoworld.com/article/3565750/4-deployment-strategies-for-resilient-microservices.html

龙测,模型驱动的自动化测试平台。

画流程图、积木图自动生成测试代码的自动化测试专家!

测试体验官网:

https://www.dragontesting.com

点赞
收藏
评论区
推荐文章
企业级飞速低代码 | 这5个理由让软件架构师积极拥抱低代码
从避免技术债务到简化和整合业务流程到解锁单体系统,低代码提供了速度和灵活性。软件开发者和架构师曾经有理由对低代码技术持怀疑态度,但今天,许多成熟的低代码平台使敏捷开发团队能够提高生产力、增加质量、并频繁部署。开发人员使用低代码技术来构建应用程序、客户体验、门户网站、搜索体验、工作流集成、数据管道、数据流、仪表板、测试自动化、机器学习模型和其他解决方案。"低代
飞速低代码 | 低代码开发会带来更多安全问题吗?一文了解
​低代码不会带来额外的安全风险,也不会带来更多的运营风险或无法管理的成本,关键是要妥善处理。低代码开发目前已被大量应用,其本身并没有什么安全或不安全一说,所有应用程序开发框架、系统、流程和策略(手动或自动)的安全性取决于企业自身。企业不应该阻止使用低代码工具,而是应引入企业级低代码开发工具,让用户能够了解其工作原理,并鼓励使用这类工具。同时,确保这些工具的安
专注IP定位 专注IP定位
3年前
浅析企业云服务之SaaS、PaaS、IaaS对比分析
随着互联网行业的飞速发展,云服务也变得尤为重要,几乎每个企业都需要使用云计算服务,来管理大量敏感和机密数据,因此,在任何类型的企业中使用云服务都是不可避免的。一般而言,企业有三种可以选择,软件即服务(SaaS),这是一个完整的软件应用程序,具有用户界面;平台即服务(PaaS),开发人员可以在其中部署自己的应用程序的平台;基础设施即服务(IaaS),提供机器、
Stella981 Stella981
3年前
Spring Boot与Kotlin使用Spring Data Rest创建HAL风格Restful接口
RESTweb服务已成为在web上应用程序集成的首选方式。在其核心中,REST定义了系统由客户端交互的资源组成。这些资源以超媒体驱动的方式实现。SpringMVC为构建这些服务提供了坚实的基础。但是,对于多域对象系统,即使实施RESTweb服务的最简单原则也可能相当乏味,并且导致大量样板代码。SpringDataREST构建在SpringDa
京东云开发者 京东云开发者
7个月前
Docker运行环境安装
作者:京东科技林中Docker是一个开放的平台,用于开发、发布和运行应用程序。Docker分离了应用程序和运行应用的基础设施,从而实现了软件的快速交付。利用docker提供的一系列功能,包括构建、发布、测试和部署,可以帮助开发人员将最新版本代码应用到生产环
美凌格栋栋酱 美凌格栋栋酱
5个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
美味蟹黄堡 美味蟹黄堡
2年前
香港VPS的服务架构有哪些?
香港vps云服务器的服务架构有:1、IaaS,能构建所有其他类型的香港云计算解决方案;2、SaaS,客户可以在订购的基础上访问它,能有效地消除了盗版;3、DaaS,能消除因丢失IT硬件而丢失数据的风险;4、DRaaS,能在香港云端备份工作环境,在系统出现故障数据丢失时从中恢复,还可用于创建数据或应用程序的热插拔版本。测试环境是使用的3A网络的香港VPS,速度
什么是无服务器架构技术?
无服务器架构(ServerlessArchitecture)是jin年来逐渐兴起的一种软件架构方案,它采用了一种全新的方式来处理应用程序的部署、运行和扩展。与传统的服务器架构相比,无服务器架构具有很多优势,包括可扩展性、弹性、可靠性和安全性等。
天翼云发布边缘安全加速平台AccessOne,四大产品能力助力企业安全高速发展
为了在不可信网络中构建信任的安全系统,AccessOne推出零信任服务,基于零信任安全理念和架构,依托天翼云边缘节点,以身份认证与动态评估为基础,打造全新的企业安全远程访问能力,提供更安全、便捷、统一的接入服务。通过零信任控制面服务,天翼云助力客户有效进行统一管控、策略下发,实现身份可信、设备可信和行为可信;通过零信任数据面服务,天翼云可为客户提供包括智能选路、解除安全威胁的全方位保障。