之前,我们谈到冠军/挑战者试验是如何在同一个决策点上比较多个实现策略。这次,我想谈谈该技术的另一种应用。使用同一种架构,同一种思路,在生产环境中测试和更新决策逻辑。这不是为了评估策略的业务表现,而是为了在生产环境中逐步发布、逐步测试,也叫灰度发布。

为什么要灰度发布?

       作为软件开发周期(SDLC)方法论的一部分,测试是非常关键的,没有人会在不做测试的情况下发布他的产品。一般情况下,很多人会在QA环境中进行测试,但是这往往是不够的,这时候在生产环境里边发布,边测试(灰度发布)也是非常常见的。当涉及的软件是支持核心业务操作的,那么确保它能如预期的运行是很关键的,但是你要知道,你能在QA环境中做的事情是有限的。
       之前,我看到过覆盖全国的应用,在发布的第一阶段会对某一个省或者某一个地区进行试验性发布,如果一切顺利,再进行全面发布。还有的应用会在保证原先的决策运行的同时发布新的决策,但只记录结果,用于做后续的分析。还有另外一些项目,在生产上发布新的业务逻辑的同时,只是让一部分的交易被新业务逻辑处理(很大一部分还是让原来的业务逻辑处理),这时候往往还需要随机分配待处理的业务到原有业务逻辑和新业务逻辑。
如何进行灰度发布?
       当我们进一步关注如何进行灰度发布时,我们将不可避免地关注冠军/挑战者试验。你有一个冠军策略:即现有的业务逻辑的实现。也有一个挑战者策略:新的和改进的业务逻辑的实现。需要指出的是,在这里我们不是讨论如何“实现”,我们重点讨论的是旧有的决策逻辑和新的决策逻辑本身。在我们的场景中,业务规则或者逻辑发生了变化,但是软件本身的实现是不变的。也就是说,我们并不讨论如何部署实际的软件代码。
       此时,我们会想要先针对未来的一小部分交易发布新的业务逻辑,比如一开始仅在5%的交易中发布新逻辑,这非常类似于之前我们说过的95%的交易采用冠军策略处理,5%的交易采用挑战者策略处理的试验。然后,通过观察一段时间,我们再判断采用新的业务逻辑是否能达到预期效果。然后逐步推广新业务逻辑的发布,增加到20%,50%,直至100%。
为什么使用冠军/挑战者试验来实现灰度发布?
       这是一个很好的问题。不过我们从另一个角度来问:为什么不呢?实现灰度发布的另一种选择是手工编写代码,这意味着你需要编写代码来支持同一个决策的两个版本能够同时运行。我们的决策管理平台运用冠军/挑战者试验能简单和完美地解决这个问题。其他决策管理软件也许能解决这个问题,但是可能会要求你复制存储库或做其他类似的工作。
       其次,你还需要用代码实现对冠军/挑战者试验参数的管理,比如设定执行当前决策逻辑的交易量,和执行新的决策逻辑的交易量。这用代码并不难实现,但改变这些参数意味着要经历一个完整的软件开发周期。比如把百分比从5%提高到20%,你需要软件工程师做出修改,需要QA测试,需要一个正式的生产版本,工作负担相当沉重。而使用支持冠军/挑战者试验的决策引擎改变参数,就和改写一条简单的规则一样简单。我们将业务规则独立出来的初衷不正是如此么?
       最后,需要建立一个机制来跟踪业务逻辑处理的结果,并且衡量能否达到标准。诚然,编写代码也能简单地实现对交易处理结果的检查,但一般我们都会有更高的要求。决策引擎平台的冠军/挑战者试验功能已经实现了自动化追踪每笔交易的执行路径。
思考与回顾
       灰度发布是提高决策质量的重要手段。一旦使用了冠军/挑战者试验功能,发布和监测新的业务逻辑将不再需要花费大量精力。何乐而不为呢?
原文作者:Carole-Ann Berlioz

原文地址:https://www.sparklinglogic.com/champion-challenger-for-rolling-out-deployments/

-----------------------------------------------------
上海信数金融信息服务有限公司成立于2015年5月,是中国领先的金融科技公司。公司的产品包括新一代智能决策管理平台、企业级数据管理平台以及大数据征信服务等。

明策智能决策平台,是信数公司和美国硅谷公司Sparkling Logic合作研发的一款引领未来的智能决策管理平台,已经被包括PayPal、摩根大通、LTCG保险、京东金融、掌众金服、中望金服等超过100家国内外知名企业所采用。

Sparkling Logic是一家专业的智能决策引擎研发公司,由FICO Blaze Advisor创始团队建立于2009年,通过对规则引擎、智能决策的不断研究,致力于帮助商业、教育、非盈利和政府组织利用他们的数据和专业知识来更好地自动化决策,推动发展。

信数金服决策引擎分享(二):灰度发布-冠军/挑战者试验的另一个应用相关推荐

  1. 信数金服决策引擎分享(一):来聊聊冠军/挑战者试验,一个数字游戏

    自动化决策与冠军/挑战者试验 自动化决策最有价值之处在于可以迅速的根据业务变化改变底层的决策逻辑.这些业务变化可能来自于监管的调整.竞争压力或单纯的商业机会.决策的修改需要有测试同步跟进--毕竟在不能 ...

  2. 信数金服:物联网案例之物联网系统如何进行实时决策

    我们的合作伙伴,Mariner(一家数字化战略咨询公司),在最近的一篇博客文章中,描述了一种高层体系结构,该结构用于为其制造商和分销商客户提供物联网解决方案.通过这个结构,我们首先使用Microsof ...

  3. 信数金服:物联网案例之工业物联网中故障预警与风险管理的规范性分析

    人们对风险管理技术和企业工具的应用由来已久,但是主要集中在保险,金融和银行业.随着工业物联网产业和物联网终端设备的迅速发展,原始设备制造商和工业客户将有更多机会将相似的技术应用于工业设备的故障预警和维 ...

  4. 信数金服:决策模型的迭代

    在<业务规则的生命周期管理>中,Carole-Ann指出了版本管理中的可追溯和回退功能是十分有效的.她还提到了发布版本的强大功能,基本上,它包括了给定时间点上的各条规则(或任何类型的项目) ...

  5. 风控策略和模型的区别_智能风控平台核心之风控决策引擎(二)

    文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 来源 | 互金杂货铺(id:hjzahuopu) 作者 | 互金杂货铺 本文摘要:信贷风控策略建设思路 ...

  6. 智能风控平台核心之风控决策引擎(二)

    本文摘要:信贷风控策略建设思路.决策引擎主要功能 适用阅读人群:互金产品人员.互金模型人员.互金研发人员 在风控决策引擎(一)中,只是对风控决策引擎的核心功能规则.评分卡.模型.表达式.决策流等模块做 ...

  7. 北京/上海/杭州 | 蚂蚁金服智能引擎技术事业部招聘知识图谱算法工程师

    合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 蚂蚁金服 这里有来自国内外 TOP 互联网公司的资深从业者,也有多位近年阿 ...

  8. 蚂蚁金服ATEC技术探索大会造访伦敦,只为讲好一个普惠金融愿景

    小蚂蚁说: 英国当地时间6月11日,一年一度为期一周的伦敦科技周(London Tech Week)正式拉开帷幕.作为伦敦科技周的重要组成部分,蚂蚁金服ATEC技术探索大会在伦敦科技周首日在威斯敏斯特 ...

  9. 已拿offer热乎乎的蚂蚁金服面经分享,建议收藏(Java岗、附答案)

    前言: 由于作者面试过程中高度紧张,本文中只列出了自己还记得的部分题目. 经历了漫长一个月的等待,终于在前几天通过面试官获悉已被蚂蚁金服录取,这期间的焦虑.痛苦自不必说,知道被录取的那一刻,一整年的阴 ...

最新文章

  1. linux+bash+参数脚本名,linux – Bash中的脚本参数
  2. iOS无法引入头文件
  3. idea python-IntelliJ IDEA安装运行python插件方法
  4. 定制属于自己的域名邮箱
  5. 网络编程Socket之UDP
  6. mongodb实验报告_Dropwizard,MongoDB和Gradle实验
  7. 4562亿元教育经费收从哪里花向何处
  8. libjpeg学习3:turbojpeg试用
  9. 如何破解物联网卡带来的连接痛点
  10. 经典英语1000句(转)
  11. spring与security做项目的时候,控制台一直输出显示favicon.ico错误,解决方案!
  12. Python正则表达式指南下半部
  13. 位图图像和矢量图形的区别
  14. 小学生十大计算机专业书排行,小学教辅十大排行榜2018 小学教辅书那些比较好...
  15. 大学毕业后拉开差距的真正原因
  16. 水晶报表的宽度调整方法(设计器、代码调整、rpt文件属性)
  17. 微信支付功能测试用例
  18. 坚持住啊,还在代码屎山中爬行的同事们
  19. WinRar压缩图片捆绑EXE文件
  20. IntelliJ IDEA设置自动导包方法

热门文章

  1. Rambo: Last Blood
  2. 正点原子stm32F407学习笔记1——新建工程模板
  3. 从0开始使用QEMU模拟ARM开发环境之脚本制作分区镜像(rootfs+zImage+dtb)
  4. 已解决:Traceback (most recent call last): File “d:\python3.6\lib\runpy.py“,
  5. 【奥斯卡理财星体系 第三章】丨你适合追求什么样的收益率
  6. java 判断String是不是Long类型
  7. 分享5个黑科技APP,都是优秀好资源,手机里没有的可惜了
  8. aws 短信验证_在AWS Kubernetes上进行抛光的rshiny身份验证
  9. css的inherit属性
  10. 组合之分苹果问题(22)