建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块

乔帮主

发帖: 8粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2018-10-19 10:20:51 3269 2 楼主 显示全部楼层
Jenkins之父KK(Kohsuke Kawaguchi)与华为专家谈持续交付流水线实践

--20181012 华为HC全连接大会


引言:一切优秀理念和方法论的大规模普及,都有赖于先进技术的发展以及对应工具的发明创造来承载,DevOps持续交付理念亦不例外。软件开发是截止目前为止,人类最复杂、最不可控的工程技术工作,一次代码提交到上线,会涉及数十、数百、乃至数千个步骤、命令、服务、应用和环境,如果我们没有自动化交付流水线来不断提升自动化率,实施可重复且可靠的交付运作,而按照传统的以流程文档和操作规范指引、通过手工操作来进行交付活动的话,其工作效率之低、错误率之高已经和正在被诸多没有采用DevOps开发模式和持续交付工具链的企业所验证。

2018年华为全连接大会HCKKKohsuke Kawaguchi)与华为专家同台演讲,共同展望持续交付流水线关键技术和实践。


mmexport1539490916319.jpeg






KK:《Super Powers Coming to Your Jenkins》主题演讲

KKKohsuke Kawaguchi作为Jenkins的创始人、CloudBees公司CTO,是将DevOps持续交付理念进行工具工程化实践的第一人,更是推动DevOps理念大规模普及的灵魂人物之一。作为软件开发端到端持续交付系统,Jenkins用户量达200+万,在持续交付流水线专业工具领域市场占有率超90%,是事实上的流水线工具标准。

在本次华为HC大会上,KK带来主题为《Super Powers Coming to Your Jenkins》的精彩演讲,内容涉及DevOps CI/CD持续交付理念和方法论,以及Jenkins流水线Jenkins 2Blue OceanCloud Native JenkinsJenkins EvergreenJenkins X等面向不同场景的产品解决方案及关键技术。

例如,有了Cloud Native Jenkins通过云化和弹性扩容降低单点故障,用户就不会在周五晚上接到Jenkins服务宕机需要修复的连环夺命call,也无需做资源的预留以降低运维成本和前期投资,未来也将会有更高的性能表现。

Jenkins Evergreen提供了预置模板,用户仅需几次点击,在几分钟内即可生成一条可持续工作的流水线,大大简化流水线的配置步骤,有效降低配置门槛。Evergreen所有的配置均由Jenkins管理,可在线升级,用户只需专注于自己的业务开发和交付即可,无需关注各种复杂的流水线配置和组件管理。

Jenkins configuration as code实践一切配置即代码,用户可通过编写YAML脚本来对接插件、安全工具、检查工具、文档服务等,任何工具或者服务均可以通过脚本来实现对接。基于此,用户可以对版本控制、代码审计、滚动部署等环节跟踪查看,精确追溯插件集及其版本,使用户对各种更改更有信心。

随着新型云操作系统kubernetes的兴起,用户需要跟进学习一大堆新知识、工具与和服务,比如如何往容器迁移,如何安装和实施k8s,如何将容器安装到k8sk8s的生态系统和工具链对比选型等等,总而言之,适配Kubernetes绝非易事。Jenkins X致力于提供持续交付云原生应用的最佳实践,涵盖构建、测试、审查、变更、协作等各种最优产品。

除此之外,Jenkins通过可工作的默认配置,高频特性推荐等大幅增强产品易用性和使用体验。


mmexport1539436523118.jpg


华为专家周宇:《基于PipelineDevOps核心实践》主题演讲

华为研发模式先后经历了手工作坊、IPD、测试自动化工厂、CICDDevOps等各种研发模式的变迁,随之进行了对应的组织和流程变革,并产生了相应的工具平台来承载这些模式的落地和运行。随着研发模式、组织、流程、工具的不断变革,产品交付效率大幅提升,TTM时长从过去的1~1.5年缩短至2~6周。一些偏互联网化的产品,迭代周期缩短至1周,每天可以并行发布多个微服务。

在这个过程中,自动化的持续交付流水线平台/服务,是最核心的工程实践。基于流水线,以代码提交到上线的端到端交付周期的缩短作为目标驱动,使得各服务自动化能力和并发效率实现大幅提升改进,比如手工转自动化测试、容器化构建、基础设施即代码、容器化部署、灰度发布服务等,确保产品最终的可重复、可靠的快速迭代发布。

华为内部8万研发员工,最初使用的基本都是商用开发工具,而这些工具很难满足产品敏捷交付的需求,毕竟产品的敏捷和快速迭代,有赖于工具平台的敏捷和快速迭代能力的支撑。因而全面转向了开源,并在保证100%兼容原生开源系统的同时,进行云化、服务化、单点登录、多region、高并发、高可靠、高安全、面向不同行业和解决方案场景等方面持续强化,构筑产品核心竞争力。

当华为意识到,华为内部面临的软件持续交付工具链搭建、运维的核心痛点,其他企业也会面临时,便将工具链对外提供服务。希望通过可视化、灵活编排的自动化持续交付流水线及DevOps工具链,实现不中断业务升级,产品分钟级发布上线,助力企业大幅缩短交付周期,提升交付效率和产品质量。

从产品角度来看,华为产品团队和代码规模跨度极大,一些典型的大产品,代码量达1000+万行,团队规模也达1000+人,不仅组件多,团队也多,相互依赖更多。同时,华为大平台战略带来一个现象,就是产品通常依赖于另外一个独立BG下的一个大平台产品,且业务BG内部还会有自己的小平台产品,这样导致一个产品会依赖于好几个不同团队交付的不同平台。而由于产品规模太大,业务特性达数千个,模块也往往达到数十上百个。不同部门使用的环境和组网也会存在极大差异。

在这种复杂的环境下,华为构建了分层分级持续交付流水线,分为个人级、项目级、子系统级、产品级(版本级)、解决方案级等数级流水线,通过流水线编排工作流、触发下一级流水线的执行来保障产品团队和组件之间的协同交付、价值流转。

在这个过程中,配套L1-L4分级测试模型,在不同层级流水线执行不同的自动化测试策略,并设置每个阶段任务对应的质量门禁来判断是否允许流水线继续执行。通过多级流水线的层层防护,使得缺陷发现前移,有效保障了产品质量。

对应于最新的微服务化的产品形态,配套提供了微服务持续交付流水线模板。区别于传统产品持续交付流水线,微服务流水线在角色权限上匹配全功能团队全栈工程师的角色权限模型,SDE可以提交代码并端到端执行流水线直至微服务发布上线。同时,构建出镜像,并实施容器化部署、灰度发布策略、失败自动回滚策略,微服务可按天、按小时甚至分钟级灰度发布上线。

针对静态资源提供了持续部署流水线,流水线从软件包变更开始执行,到跨多region并行部署,实现多区多服务器的静态资源包自动更新。

在相关配套技术和服务中,灰度发布能力、极速构建、基础设施即代码、配置即代码、DockerK8s、自动部署、自动化测试、CloudPipeline CDDLContinious Deliver Domain Language)描述文件等尤为关键。灰度发布、蓝绿部署等策略可以确保不中断服务升级。增量构建、并行构建、依赖预读与缓存、容器化slave等不断提升构建速度,从小时级进入分钟级。通过容器化技术使得环境标准化,有效消除DTAP四大环境间的差异,减少环境配置、部署和问题定位成本。CDDL描述语言定义流水线的编排和各服务接入标准。人工审核可以在自动化能力未达到完全保障质量的情况下,增加评审人来把控下发布质量。

自动化一切、代码化一切、服务化一切、版本化一切、数据化一切、可视化一切,是流水线和DevOps平台的基本方向。未来还会包括智能化一切。

同时,DevCloud流水线支持百万级并发调度能力,提供可视化看板,和任务健康度(执行成功率)、及流水线整体、阶段、任务三级执行时长直观展示,主动呈现价值流中的主要阻塞点。

DevCloud on DevClouddogfooding吃狗粮实践中,提及在传统自动化测试理念上,探索在线测试的新方法和理念、实践,并逐步加大在线测试比重,以便进一步缩短TTM、提升产品质量。

在演讲后期,华为专家基于现网进行了“一次修改如何快速上线”的实战演示,这种基于现网生产环境的现场演示,是需要十分的底气和自信的,也彰显了DevCloud华为软件开发云服务的质量可信度。

 

十分钟互动论坛:

现场观众踊跃提问,涉及微服务流水线和AI在流水线上如何应用,数据安全,以及Jenkins开源社区与DevClou战略合作等方面。KK和华为专家都分享了自己的独特思考,对自动化持续交付流水线未来的演进方向做了深入的设想和阐述。未来,围绕持续交付产生的海量研发数据,必然成为AI驱动研发乃至企业商业转型的核心要素之一,特别对于高科技公司而言,这一点尤为重要。

 

双方合作:

华为正致力于Jenkins网站的中文本地化工作, DevCloud Cloudpipeline流水线服务基于Jenkins2,以及未来双方进一步共同探索在社区更深层次的合作,希望JenkinsDevCloud华为软件开发云服务能够共同为大家提供更好的持续交付流水线服务。

最后,“The more you build quality into systems — through automation & shorter cycle times — the more you increase throughput & stability”,让我们用流水线所承载的快速、可靠、可重复的持续交付使命作为结束,仗剑而行吧!


官方公众号链接:https://mp.weixin.qq.com/s/KKKOLfMB3H62z6JCbEuQiA




回复 举报
分享

分享文章到朋友圈

分享文章到微博

小白

发帖: 51粉丝: 3

级别 : 中级会员

Rank: 3Rank: 3

发消息 + 关注

发表于2018-11-12 09:12:58 沙发 显示全部楼层

很棒

点赞 回复 举报

oudi

发帖: 0粉丝: 0

级别 : 合作伙伴

发消息 + 关注

发表于2019-3-19 10:00:45 板凳 显示全部楼层

分享的知识很棒,不过,如果是对外的知识分享,请解释一下里面的一些华为内部专用术语,华为外的人表示不理解

点赞 回复 举报

游客

您需要登录后才可以回帖 登录 | 立即注册