1682亿背后的“企业级”高效持续交付

本文涉及的产品
云效 DevOps 流水线,基础版人数 不受限
云效 DevOps 制品仓库,基础版人数 不受限
云效 DevOps 代码管理,基础版人数 不受限
简介: 在2018云栖大会南京峰会企业级互联网架构专场上,由阿里巴巴研发效能高级技术专家陈鑫带来了“1682亿背后的“企业级”高效持续交付”的主题分享,从技术管理者的烦恼开始引入持续交付与DevOps,对阿里DevOps落地和实际案例进行了介绍。

在2018云栖大会南京峰会企业级互联网架构专场上,由阿里巴巴研发效能高级技术专家陈鑫带来了“1682亿背后的“企业级”高效持续交付”的主题分享,从技术管理者的烦恼开始引入持续交付与DevOps,对阿里DevOps落地和实际案例进行了介绍。
数十款阿里云产品限时折扣中赶快点击这里领券开始云上实践吧!
直播视频请点击
以下为精彩视频内容整理:

技术管理者的烦恼

_1


一名开发工程师的日常通常首先要拉分支,每一个研发团队都有自己的研发规范,我们必须要遵守这个研发规范,才能做到日常的转接的迭代。然后会进行本地的开发验证、持续集成、合并请求、多环境测试、线上发布,在这个过程中其实是有很多重复工作的,比如说我们如何保证每个开发拉分支的规则是一致的,如何保证代码质量,如何保证测试环境的稳定性等等一系列问题。在持续交付领域有一个原则,如果这个问题需要花很多成本,是一件非常痛苦的事情我们应该尽早的尽量频繁的去做它,这个持续性叫做原则。我们的云上平台重点就是解决以上这些问题,提高效率。
日常开发工程师的烦恼就是管理者的烦恼,通常他们会面临研发流程混乱、测试质量无法保证、环境管理低效、繁杂的开源工具等。看到这些烦恼后首先就会想到云,第二个就是持续交付,可以看一下这些数据,资料来源:2016中国软件开发者白皮书 http://img.bss.csdn.net/201611171615373712.pdf
  • 企业上云成为趋势
    企业云服务使用率呈上升趋势,非公有云模式的部署方式目前是首选。调研数据显示,有27%的企业正在使用云服务,相较去年(2015年)增长了8个百分点,2014年仅为7%。出于对企业关键业务数据与资源的安全性考虑,六成以上企业会选择私有云或混合云的方式部署服务。
  • DevOps成为业界热词
    86%的企业不同程度都使用了DevOps相关工具。其中Docker和Jenkins作为实现DevOps的重要技术手段被使用最多,占比分别为47%和44%。
  • 企业对开发工具和流程的认可
    近8成企业有正规的开发流程来指导软件开发活动。近5成企业采用本企业自己制定的开发流程。6成以上的开发团队在使用开发相关工具。7成以上的开发团队认为开发工具能够提高开发效率和产品质量。21%的开发者非常期待公司在做年度计划的时候能增加在开发工具方面的预算。

持续交付与DevOps

如何应用持续交付与DevOps来提升软件交付效率呢?先介绍几个互联网热词。
1、持续交付:需求小批量流转、自动化流水线、短周期频繁交付,这是互联网的理念,尽快的去交付下去。
2、DevOps:它是一种方法和文化,自动化、度量、分享,基础架构即代码。
但这并不是名词解释,是想说明这两个问题一个是效率,一个是开发成本。后面会介绍阿里巴巴如何提升效率,如何减少成本。

高效协作与成本控制

研发模式全自动化

_2


讲到研发模式首先想到的就是流水线,但流水线并没有解决研发模式的问题,如何保证一个企业里步调一致,我们抽象出来的分支模式、自由模式、GitFlow模式把它们直接做到产品里面。可以看到整个的拉分支的过程,合并的过程,发布的过程都在这个产品里解决了。这样就可以保证所有团队的步调是一致的。所以总结了三点,第一个是规范操作。第二个是高效协作。第三个是避免错误。

统一技术栈和运维栈

在这里把研发模式的交付流水线和视图都进行里统一。在代码推荐可以推荐 SpringBoot 、NodeJS、Go、PHP、Python、Ruby等等代码的框架,然后让它们创建新服务的时候所有技术站都是统一的。在运维模版,有Dockerfile的推荐还有标准化的环境等等一系列来规划它的运维。系统软件解决的是一个资源问题。其实可以看到云效在这的作用就是把这几层进行了黏合,它是所有的这些东西对开发者的唯一出口,就可以规划技术站运维站落地新技术,提高效率。

全云化测试平台

讲了效率的问题再来说说成本的问题,是如何降低成本的。每个团队都要有自己的测试,当他们突然出现的时候就不可控了。我们要做的就是通过规范化的接入把这些测试的方案全都接到云平台上。接入进来之后通过统一的调度,去提供机器资源,当所有的机器资源都在手里后就可以做很多事,使得测试平台特别高效。云效也支持企业自研自动化测试方案得接入。

测试环境隔离

_3


大家不要小看了测试环境,阿里巴巴已经有数万台的线下物理资源,而且随着微服务理念的推广,服务出现了爆炸性的增长。不可能去给每一个链路部署一个单独的环境,那是怎么做的呢?整个环境分成三个部分,第一部分是开发机。第二部分是隔离环境,部署了三个服务,这三个服务开发了一组需求。在基础环境里部署了所有环境。所有请求进来就可以通过云效平台进行隔离和打标,所有请求进来先到隔离环境然后到基础环境。

企业级持续交付

一个平台真正做到企业级需要哪些元素,总结了五个部分:
1、应用创建:要有完整的应用元信息、代码推荐、技术栈模板和流水线编排;
2、测试验收:有静态扫描、代码规约、安全测试和质量评分;
3、标准环境:有标准stage、环境规划、标准运维模版和测试环境动态伸缩;
4、上线卡点:有管理审核、质量验收、测试卡点和发布窗口;
5、部署过程:有分批策略、过程监控、快速回滚和应用基线。

阿里DevOps落地

首先在阿里巴巴内部都是以DevOps理念以应用为中心的,以应用为出口,可以串联流水线发布测试环境等。在往外延伸到监控、DB等这些都是以应用为一条主线进行串联的。开发在定义应用,在定义应用周边这些服务的内容,所以说它其实就是在定义运维。潜移默化的把原来Ops的工作逐步的过度到Dev身上,最终实现了DevOps理念的落地。

容器化助力DevOps落地

_4


在2016年双十一前阿里巴巴决定要进行全部服务的容器化,可以说阿里巴巴基本上进入了容器化的一个时代。图上是两个对比,左边是容器化前的决策。右边是容器化以后,所有的运维的存储都可以放到流水线里面,让它能够自助化的进行变更。可以说容器化的落地标志着阿里巴巴正式的进入了DevOps时代。

最佳实践

使用持续交付流水线

这是阿里巴巴内部的具有阿里巴巴特色的流水线,我们认为它是业内领先的,易于协作的。在前边日常工程中可能是开发在进行开发,预发过程可能是测试工程师完成,正式过程可能是运营工程师在进行部署。三者的所有行为都可以在同一个平台上进行展示,这个是业界目前还没有的。

无侵入的构建加速

目前支持所有语言的构建,因为云效提供了几种主流语言的构建和环境模版,也允许用户自定义自己的模版环境,接入到云效中。并且我们还做了一个自适应的构建缓存,来加速构建过程,而不需要额外的下载工作。系统都是阿里云进行安全认证的,保证代码和数据不会泄露。

全网部署能力

_5


从图上可以看到,首先是共有云,还有专有云,还有自由主机。专有云上有没有购买云效,都可以通过阿里巴巴内部的Agent技术将自由主机接入到公有云效中。而且最大优势是不需要暴露公网的,非常安全。而且整个的Agent是阿里巴巴现在正全网部署的,能保证它的安全可靠。而且可以支持一键的接入,企业租户隔离。用户可以选择通过Internet/专线将自己的自由主机跟云效进行打通,对于普通开发者来说完全不需要关心它的资源在哪里,来实现这样一个比较高效的协作。
本文由云栖志愿小组陈欢整理编辑
相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
SVN版本控制系统
SVN是现在软件开发之中的主流软件版本控制工具,在工作之中利用SVN可以有效的解决多人开发的代码管理问题,本课程将为读者讲解SVN服务器的配置以及基于MyEclipse的SVN客户端插件的配置与使用,并且在讲解之中着重讲解了冲突的产生于解决。
相关文章
|
4月前
|
人工智能 安全 应用服务中间件
深耕多云生态,F5应用交付加速演化升级
深耕多云生态,F5应用交付加速演化升级
43 4
|
6月前
|
存储 大数据 云计算
企业级服务:技术实现与业务价值
企业级服务:技术实现与业务价值
94 4
|
6月前
|
存储 安全 前端开发
SAAS解决方案深度剖析:适用场景、挑战与成本评估指南
SAAS解决方案深度剖析:适用场景、挑战与成本评估指南
208 0
|
存储 监控 架构师
十年业务开发总结,如何做好高效高质量的价值交付
软件交付是一个非常复杂的过程和体系,需要保障好每个阶段的质量和效率才能保障最终的质量和效率。本文将尝试从需求交付的前、中、后三个环节来阐述一下如何做高效高质量的价值交付。
142413 3
|
存储 SQL 弹性计算
元数据驱动的 SaaS 架构与背后的技术思考
在抽象能力以及沉淀了产品的基础上,把所承载和沉淀的业务能力快速输出,贡献给整个行业。
8914 11
元数据驱动的 SaaS 架构与背后的技术思考
|
Kubernetes Cloud Native 新能源
TCL 拥抱云原生,实现 IT 成本治理优化
通过云原生企业IT成本治理方案,TCL 工程师团队可以非常便捷地提供 Kubernetes 集群中的业务、组织等维度的成本数据,大大提升了部门之间的成本通晒的效率,配合技术、业务、财务“战略同频”的云原生 IT 成本治理流程,为集团优化了10%闲置的资源,各类业务降低了30%的配额,每年节省近千万的 IT成本投入。
362 0
TCL 拥抱云原生,实现 IT 成本治理优化
|
弹性计算 编解码 人工智能
阿里云发布企业云原生IT成本治理方案:五大能力加速企业 FinOps 进程
阿里云企业云原生 IT 成本治理方案助力企业落地企业 IT 成本治理的理念、工具与流程,让企业在云原生化的过程中可以数字化地实现企业 IT 成本管理与优化,成为 FinOps 领域的践行者与领先者。
866 3
阿里云发布企业云原生IT成本治理方案:五大能力加速企业 FinOps 进程
|
存储 Oracle Cloud Native
PostgreSQ产品优势
PostgreSQ产品优势
154 0
|
边缘计算 Kubernetes Cloud Native
进击的云原生,为开发者提供更多可能性
云原生是因云而生的技术,它根植于开发者,并提供最大云价值。
3879 0
进击的云原生,为开发者提供更多可能性
|
新零售 达摩院 Cloud Native
云原生时代的“精益实践”:企业效能提升10倍“杀手锏”
1月15日,国内知名“精益产品开发”研究和实践者、阿里云云效资深技术专家何勉在阿里云《云计算情报局》线上直播栏目中,分享其对研发新模式的最新思考,提出“下一代精益开发方法”,助力企业在研发效能上提升10倍。 同时,他认为,云原生是效能提升的巨大契机,赋予了精益实践天然的优势,是精益实践的最佳助力。
1926 0
云原生时代的“精益实践”:企业效能提升10倍“杀手锏”