请选择 进入手机版 | 继续访问电脑版

ITIL,DevOps,ITSS,ITSM,IT运维管理-ITIL先锋论坛

 找回密码
 微信、QQ、手机号一键注册

扫描二维码登录本站

QQ登录

只需一步,快速开始

查看: 230|回复: 0

谷歌SRE的发布工程介绍

[复制链接]
匿名  发表于 2020-12-5 23:56:15 |阅读模式
发布工程(Release Engineering)是软件工程内部一个较新、发展较快的学科。简单来说,这个学科专注于构建和交付软件(参见文献McN14a】)。发布工程师通常对源代码管理、编译器、构建配置语言、自动化构建工具、包管理器和安装器等非常了解(甚至是这方面的专家)。他们的技能横跨很多领域∶开发、配置管理、测试集成、系统管理,甚至用户支持。


为保障服务可靠运行需要可靠的发布流程。SRE需要保证二进制文件和配置文件是以一种可重现的、自动化的方式构建出来的。这样每一次发布才是可以重复的,而不是"独特的雪花"(俚语,意指没有两片雪花是完全相同的)。对发布流程的任何改变都应该是有意为之,而不是意外之举。SRE 关注从源代码到部署的整个流程。


发布工程是Google内部的一项具体工作。发布工程与产品研发部门的软件工程师(SWE),以及 SRE一起定义发布软件过程中的全部步骤——包括软件是如何存储于源代码仓库中的,构建时是如何执行编译的,如何测试、打包,最终进行部署的。


Google是一个数据驱动的公司,发布工程也不例外。我们有各种各样的工具提供各种各样的数据。例如,从代码修改提交到部署到生产环境一共需要多长时间(也就是发布速度),又比如统计构建配置文件中某个特性的使用率(参见文献【Ada15】)。大部分这些工具都是由发布工程师设计和开发的。


发布工程师利用这些工具定义一些最佳实践,来保障软件项目可以一致地、可重复地进行发布。我们的最佳实践覆盖整个发布过程中的所有元素。例如,编译器功能开关、编译结果中的版本编号的格式、构建过程中必须执行的步骤等。确保我们的工具在默认情况下就能正确工作,并且有合理的文档作为辅助,可以让开发团队专注于功能和用户,而不需要花费时间重新发明软件发布的轮子(经常还是不圆的轮子)。


Google有很多SRE负责产品更新的安全部署过程,保障这些服务可以正常运行。为了保障软件发布流程能够满足业务需求,发布工程师与SRE紧密协作,为变更的测试进行无缝发布,以及为变更的顺利回滚等制定策略。





上一篇:对大型分布式系统运维的建议
下一篇:发布工程的基本思想(SRE谷歌)

本版积分规则

本站关键字: ITIL| ITSM| ISO20000| ITIL培训| ITIL认证| ITIL考试| ITSS| ITSS培训| ITSS认证| IT运维管理| DevOps| DevOps培训| DevOps认证| itop| itil4| sre| 开源ITSM软件

QQ|小黑屋|手机版|Archiver|艾拓先锋网 ( 粤ICP备11099876号-1 )|网站地图

Baidu

GMT+8, 2021-1-22 04:55 , Processed in 0.158486 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表