云栖大会亮点曝光:阿里持续交付平台

简介: 距离云栖大会只有57天了,接下来保障君会提前曝光一些展台亮点来回馈粉丝们。这不,我们请来辉子同学和大家聊一聊阿里巴巴持续交付平台。阿里巴巴线上有上万个应用,上亿的用户即时在线,每天有几百个应用在线上更新,而保护业务平稳运行的产品体系就是阿里巴巴持续交付平台。

image.png

摘要


距离云栖大会只有57天了,接下来保障君会提前曝光一些展台亮点来回馈粉丝们。这不,我们请来辉子同学和大家聊一聊阿里巴巴持续交付平台。阿里巴巴线上有上万个应用,上亿的用户即时在线,每天有几百个应用在线上更新,而保护业务平稳运行的产品体系就是阿里巴巴持续交付平台。


正文


N年前,当我还在TW,一个很多人说是神,也有人骂是渣的公司。神渣都不重要,重要的是这个以技术为本的公司的男女老少都在聊技术,hr都恨不得给你写段ruby代码。于是,那些年风花雪月的咨询生涯里,带着持续集成,重构,看板,TDD,结对编程等等武器,我横行于唾沫横飞的江湖,感慨于口水+鼠标也可以将世界变得更美好。直到有天,一股互联网大军浩浩荡荡路过,顺便就把我给收编了。

阿里巴巴,如今已经是巨人公司,西溪园区的三尊巨人雕像可以带给游人无限的遐想。巨人已经瞩目到一个大动作就要被人说成吃了兴奋剂,打个盹要被人认为得了脑膜炎。在这个充分言论自由的自媒体时代(至少对阿里巴巴是这样的),一个代码的错误就能引起惊天动地的一场地震。这让多年身为屌丝的我深刻感受到做名人真难。

阿里巴巴在线上运行着上万的应用,上亿的用户分分秒秒在阿里平台上享受稳定,便利,快速的服务。阿里巴巴每天都有几百个应用在线上升级更新,就像在时速200公里的高速公路上让我横穿马路去维修一个栏杆,每一刻都是胆战心惊。记得我在实习线上PE岗位时,比我小10岁的PE老师让我升级线上某些机器的tomcat,顿时手脚发抖,浑身冒汗。

阿里巴巴需要一个体系,去承载这上万个应用的安全发布。多年来阿里技术保障部的同学们在一次次故障中吸取教训,总结在一次应用发布中哪些关键因素可能影响到发布的质量:

  1. code review:很多重大故障来源于一行愚蠢的代码
  2. 测试:没有测试就没有发布
  3. 灰度:只要还有一部分对的,就意味着服务还是可用的
  4. 正式发布:发布变更要记录,没记下来就意味着失控

———此处若发生故障———

  1. 故障应用定位:一旦错了,先要知道哪个应用发布错了
  2. 应用回滚:别管错误原因啦,赶紧回到没错的时候
  3. 故障定位:这时再来找错误
  4. 修复:错误修复了再发布

阿里巴巴的强分支模式注定了,在这1-8的发布流程中,都是once effort,也就是在一次发布中1-8每个活动最多执行一次。我隐隐约约的看到了持续发布的影子,那伴随我多年的灵感此时知识如泉涌。懂行的看客们,让我们另类解释一下持续交付的样子。


集成

在一起就是集成。代码commit是集成(代码在一起),编译是集成(逻辑在一起),部署是集成(部署包跟环境在一起),测试是集成(功能在一起),灰度是集成(系统在一起)


持续


只有不停的集成才是持续集成。越少持续,每次反馈代价越大。


部署


部署是保持集成独立性的关键要素


交付


若干次集成产生一次交付


不好的持续交付线

image.png

好的持续交付线

image.png


好的持续发布线的特点

  1. 包含>=1次集成的活动叫集成活动,比如上图代码嵌入活动包含了编译,单元测试两次集成
  2. 最好有n-1个集成活动中有部署任务(部署活动)(n是集成活动总数量)[一次编译,多次部署]
  3. 最后一个活动是发布上线(发布活动),同时一定是个部署活动
  4. 每个集成活动必须是原子级:每个集成活动有足够的反馈,活动间相互独立
  5. 反馈的覆盖面越来越大:后面的集成活动比前面的集成活动验证得多一些
  6. 反馈的代价越来越大:后面的集成活动比前面的集成活动付出的代价更大
  7. 活动执行的频度越来越低:后面活动的执行频度低于前面活动的执行频度
  8. 持续发布中主线发布是王道,火车模型很酷炫(当然分支开发也是支持的:)
  9. 每次发布都可以快速回滚
    10.可定制的智能表单:变更要有记录,发布可以审批

欢迎参加2019云栖大会做进一步了解

在阿里式持续发布理论的带动下,阿里巴巴正在加速万级应用上线系统化,白屏化的过程。阿里巴巴工程效率正在帮助阿里集团将开发模式全面转入主线开发模式,在这个趋势下,阿里持续发布平台从项目维度(而不是个人维度)整合包括进度管理、优先级管理、范围管理、风险管理、需求管理、缺陷管理、测试管理、代码管理、构件管理、持续集成、智能表单、插件管理、环境管理等所有开发领域的各个环节,形成统一化与白屏化的集成平台。

当前开发领域的平台及工具产品更多是割裂的系统,而在阿里的持续交付平台中我们把一切都统合到了一起,让研发人员轻松简单的把需求交付到客户手中。我们希望能与广大研发人员不断的在理论和实践中获得提高,并共同进步。


作者: 张群辉(辉子),持续交付线性理论提出者,原ThoughtWorks首席架构师。是技术保障、过程改进和持续交付领域资深专家。目前带领工程效率团队为阿里巴巴及全球软件企业提供从需求发起到软件交付全环节的支持与服务。

目录
相关文章
|
云栖大会
平台工程与BizDevOps,云效邀你参加2023云栖大会
2023云效云栖大会议程抢先看
4075 3
平台工程与BizDevOps,云效邀你参加2023云栖大会
|
2月前
|
人工智能 运维 Serverless
Serverless + AI 让应用开发更简单,加速应用智能化
2024 云栖大会开幕,在大会第一天,阿里云正式发布全新产品——云应用开发平台 CAP。CAP 拥有丰富的场景化应用模板,可以极速体验,并且具备更低的成本优势以及灵活组装等特点,成为广大开发者与企业必备的一站式应用开发平台,让应用开发更简单。
185 12
|
数据可视化 小程序 前端开发
云栖大会 | UIPaaS 基于 LowCodeEngine 的低代码平台孵化器
这篇文章从企业视角入手,讲诉了为什么需要定制低代码平台,以及如何通过阿里开源的项目「低代码引擎」和阿里低代码商业产品 「UIPaaS」 降低企业定制低代码平台的成本。阅读这篇文章,你可以了解到企业为什么需要定制低代码平台,低代码引擎是什么,UIPaaS 是什么,UIPaaS 如何服务于中大型企业的,以及 UIPaaS 如何去解决一些低代码领域下的问题的。
|
安全 Cloud Native 云栖大会
终极剧透|2023 云栖大会龙蜥操作系统专场五大亮点
龙蜥专场终极亮点来了!期待与大家共赴一场为期3天的科技盛会。
|
弹性计算 数据可视化 关系型数据库
2023 云栖大会 | 「动手实践」基于阿里云构建博学谷平台实时湖仓
2023 云栖大会来啦,众多主题活动与你同聚,门票免费领取中,数量有限,先到先得!
550 0
2023 云栖大会 | 「动手实践」基于阿里云构建博学谷平台实时湖仓
|
云栖大会
|
机器学习/深度学习 存储 人工智能
云栖大会推出阿里灵杰,大数据+AI一体化平台 6 大重磅发布
10月20日2021杭州云栖大会上,阿里巴巴集团副总裁、阿里云计算平台事业部负责人贾扬清发布大数据+AI一体化平台新品牌“阿里灵杰”,提供从“生产-采集-存储-分析-开发-治理-价值体现”整套云原生技术架构和产品体系,配套智能化运维平台和强大的数据资产安全管控能力。
1578 0
云栖大会推出阿里灵杰,大数据+AI一体化平台 6 大重磅发布
|
消息中间件 Cloud Native 安全
2021云栖大会|东方通正式加入阿里云云原生合作伙伴计划·强强联手共创国产数字化转型新风向!
近日互联网 IT 峰会中当属每年一度的“云栖大会”热度高,东方通作为核心伙伴受邀参加 2021 云栖大会,并与阿里云一起探讨中间件支撑云原生技术推动政企行业数字化转型的新方向。
2021云栖大会|东方通正式加入阿里云云原生合作伙伴计划·强强联手共创国产数字化转型新风向!
|
消息中间件 Cloud Native 安全
2021云栖大会|东方通正式加入阿里云云原生合作伙伴计划,强强联手共创国产数字化转型新风向!
近日,互联网 IT 峰会中当属每年一度的“云栖大会”热度高,东方通作为核心伙伴受邀参加 2021 云栖大会,并与阿里云一起探讨中间件支撑云原生技术推动政企行业数字化转型的新方向。
2021云栖大会|东方通正式加入阿里云云原生合作伙伴计划,强强联手共创国产数字化转型新风向!
|
人工智能 智能设计 城市大脑
2021云栖大会【视觉AI平台与生态论坛】线上直播等你来~
2021云栖大会【视觉AI平台与生态论坛】将于10月22日在杭州云栖小镇开启,可能因为地域的原因,您未能亲临现场,本次大会将在线上同步直播,大家不用出门,在家就能看到最新科技领域的成果展示~
784 0
2021云栖大会【视觉AI平台与生态论坛】线上直播等你来~

热门文章

最新文章

下一篇
无影云桌面