发布变更又快又稳?腾讯运维工程师经验首发
1)背景诉求
现网发布变更对运维开发工程师来说是最繁重的工作。发布变更的概念、节奏等已经是老生常谈。但在ToB时代到来后,云上业务的诉求是功能/缺陷修复尽快上线、版本发出问题快速回退,防止客户业务受损。在整个需求上线环节中,CD部分由运维实施。如何让版本更快的交付上线是核心任务。腾讯云近几年开始大力发展,对象存储COS架构也经历了一次存储引擎升级YottaStore的大迭代。对象存储COS从用户接入到数据落地,要经历三个核心子平台:逻辑接入层、索引存储层、数据存储层。每个子平台内部还有数十个模块相互配合提供服务,任何一个链路出现异常都可能对数据PUT、GET、LIST、HEAD等接口造成可用性影响,COS节点数更是突破了10W+。YottaStore相比传统TFS模式或LAVADB模式而言,好在将小set模式的变更方式升级为集群百分比变更,打破理解set变更的模式,每个节点剔除加回也不需要等待数据迁移。这本质上提高了存储变更效率上限。
COS关键提效手段1)管理区域MZ适配发布YottaStore在上线的时候就对节点标签引入了MZ(Management Zone)的概念:同集群内跨MZ不能同时变更,减小误操作爆炸半径。例如,模块上线后使用20个MZ,跨MZ屏蔽节点会失败(保障现网最大5%的机器可以并发变更)。当然,在更核心服务配置时MZ应该设置的更多。优化前,基于MZ的概念变更节奏为:单机灰度:随机一个MZ变更1台;灰度:所有MZ随机变更1台;全量:MZ内全量并发,MZ之间串行,并且开始时智研平台并发度受限在100以内。
优化后:考虑集群内节点同服务角色,将灰度节奏调整为随机一个MZ全量,减少跨MZ带来的耗时,同时智研平台支持将最大并发调整为500+(单集群节点数/mz数量目前小于500,故相当于实现了MZ内全量并发)。
基于区域MZ适配发布优化的策略,主要是通过COS对MZ编排做了适配,同时智研平台把并发度支持从100并发调整到500并发,对于单机模板执行效率也做了优化。这整体优化了平台并发能力和发布流转效率,全园区覆盖效率提升100%。
2)灰度自测能力为降低人工check等待时间,COS在单机变更模版引入变更的自检过程。第一,灰度机器加回现网之前,扫描日志初始化,进而确认程序初始化成功。第二,灰度机器加回现网之前,引入自动化回滚。这里需持续丰富测试用例,打通测试平台建立完整测试流程。
3)优化并发策略变更系统提供人工控制入口,部署编排中的所有任务可以人工确认后直接启动,速度直线提升。COS发布分离线计算,自研云集群、公有云海外、公有云国内(每个云属性下有多个集群)、同云属性集群都可以在灰度健康的情况下开启并发。正常的版本发布耗时大约在1周工作日内完成。
4)优化流转时间将发布流程放大并将每一环可能产生的问题明确,我们可以看到不必要的浪费和可节约的时间。现网发布时,由于云上是区分客户等级的,所以在发布区域上用唯一流水线固化发布顺序来降低区域选择和流转时间。(流水线覆盖权限,且支持发布中临时调整)。其实固化对于质量的提升更多,后面来说。
上述点优化后,变更耗时从15天变更1w+设备,到4天变更4W+设备。
5)关注提效的更多探索某次大规模故障复盘当晚,我们对于快速故障处理时的发布提出了思考:回滚或者紧急的发布能否支持更快完成?软件发布是否还有提效的空间?答案是肯定的。为了从细节出发,我们对每一次单机变更做了记录。最终发现关键软件由于程序包太大,下载耗时就占了40%。该下发方案是,多台机器同时从变更系统拉取程序包。这使我们一下子就联想到了客户集中下载COS单对象的场景,该场景最优的解决方案,就是引入CDN的特性与优势:预热!
在实现上,我们用了两种方案:
第一,缓存接入点就近分发。机器触发新包拉取的时候存一份到缓存接入点。后续机器拉包去到就进的缓存接入点拉取,减少拉包时间。缺点是需要尽可能多的缓存接入点;COS地域较多,会导致耗成本。
第二,预拉取。变更系统知晓发布单的所有行为,所以在任务启动的时候后台就开始(比如以200台的并发度)将包往机器上分发。后面执行的机器在单机变更模版基础上加一步:判断是否已经分发过。当标志位是已分发时,则会跳过分发包直接开始变更步骤。(COS使用该方案,节省了缓存接入点,降低带宽与本机器成本)方案上线后,单机执行效率提升40%。
6)只考虑提效带来的问题云上2B业务规模量庞大,叠加对象存储COS内部模块数超20个,节点数超10万,对于版本迭代中的质量必须提出极高要求。
质量对于效率是非直观的,但是始终会影响真实的交付效率。
总的来说:现网发布中,效率是诉求,但发布质量是痛点,若质量问题不解决,单纯提效并不完善。
发布要提效,质量是痛点COS对于发布中引入的质量问题优化是艰难的。年维度的时间迭代,期间包含了COS运营模式改造、存储架构升级、变更体系完善、变更系统适配改造等多项措施。解决质量问题时不仅解决了效率痛点、规范了变更流程、保障变更质量的同时还降低变更人力,多方面助力发布提效。下面讲下COS如何做发布质量的提升,希望能给你一些思路。
1)明确质量痛点COS自身的问题第一,OSS不完善,无实例管理。由于前期没有统一的OSS,部署/开区都通过拷包完成。OSS缺失导致发布中的状态感知及各种发布中的问题排查都是低效的。三级模块管理很容易出错。因此,实例接口化升级是必要途径。第二,配置包区域化,模版不一致。每个区域都有自己独特的配置,而独立性并不是需要的。修改一次全网特性需要去每一个区域包里面改配置,确认时也一样。差异化配置众多,改造统一配置文件是重中之重。
第三,发布流程随意,发布成功率靠运维能力保障。原发布变更系统是没有顺序概念的,只有通用的编排比如串行/并行指着ip发布。
变更过程的问题从历史中能看到,问题最多的原发布变更系统。业务发展初期,典型的情况是只考虑变更效率的极致提升,无考虑管控不足带来的质量风险。所以在系统选型上,需要按照自身业务的管控需求来做。管控不足主要分为以下六点:COS发布场景梳理结合COS业务特性进行发布场景梳理与逻辑梳理,我们分别从正常部署、正常回滚、配置发布、扩缩容、紧急逃生、混部后的发布入手,结合现网变更中遇到的所有问题确定所有场景。
另外回退对云业务来说是预案。当和发布有关联,应该第一时间回退。若不是回退问题,其实我们期望让回滚流转成正向发布以继续变更。
观察点梳理—质量岗哨梳理COS发布前后的观察点,便于理解变更行为从而设置“岗哨”。包括基础的进程是否拉起、日志是否有错误、coredump、正常/异常返回码是否正常、延迟成功率业务请求是否变化。
每次变更软件负责人提供的额外注意事项,变更后的功能点更新的验证。以及是否可回滚,不可回滚变更的预案处理方法;
要关注变更期间的事件(不仅仅是变更模块的告警,而是需要关注整体的告警)和用户投诉、集群异常事件的产生等。2)逐项攻克解决配置文件管理升级为配置模板+配置变量的管理模式,对于整体运营上的提升有巨大帮助
第一,开区识别配置模版与配置变量,OSS支持自动化开区,独立客户单应用创建;第二,OSS识别配置变量,对于每一个配置变量可以确定功能,明确变量使用场景,做到配置修改和下发的预案模型,取代sed;第三,管理配置模版后,全局配置统一,不需要担心任何一个区域的配置文件再存在特异性问题;第四,区分配置模版、配置变量后,可以逐渐根据情况缩减配置变量,让通用性更强,运营复杂度降低;第五,配置变量对应的文件可以独立抽出来后,方便的做配置中心管理等更高级的下发升级;第六,实例问题——OSS建设,实例接口化升级(耗时半年)。
接口实例化升级首先,接口化便于指定发布、日志、监控系统的统一管理(oss只维护接口,所有平台支持监听接口自动更新);其次,实例接口化后统一接入部门产品树和产品下的集群树,规范化集群和LZ(逻辑区域),根源上杜绝IP变更;此外,基于标签化的配置作用域管理,通过建立标签映射关系的工具支持,可以降低很多运维的平台迁移工作。变更过程改造第一,固化发布流程。因为腾讯云是通过区域售卖区域管理,COS属于Region级产品,所以按照Region来作为内部发布平台的抽象任务,内部区分实际不同功能特性的集群。但是所有软件的发布方式原本都各式各样,没办法保障每个人来发布都能不出问题。所以我们的方案是,降低发布爆炸半径且固化:区域发布顺序唯一且固化,设置可最大程度降低发布爆炸半径的流程编排并验证(如第二部分COS的直观提效第4点的发布流程优化图),并且所有的规范都通过智研平台标准化落地,一个应用,一个流程,现代化升级和固化发布流程,工具化落地审批、double check、强制回滚,预发布流程等,杜绝人为失误,为自动化变更打好基础。详细的点还包含:
每列分为一个完整的云属性概念,保障不同属性优先级顺序,不同列之间引入暂停确认;将LZ(逻辑区域)的概念落为编排单元(图中的每一个任务);LZ内实现set化管理,保障区域内针对不同云上客户优先级编排发布顺序;新开区场景会自动识别到流水线模板,保障每次新增/减少集群都会加入到变更流水线上,保障发布全网覆盖。
第二,固化发布策略保障了发布流程,当然还要保障发布过程(发布策略)。失败可暂停,变更必灰度,变更模式统一;统一的变更策略:程序变更统一最大失败数,组内/组间并发度;统一的灰度策略:所有变更按照【1-确认-10%-确认-100%】的灰度节奏,强保障变更影响面和人工观察确认;统一的单机变更模板:正常情况程序变更和配置变更的单机变更模板各有一个,其他按各场景各自唯一;统一的发布时间:落地部门变更标准时间,变更时间过后发布单自动停止。
其他变更过程如下:
改造后的收益3)解决存储业务混部场景架平很多服务需要极致压榨硬件性能,与存储设备混部。该场景区别于在离线混部,属于在线和在线混部,每个服务都需要保障可用性。故需要考虑发布中此类场景的容灾设计。
需要杜绝的情况:第一,软件A数量>>软件B,软件A灰度10%触发机器死机导致软件B100%服务异常;第二,软件B类三副本cell模型(参考索引存储、块存储等实现),软件A机器变更影响软件B成对异常也会导致部分数据不可用的场景。
解决方案是引入通用理解的容灾分组,保证上述流程落地后规范并发布。
4)完善变更体系发布问题,解决的要点不仅仅是发布。COS对于变更额外还提出了很多自身运营上的的要求。
整体来说,发布概念、发布流程把控的标准化解决了在大部分发布流程上人工误操作可能引起的问题。足够标准化带来的收益就是全面标准化外包化发布,通过运维和开发配合持续降低发布变更的人力投入。并且关键的是:版本发布未再出现由人为操作引起的故障case。
COS的变更改造总结如果所有发布正向环节都考虑完备,能将效率与质量都进行提升。但这是否就足够呢?答案是NO。还需要良好的可度量体系,才能保障各项环节有数据反馈,持续调优。
好的度量具有两个特征:一是能够回答一个本质问题,另一个是能够引导出正确的行为,两者缺一不可。
1)审计负反馈目前来看,COS按照每一项发布的目标做行为上的数据审计。可以参考以下几点:
第一,成熟度指标体系:比如达到了某些标志性的数据后,可以直观地标识成熟度等级(但等级低可能是包含了各种历史和业务原因的)。
第二,发布效率提升:比如从执行日志找到单机类效率低的点,比如从整个发布环节中找到时间delay比较多并且可优化的点。
第三,发布行为考量:比如整个发布环节究竟占了多少人力,一次变成成功率是否高?由于人为环节或系统因素导致频繁发布失败,发布结单是有数据的,从这些数据可以负反馈给到用户是否该好好梳理下当前的发布问题及如何提升(是否环境污染、配置填错、模板不幂等)。因为统计后发现30%的人力消耗都在发布后,我们对于发布的调优才变的非常重要。
第四,发布过程事件关联:通过不同问题类型触发的故障影响,给各个问题做贡献度系数,最终可以做变更质检的打分体系。
第五,发布软件原因:从程序上入手,可以从程序问题的原因分类来做统计,比如相同软件经常出BUG,相同平台频繁出BUG,BUG平均影响线上时长等等反馈研发团队的可改进方案。
第六,审计负反馈通过部门某平台汇总展示:定期邮件到所有产品的发布情况,引导各项环节完善管理。
2)成熟度体系基于腾讯云上发布的理解,COS将发布成熟度区分为以下5级,最终目标为全自动发布。建立标准和成熟度模型,数据化牵引改进发布变更各环节的成熟度,迈向自动化。
未来:向更智能的发布模式演进首先是变更质检。区域告警关联区域变更,事件总线建设(相关事件关联),故障快速定位建设。用质检和打分体系代替灰度与全量&区域与区域之间的每一个暂停确认点,把流程自动化起来。
其次,用事件关联变更、统一的质检看板与结果分析、软件可回滚的前置条件下,把自动回滚能力也同步建设到位。
基于主干开发,引入城际快车发布模式,继承其带来的好处。每个人都非常清楚各个时间点、每个人都感觉到特性进展、速度不断提升、更加聚焦于生产质量。
最后,结合云业务特性与devops中的变更看板:统一把控发布与发布评审(如同一区域最多同时发多少单等等),让每个人都有紧迫感的同时,也不会漏发关键功能版本。
腾讯工程师技术干货直达:1、算法工程师深度解构ChatGPT技术
2、10分钟!从架构视角读懂K8s
3、探秘微信业务优化:DDD从入门到实践
4、耗时减半?腾讯云OCR只做了3件事
标签:
-
2022-12-21 08:58:17
发布变更又快又稳?腾讯运维工程师经验首发<
导读|如何让功能缺陷修复快速上线?版本发出问题时怎样快速回退?效率提升后质量掉队?为解决这些常让运维工程师头疼的事情,本栏目特邀腾讯知
-
2022-12-20 19:42:12
环球今日报丨基辅与SpaceX达成协议将接收大批“星链”天线<
乌克兰数字化转型部部长费多罗夫表示,基辅已与埃隆·马斯克领导的美国太空探索技术公司(SpaceX)达成协议,将再接收上万根提供卫星网络服务
-
2022-12-20 12:34:42
央视新谍战剧《欲晓东方》来袭,看清女主人选,网友:弃了|观点<
谍战剧作为国产剧中的收视保障,不仅深受大众追捧,而且还是高评分国产剧中的常客,凭借其惊险刺激、辗转反侧、斗智斗勇的故事情节牢牢抓住了
-
2022-12-20 06:56:37
分期乐贷款逾期第二个月会影响征信吗<
网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天后上报给征信机构,因为有些借贷机构可
-
2022-12-19 18:13:59
华秦科技: 独立董事关于第一届董事会第二十三次会议相关事项的独立意见_环球新消息<
陕西华秦科技实业股份有限公司独立董事 关于第一届董事会第二十三次会议相关事项的独立意见 根据《中华人民共和国公司法》、
-
2022-12-21 08:58:17
发布变更又快又稳?腾讯运维工程师经验首发
导读|如何让功能缺陷修复快速上线?版本发出问题时怎样快速回退?效率提升后质量掉队?为解决这些常让运维工程师头疼的事情,本栏目特邀腾讯知
-
2022-12-20 19:42:12
环球今日报丨基辅与SpaceX达成协议将接收大批“星链”天线
乌克兰数字化转型部部长费多罗夫表示,基辅已与埃隆·马斯克领导的美国太空探索技术公司(SpaceX)达成协议,将再接收上万根提供卫星网络服务
-
2022-12-20 12:34:42
央视新谍战剧《欲晓东方》来袭,看清女主人选,网友:弃了|观点
谍战剧作为国产剧中的收视保障,不仅深受大众追捧,而且还是高评分国产剧中的常客,凭借其惊险刺激、辗转反侧、斗智斗勇的故事情节牢牢抓住了
-
2022-12-20 06:56:37
分期乐贷款逾期第二个月会影响征信吗
网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天后上报给征信机构,因为有些借贷机构可
-
2022-12-19 18:13:59
华秦科技: 独立董事关于第一届董事会第二十三次会议相关事项的独立意见_环球新消息
陕西华秦科技实业股份有限公司独立董事 关于第一届董事会第二十三次会议相关事项的独立意见 根据《中华人民共和国公司法》、
-
2022-12-19 13:25:50
Polkadot 能否达到与 L2 解决方案相当的出块时间?| W3F 12 月 AMA 世界最新
加入PolkaWorld社区,共建Web3 0!Web3基金会技术教育和Grant负责人Bill在Reddit上举办了2022年最后一
-
2022-12-19 07:18:37
环球热推荐:A股申购 | 华光源海(872351.BJ)开启申购 业务区域主要集中于长江中下游各主要港口
(原标题:A股申购|华光源海(872351 BJ)开启申购业务区域主要集中于长江中下游各主要港口)智通财经APP获悉,12月19日,华光源海(872351
-
2022-12-18 19:39:33
2022“冰雪之美 尽在新疆”冬季旅游宣传推广季启动|今日热闻
中新网乌鲁木齐12月18日电 (记者 闫文陆)2022“冰雪之美 尽在
-
2022-12-17 21:35:45
12月沪牌拍卖参拍人数为近两年最低 中标率升至13.2% 世界消息
全国乘用车市场信息联席会数据显示,今年1-11月中国常规燃油车市场零售1334万辆,同比下降14%。上海市经济信息中心数据显示,今年10月份,上海
-
2022-12-17 07:58:32
探测野生黄鳝仪器
但每次都只有蚯蚓被放进笼子里作为诱饵。早上,你可以收到鳗鱼。由于丁香的特殊气味,鳗鱼很容易进入笼子,但闻到鱼腥味时。蚯蚓或苍蝇,年轻
-
2022-12-16 19:16:39
中国医药:进口和分销辉瑞药物预计对公司经营业绩无重大影响
新京报贝壳财经讯中国医药表示,2022年12月14日,公司与辉瑞公司签订协议。公司将在协议期内负责辉瑞公司新冠病毒治疗药物奈玛特韦片 利托那韦
-
2022-12-16 12:13:45
拆分可再生能源业务上市,华润电力意欲何为?_环球信息
今年预计有不少内地公司赴港上市或者二次上市。最近,一家已经在香港上市的公司也在考虑拆分业务,单独上市融资。1月5日,据《路透》旗下IFR引
-
2022-12-16 04:54:26
云游戏板块12月15日跌0.92%,慈文传媒领跌,主力资金净流出2.53亿元:全球观速讯
12月15日云游戏板块较上一交易日下跌0 92%,慈文传媒领跌。当日上证指数报收于3168 65,下跌0 25%。深证成指报收于11358 11,上涨0 32%
-
2022-12-15 17:49:18
国家外汇管理局:11月我国外汇市场运行更加平稳,境内外汇供求保持基本平衡
国家外汇管理局副局长、新闻发言人王春英就11月份外汇收支形势回答记者提问时表示,11月我国外汇市场运行更加平稳,境内外汇供求保持基本平衡
-
2022-12-15 11:53:10
焦点速读:公司前线|开普云参股成立新公司 注册资本400万元人民币
快查App显示,2022年12月12日成都元书坊科技有限公司成立,注册资本400万人民币,法定代表人为严妍。 经营范围包含一般项目:技术服务、技术
-
2022-12-15 04:10:50
专业服务板块12月14日跌0.18%,中金辐照领跌,主力资金净流出1165.52万元|焦点快报
12月14日专业服务板块较上一交易日下跌0 18%,中金辐照领跌。当日上证指数报收于3176 53,上涨0 01%。从资金流向上来看,当日专业服务板块主力
-
2022-12-14 15:37:09
华润三九:公司负责日本龙角散免水润颗粒产品在中国市场的市场推广及线上线下渠道销售
华润三九(000999)12月14日在投资者关系平台上答复了投资者关心的问题。投资者:与日本的龙角散有合作么?销售情况如何?华润三九董秘:公司负责
-
2022-12-14 10:38:21
异动快报:*ST辅仁(600781)12月14日10点27分触及跌停板|全球通讯
12月14日盘中消息,10点27分*ST辅仁(600781)触及跌停板。目前价格2 42,下跌5 1%。其所属行业化学制药目前下跌。领涨股为拓新药业。该股为化
-
2022-12-13 21:17:48
微动态丨北京商超物资充足配送员却难招 企业多举措缓解运力紧张
“超市未发货没有任何说明,打电话也没人接。”12月13日,北京西城区一位消费者告诉《证券日报》记者,其12月10日在沃尔玛宣武门店预约了物...
-
2022-12-13 13:32:00
大宏立董秘回复:公司今年参与了多个公共交通方面的项目
大宏立(300865)12月13日在投资者关系平台上答复了投资者关心的问题。
-
2022-12-13 06:48:11
即时看!网贷逾期3天会有哪些严重后果
1、产生罚息这是金钱上的损失。如果信用贷款出现逾期,贷款机构会先电话催收贷款,提醒借款人还款,同时利率还会上浮,作为每天的罚息。虽然每
-
2022-12-12 16:20:50
视讯!鹤壁市山城区红旗街街道纪工委:打造党风政风连心室 实现服务群众零距离
“您反映的出行难问题,我们已提交至街道党工委,目前正在核实,有结果后将及时向您反馈……”近日,在鹤壁市山城区红旗街街道朝阳南社区的...
-
2022-12-12 11:57:00
远大住工(02163):胡胜利获任总经理|环球新资讯
智通财经APP讯,远大住工发布公告,唐芬因工作调整已辞任公司总经理职务,自2022年12月12日起生效。辞任公司总经理职务后,唐芬将继续担任公司
-
2022-12-09 16:35:39
蓝港互动(08267)拟出售北京星满厨科技70%股权
智通财经APP讯,蓝港互动发布公告,自集团成立以来,其一直主要在中国以及其他国家及地区从事网络游戏开发及发行,包括游戏虚拟物品销售、授权
-
2022-12-08 15:57:55
梦网科技:Chatbot搭载智能机器人,可应用于智能客服、智能问答、兜底消息等场景,为行业客户与个人间提供实时的交互和丰富的业务服务
同花顺(300033)金融研究中心12月8日讯,有投资者向梦网科技(002123)提问,董秘您好,请问公司的Chatbot是智能聊天 对话机器人吗。目前应用
-
2022-12-07 13:59:25
燕塘乳业董秘回复:乐比儿童系列产品,系公司研究儿童的营养需求与口味爱好,为儿童量身定做的系列产品
燕塘乳业(002732)12月07日在投资者关系平台上答复了投资者关心的问题。投资者:董秘您好,我们注意到,公司的明星产品“乐比儿童成长牛奶”是
-
2022-12-06 09:50:58
全球滚动:长春一东:公司实际控制人是中国兵器工业集团有限公司,控股股东为东北工业集团有限公司
(原标题:长春一东:公司实际控制人是中国兵器工业集团有限公司,控股股东为东北工业集团有限公司)同花顺(300033)金融研究中心12月6日讯,
-
2022-12-01 14:22:29
【环球速看料】恩威医药:目前乾坤宁片临床试验还处于前期筹备阶段
同花顺(300033)金融研究中心11月30日讯,有投资者向恩威医药(301331)提问,董秘你好新冠药乾坤宁完成药理毒理研究了吗???公司回答表示
-
2022-12-01 13:47:57
【全球时快讯】港股异动:哔哩哔哩股价大涨10%,第三季度营收同比增长11%
英为财情Investing-周三港股早市,哔哩哔哩(HK:9626)股价大涨10%,股价现报118 60港元。
-
2022-06-20 15:07:15
OK镜头的下游销售终端有望“松绑” OK镜验配条款或将取消?
6月19日,北京商报记者了解到,OK镜头的下游销售终端有望松绑。一位医生在社交平台直言一直在盼,终于可能要来了······。根据业内流...