Redian新闻
>
蓝绿部署、A/B 测试和云雀发布

蓝绿部署、A/B 测试和云雀发布

公众号新闻

 新钛云服已累计为您分享756篇技术干货


近些年,“DevOps”非常热门,最近,我们团队讨论了部署最佳实践、热部署、回滚等,当提到蓝绿部署时,大家表现出浓烈的兴趣。
蓝绿部署已经在像亚马逊这样的地方实践了 10 多年。它们是一种安全、经过验证的方法。现在,蓝绿部署不是灵丹妙药,但它们有一定的用处。
其实还有A/B 测试,甚至 Canary 测试,在所有微服务、DevOps和云原生交流中,有很多关于它们的讨论,因此,我简单归纳了它们的区别。


PART ONE
蓝绿部署





Blue Green Deployments的详细介绍请参阅Martin Fowler 关于蓝绿部署的链接(http://martinfowler.com/bliki/BlueGreenDeployment.html)。它给出了总体要点。

它基本上是一种以可预测的方式发布应用程序的技术,目的是减少与发布相关的任何停机时间。这是在发布前为您的应用做好准备的一种快速方式,如果您发现问题,也可以快速回滚。

简单地说,您有两个相同的环境(基础架构),其中绿色环境托管当前的生产应用程序(例如 app1 version1app2 version1app3 version1):

现在,当您准备对 app2 进行更改并将其升级到 v2 时,您将在蓝色环境中进行。在该环境中,您部署应用程序的新版本、运行冒烟测试和任何其他测试(包括那些用于运行/启动操作系统、缓存、CPU 等的测试)。当事情看起来不错时,您将负载均衡器/反向代理/路由器更改为指向蓝色环境

您监视由于发布而导致的任何故障或异常。如果一切看起来不错,您最终可以关闭绿色环境并使用它来发布任何新版本。如果没有,您可以通过将负载均衡器指向回快速回滚到绿色环境
理论上听起来不错。但是有一些事情需要注意。
• 绿色环境中长期运行的交易。当您切换到蓝色时,您必须优雅地处理那些未完成的交易以及新的交易。如果您的数据库后端无法处理此问题,这也会变得很麻烦(见下文);
• 企业部署通常不适合微服务风格的部署——也就是说,你可能有微服务风格的应用程序和一些传统的、难以更改的应用程序一起工作的混合体。为蓝绿部署在两者之间进行协调仍然可能导致停机;
• 数据库迁移可能会变得非常棘手,并且必须与应用程序部署一起迁移/回滚。有很好的工具和技术可以做到这一点,但在传统 RDBMSNoSQL 和文件系统支持的数据库的环境中,这些事情确实需要提前考虑;盲目地说你在做蓝绿部署没有任何帮助——实际上可能会造成伤害。
• 你需要有基础设施来做到这一点;
• 如果您尝试在非隔离的基础架构(VMDocker 等)上执行此操作,您将面临破坏蓝色和绿色环境的风险;

  

      正如我所说,有一些很好的技术可以克服这些挑战并使这种部署方式非常有效,包括插入到持续部署管道中,但不要轻易跳入其中。





PART TWO
A/B测试





A/B 测试不是蓝绿部署,有些人会混淆这一点。A/B 测试是一种出于各种原因(例如可用性、流行度、引人注目度等)以及这些因素如何影响底线而测试应用程序功能的方法。它通常与应用程序的 UI 部分相关联,但当然需要后端服务才能执行此操作。您可以使用应用程序级开关(即知道何时显示某些 UI 控件的智能逻辑)、静态开关(在应用程序中)以及使用 Canary 版本(如下所述)来实现这一点。



蓝绿部署和 A/B 测试之间的区别在于 A/B 测试用于测量应用程序中的功能。蓝绿部署是关于安全地发布新软件并按预期回滚。您显然可以将它们结合起来:使用蓝绿部署在可用于 A/B 测试的应用程序中部署新功能。





PART THREE
云雀发布





最后,Canary发布是一种将您的应用程序的新版本发送到生产环境的方式,它扮演云雀的角色,以了解它将如何执行(与其他应用程序、CPU、内存、磁盘使用情况等集成) )。这是另一种发布策略,可以缓解以下事实:无论您在较低环境中进行的测试级别如何,您仍然会在生产中遇到一些错误。云雀版本让您在完全释放扳机之前先试水。


您获得的反馈越快,部署失败或谨慎进行的速度就越快。出于与蓝绿部署相同的一些原因,请注意上述事项;即,数据库更改仍然会绊倒您。





PART FOUR
概括





无论您是否使用特定的云技术,都可以实施所有这些策略。但正如您想象的那样,DockerKubernetes等技术对实施这些策略非常有帮助(如果甚至没有内置规定)。例如,OpenShiftFabric8通过提供使用这些技术所需的工具而无需担心底层细节,从而大大简化了使用 Docker 和 Kubernetes



原文链接:https://blog.christianposta.com/deploy/blue-green-deployments-a-b-testing-and-canary-releases/


    推荐阅读   


    推荐视频    

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
2023年秋季A-level考试时间已定!话说,夏季考试和秋季考试哪个更容易得高分?30万以上美国人有听力问题,听力测试是什么样的?什么情况需要进行听力测试?Swift 5.8新特性预览:支持函数向后部署智能周报|OpenAI收购一家游戏制作公司;稚晖君发布人形机器人「远征 A1」;字节跳动测试多个类ChatGPT产品...【趣味测试】MBTI职业测试市委常委会会议传达学习习近平总书记重要讲话精神,谋划部署经济转型升级、超大城市发展、推进乡村振兴刀郎和云朵是什么关系?刀郎妻子道出真相!斯里兰卡议会通过IMF协议,投票情况一览;科伦坡部署三千警员维护节日秩序质量测试有问题?iPhone 15或要延迟发布......百度高管解读财报:文心一言很快会大规模向更多用户部署OpenOOD更新v1.5:全面、精确的分布外检测代码库及测试平台,支持在线排行榜、一键测试圣县在蚊子泛滥的水域部署无人机投药杀幼虫德州将在边境部署新部队,8万移民聚集赴美对谈OpenAI:如何为全球70亿人部署“超级大脑”?助力民企发债!常态化推进央地合作增信模式,已有地方证监局开始部署中央纪委重磅部署后,年近70的“内鬼”落马,曾任省级党委巡视组组长深度 | 资本新规影响多大?利好利空哪些银行?五大股份行这样说…并已前瞻部署两栋军政大楼被夷为平地!安-124疑似受损,俄军战略轰炸机被迫靠后部署Copilot Chat 推出公开测试版,GitHub:花费数月的单元测试成为过去中央财经委员会定调!国常会最新部署,1700亿半导体龙头遭减持…周末影响一周市场的十大消息(新股+点评)2024川普还是拜登?小说:兰欣与乌茶 20AI 模型只能部署在云端?高通白皮书发布:混合 AI 是 AI 的未来盘点当前已部署在Graphcore IPU上的AI大模型「简报」你准备好迎接期末考试和暑假的到来了吗?苏姿丰:AMD将加速部署人工智能产品组合【趣味测试】原生家庭创伤测试「向西看」,当钢筋水泥遇上大数据、虚拟现实和云计算妻妾成群,不只在苏童笔下。。。。《祖国万岁》&《花轿里的人》家乡有个摇滚歌手中证协最新发布!券商压力测试指引落地达摩院发布大模型测试基准:GPT-4勉强及格,其他模型悉数落败事关高考!教育部最新部署面对“当前头等大事”,省委书记5天4次作部署
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。