腾讯TAPD是如何做DevOps的?
导读:6月21-23日,2019 GIAC全球互联网架构大会将于深圳举行。GIAC是面向架构师、技术负责人及高端技术从业人员的年度技术架构大会,是中国地区规模最大的技术会议之一。今年GIAC邀请到了众多布道师、明星讲师以及105位来自Google、微软、Oracle、eBay、百度、阿里、腾讯、商汤、图森、字节跳动、新浪、美团点评等公司专家出席。
在大会前夕,高可用架构采访了本届 GIAC DevOps 分论坛讲师周仕林,就目前大家广泛关注的 DevOps 方面的问题进行了访谈。
周仕林,腾讯 TAPD 开放平台资深架构师,目前负责腾讯敏捷研发体系建设,以及Devops解决方案的敏捷实践,致力于企业一站式敏捷开发和Devops转型,在Devops方面有丰富的积累和实践。
您好,我是高可用架构编辑,很高兴采访到您。这次您在 GIAC 分享的议题是《腾讯 TAPD DevOps开放生态探索之路》,大家都很好奇像腾讯这么大的公司,内部是如何实践敏捷以及 DevOps 的,所以我代表高可用架构的读者问一些问题。
高可用架构:有的读者可能对腾讯的 TAPD 不太熟悉,请给大家先介绍一下 TAPD。
周仕林:TAPD全称是腾讯敏捷研发协作平台,提供贯穿敏捷研发生命周期的一站式服务。腾讯从2006年开始推行敏捷开发,形成了系统化的敏捷研发体系并研发了TAPD敏捷协作平台。TAPD解决方案覆盖从产品概念形成、产品规划、需求分析、项目规划和跟踪、质量测试到构建发布、用户反馈跟踪的产品研发全生命周期,提供了灵活的可定制化应用和强大的集成能力,帮助研发团队有效地管理需求、资源、进度和质量,规范和改进产品研发过程,提高研发效率和产品质量。
高可用架构:腾讯内部的 DevOps 工具栈大致是怎么个演化过程?
周仕林:腾讯目前有六大事业群,近三万名产品研发人员,业务覆盖社交、支付、工具、娱乐等众多领域。多样化的业务对于腾讯的技术平台提出了差异化的要求,也形成了腾讯多元化的工具栈。整体来看,腾讯的研发工具栈呈现去中心化的特点,在腾讯内部,我们采用开源协同,共建共享的方式进行协作。关于工具栈的演进过程,我会在本次分享中向大家介绍。
高可用架构:TAPD 在腾讯内部落地如何?是否可以说说有哪些团队在用?使用的版本和对外的是一样的吗?
周仕林:TAPD作为公司统一的研发协作平台,支撑并服务了腾讯六大事业群各业务的开展。像大家熟悉的QQ、微信、王者荣耀等团队,都在使用TAPD进行产品研发管理。TAPD自2017年面向行业提供服务,全面开放了腾讯的敏捷研发理念与产品服务能力。
高可用架构:TAPD 和 Jira 这样的系统,最大的差异是啥?能否用最简单的方式给大家比较下?
周仕林:TAPD在产品能力、解决方案、服务能力等方面都有自身的优势与特色。
在服务腾讯的13年时间中,TAPD支撑了腾讯不同规模团队、不同类型业务的差异化研发模式,形成了系统化的敏捷研发体系,积累了丰富的解决方案和实践经验。2017年TAPD将腾讯研发管理模式和成功的敏捷协作实践能力面向行业开放,推出了适用于通用协作场景的「轻量协作解决方案」,专为产品研发场景打造的「敏捷研发解决方案」,专为研发运维一体化场景打造的「DevOps解决方案」。三大解决方案能够满足产品研发各个场景,并且支持随业务与团队成长无缝升级,赋予企业研发管理灵活性与扩展性。
高可用架构:我看 TAPD 上,需求和缺陷是分开的,而在有的系统上,二者是合并的(比如 github issue,jira),二者本质上有差异吗?分开后,缺陷如何纳入到迭代以及看板中?
周仕林:产品设计的出发点是为了更好地基于业务场景满足用户需求。TAPD提供了独立的需求管理与缺陷管理能力,支持对于需求、缺陷的定制化工作流程管理,同时提供针对业务对象的个性化模板与自定义字段支持,满足不同类型业务对于工作项的精细化管理需要,能够深入支持产品、开发、测试等团队成员的工作开展。
高可用架构:我看介绍,TAPD 支持 DevOps 工作流,支持代码关联,持续集成,自动化测试,以及运维监控。这些功能试用版上没有,所以没能试用。不同的团队的代码仓库,持续集成环境,以及最后的生产环境的运维,可能用了不同的工具以及技术栈,TAPD 是如何整合的?它是通过接口集成已有的工具,还是直接内置提供?比如源码管理。部署环境需要的资源呢?可以是用户自己的服务器吗?生产环境的运维监控是如何实现的?
周仕林:TAPD DevOps解决方案支持标准化工具接入与定制化工具集成。在解决方案建设之初,我们调研了大量企业,了解他们的业务场景与诉求。在企业DevOps自动化建设中,由于各家企业业务本身的差异性,形成了研发技术栈种类多样化的现状。为了更好地支持企业标准化研发工具的接入,TAPD采用了集成思路进行DevOps解决方案建设,既支持行业多数企业所采用的主流研发工具接入,也支持集成企业自研的研发工具平台。以代码管理工具为例,TAPD既支持腾讯代码管理工具工蜂Git,也支持Github、Gitlab等工具能力接入。
高可用架构:最后给大家透漏下您这次在 GIAC 的分享的内容?
周仕林:这次分享主要从四个方面进行介绍,分别是腾讯精益敏捷驱动持续交付、腾讯DevOps探索建设、腾讯敏捷研发平台数据总线解决方案、企业Devops转型建设。腾讯精益敏捷驱动持续交付这块主要介绍敏捷理念、持续交付模型、交付进化实践、以及快速交付用户价值;腾讯Devops探索建设主要介绍建设路径、自动化&工具链整合、质量建设、度量模型、持续反馈;腾讯敏捷研发平台数据总线解决方案主要介绍方案总体以及具体实践方式;企业Devops转型建设介绍企业DevOps转型要素、转型路径、以及TAPD平台如何助力;最后介绍TAPD的三大解决方案,帮助企业提升研发交付效能。
本届GIAC DevOps 专场的精彩议题如下: