博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Kayenta:来自Netflix和Google的开源金丝雀分析工具
阅读量:6169 次
发布时间:2019-06-21

本文共 1129 字,大约阅读时间需要 3 分钟。

\

看新闻很累?看技术新闻更累?试试,每天上下班路上听新闻,有趣还有料!

\
\\

是一种开源的自动金丝雀分析工具,用于评估新版本软件产品的准备良好程度。作为一种Netflix内部开发的工具,Kayenta在Google的帮助下已集成到,实现了跨多个云执行自动金丝雀发布。要分析新软件版本是否就绪,其中可以包含代码更改和(或)配置调整。

\\

金丝雀发布是一种用于降低新版本软件部署到生产环境中风险的技术。其中,新版本软件被称为“金丝雀”,面向一个小范围的用户子集部署,并与稳定运行版本一并运行。用户流量将分别分割给这两个版本,使得部分用户输入请求转向金丝雀。

\\

在对一个金丝雀版本进行分析时,Kayenta需要试探该版本,并将试探结果与生产基线给出的结果相对比。理论上讲,Kayenta可以将金丝雀与实际生产系统做对比。但是由于生产系统已经运行了一段时期,这种做法会给出一个在统计上存在偏向性的结果。在分析中创建一个全新的基线集群,这确保了所生成的度量免受任何长期运行过程的影响。

\\

Spinnaker在供用户访问的生产系统之外,同时运行一个金丝雀集群和一个新的基线集群。通常每个集群会包括三个实例,但这并非一个固定不变的设置。随后,来自于一小部分(大约1%)实际客户的请求将被导向给这些集群,系统将收集一系列的性能和功能度量并做日志,存储到一个时序数据库,之后做自动对比,进而查看金丝雀与基线的对比情况。该称作“判定”(judgement)的过程给出一个介于0到100之间的整体分值。判定步骤可多次执行,而非仅做一次。

\\
2fd0ddb5166647a1258819de6c7a2d48.jpg
Netflix的金丝雀发布过程(图片来自 )
\\

判定的分数划分为三等,即成功(金丝雀可被提升为部署)、临界(可能需要人为介入去确定需要对版本做什么),以及失败(停止整个流水线并回滚,进入其中的流量被导向回生产系统)。

\\

Kayenta已集成了Stackdriver、Prometheus、Datadog和Netflix Atlas等多种监控工具。因为整个系统采用了插件式设计,Kayenta也支持使用其它一些工具,包括度量源、判定系统和结果存储。

\\

与Spinnaker的集成,使得Kayenta可在AWS、GCP、Azure、Openstack、Kubernetes等受支持平台以及一些混合系统上分析并部署金丝雀。

\\

Netflix正在将其整个金丝雀部署系统迁移到Kayenta。,迁移有望在未来数月内完成。Kayenta当前每日约运行200次判定,涉及约全部负载的30%。Netflix补充介绍,“通过在部署中为工程人员提供更高度的信任,Kayenta增加了开发人员的生产力。”

\\

查看英文原文: 

转载地址:http://xynba.baihongyu.com/

你可能感兴趣的文章
学习笔记------jsp页面与jsp标记
查看>>
DS博客作业02--线性表
查看>>
第三届ACM山东省赛I题_Chess_STL
查看>>
jQuery each和js forEach用法比较
查看>>
前端笔记-作用域链的一些理解加记录(JS高级程序设计读书笔记1)
查看>>
最新电Call记录统计-full hash join用法
查看>>
PHP 实战之设计模式:PHP 中的设计模式
查看>>
使用 Python 创建你自己的 Shell(下)
查看>>
Linux命令行–理解Linux文件权限(转)
查看>>
[Hadoop大数据]——Hive连接JOIN用例详解
查看>>
高可用性、负载均衡的mysql集群解决方案
查看>>
互联网直播平台架构案例一
查看>>
mysql++ result
查看>>
用正则把url解析为对象
查看>>
PHP与Java进行通信的实现方法
查看>>
apache 图片防盗链
查看>>
利用shell脚本自动获取awr报表
查看>>
分块算法
查看>>
zabbix3.2 报错 Database error
查看>>
中控考勤仪IFace302多线程操作时无法订阅事件
查看>>