DevOps体系建设思路(一)

最近终于摆脱了项目的束缚,不用再面对强势的甲方,不用在团队之间来回奔波,而是可以专下心来和团队一起转向公司内部的研发支持体系建设工作。在此对最近的工作做一个梳理。

最近做了这几个事:

  1. 读了几本关于devops相关的书
  2. 和公司内部所有项目面对面聊了一下
  3. 调研学习了一下业界的做法
持续交付定义-引自《持续交付2.0》

对于Devops来说,业界其实并没有一个具体的定义,最初的定义是development + operation,也就是涵盖了开发、测试、运维三个角色。而实际上往往我们说devops,都会不自觉加上需求这一部分。我理解是造成这个现象的原因是devops传了这么多年,我们总觉得它应该无所不能。最深的印象就是我在公司内部的手册中,发现产品部门制定的流程里,把编码+构建+测试定义为devops,在领导的规划里,又认为devops可以涵盖整个公司的所有研发支持系统。觉得做了devops就能解决所有的问题。

最近读完《持续交付2.0》,我也才对持续集成、敏捷、devops、持续交付有了一个稍微清晰的概念:

  • 持续集成:涵盖从编码、构建、测试,自身可以作为一个闭环。开发人员完成代码后提交代码管理系统,由自动构建工具拉取代码,编译构建,完成测试环境部署,测试人员在环境上测试后反馈开发人员问题和缺陷。
  • 敏捷:涵盖产品、开发、测试。产品负责需求的引入,开发人员根据需求获取到任务后进行持续集成。产品需要进行验收测试。
  • Devops:持续集成完成后,需要通过自动部署工具,部署到生产环境中,可以是自动的,也可以是手工的。具体的部署策略包括灰度、蓝绿等,根据实际情况选择。
  • 持续交付:在产品部署到生产环境后,需要有相应的运维工具提供系统的相应指标的检测,通过运营数据,将信息收集反馈给产品经理,进入下一次迭代。在《持续交付2.0》中,区分了产品和业务两个角色。也就是提出了业务也需要共同参与,形成闭环的模式。但是从技术角度上来看,认为可以归结到需求。

所谓研发支持体系,我理解上最终的目标应该是能提供所有相关角色相关服务的平台系统。根据公司内部的体系,主要考虑几个阶段:

  1. 需求管理:提供需求的构想,分解,设计(也包括交互设计、API接口设计、数据库表结构设计)等;
  2. 任务管理:提供根据需求拆分的任务的管理和追踪,此处会涉及到研发模式,通常为敏捷,也需要支持瀑布;
  3. 代码管理:提供代码仓库,能进行分支管理,代码评审,代码合并,并提供代码的规范扫描和安全扫描能力;
  4. 构建管理:通过和代码仓库的联动,自动或手动进行编译构建,并展示构建结果,构建后的制品需要存放到制定位置(制品仓库);
  5. 测试管理:与需求管理联动,登记手动测试案例,存放自动测试脚本,并能提供自动测试的接口,在完成项目构建后,联动触发自动测试,并展示自动测试的报告;
  6. 自动部署:手动触发的方式启动,将制品从仓库中取出,部署到对应的生产环境中去;
  7. 运维运营监控:提供系统监控、应用监控、业务监控等多维度监控,为下一阶段的需求提供数据依据,并为一线和二线运维人员提供工具平台保证应用的正常运行。
  8. 支持系统:为了提供1-7的能力,我们还需要为每个用户提供SSO或统一认证,使各角色能用一个账号登录所有系统。还需要配套环境的管理系统(配置管理),记录所有研发、测试、生产环境的服务器台账,并配套类似ansible、puppet运维工具,用于实现日常的运维操作和环境配置。配套邮件、短信、消息等通知系统,将流程实时告知关系人。还有针对容器的支持等等就更不用说了。

如此梳理下去,造轮子的代价很高很高……

业界其实就有类似的一站式devops工具平台,最近主要看了腾讯云的CODING
阿里云效TAPD。基本都提供了类似的服务。其实我们基本可以看到相似的思路,比如在这个平台上录入需求,然后进行需求对应任务的拆分,联动代码仓库和持续集成,自动化测试工具,配合阿里云或腾讯云等基础服务,实现一站式管理。这也就意味着,这个平台是阿里和腾讯云生态中的一环。

CODING文档中的流程示意图
阿里云效
TAPD

然后我去问了下本地化部署的报价,emmmm……来让我们看看devops工具这几年的发展吧。

2017年DEVOPS工具体系

到了2018年,出了个元素周期表,现在更新到了V3版本了。

PERIODIC TABLE OF DEVOPS TOOLS

但是笼统来看,基本可以梳理出一套国内比较最常见的工具链体系:
JIRA(任务跟踪),微信/钉钉(消息),Confluence(知识库),GIT(代码仓库,Jenkins(CI),Maven,gradle,npm(依赖、构建),selenium、Junit、Jmeter(测试),Ansible(配置管理),docker(容器),nexus、dockerhub(制品仓库),swam、k8s、rancher(容器调度),prometheus、zabbix(监控)

剩下的工作就是如何梳理出公司的痛点,排定优先级一个个搭建了。搭建完然后把所有联动起来,想想还是挺刺激的嘛。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342