腾讯织云:DevOps 流水线应用平台践行之路

1.CMDB
应该放什么,一般放服务器相关的、网络相关的、应用相关的这三个维度的相关信息。

腾讯织云的持续部署实践

要满足企业的长期发展,仅靠堆砌运维工具是不够的,必须体系化的、全局的考虑标准化、配置化、自动化、智能化的一体化运维管理系统。下图是腾讯运维平台——织云的功能规划,我们以此管理着腾讯社交网络海量的服务。

图片 1

在运维的过程中,我们要面对很多复杂的运维对象,结合可运维性与非功能规范的要求可以很好的防止业务架构失控,但倘若要更好的管理这些运维对象,我们必须要做好配置管理。
织云平台实践中,我们将标准化的运维对象配置化,以下图为例,每个微服务集群在织云CMDB中被定义成不同的模块名。模块可被划分为两大类配置属性:基础配置与应用配置。

图片 2

基础配置中的资产配置,可被用做资产核算、预算规划等;硬件配置可被用于虚拟化和机型规划等方面;分布信息会记录设备的上联交换机与IDC等信息,在优化机房穿越、网络设备故障的智能分析场景,可以提供很好的数据支持。

应用配置中的资源配置,可对接镜像仓库或制品库,实现与发布/变更相关的运维对象关联,为自动化提供支撑数据;流程配置将工具或接口通过自定义编排实现操作流或工具链,让运维的工具收敛复用;变更记录提供了运维操作审计与联动监控数据的配置信息。

我们将运维日常关联生产环境的操作提炼如图:对资源的传输与执行。

图片 3

从统一规划、标准化、配置化、自动化到联动监控,用持续部署的流水线工具串行起来,我们将得到一个体系化的运维能力模型,基于此模型,运维团队能够全局规划持续部署的能力与工具系统。

图片 4

通过工具编排功能,自定义运维操作流程、工单审批流程、服务请求流程。并与CMDB的业务、负责人、状态等数据接口联动,解决运维操作与配置数据状态的协同的难题,实现从ITIL离线流程到线上自动化流程的技术升级。

图片 5

以织云的自动化扩容流程为例,将原子运维工具或系统接口以运维的最优操作流程组织起来,自动化的完成扩容操作,并且保证每个步骤都会被严格执行到位,不会受个人的经验深浅或文档的新旧影响。从而解决运维团队“文档即过期,离职即消失”的难题。

图片 6

基于统一规划的运维体系,不仅能提升运维效率,同时对服务质量的保障也能有很多好处。如下案例是进程自愈的场景,结合CMDB的业务属性,通过自动化的流程完成配置注册,从而实现进程监控的自愈。

图片 7

 

作者:梁定安,腾讯织云负责人,目前就职于腾讯社交网络运营部,任运维技术总监,开放运维联盟委员,腾讯云布道师,腾讯课堂运维讲师,EXIN
DevOps Master讲师,凤凰项目沙盘教练,复旦大学客座讲师。

价值来源于用户的需求,而不是自己的YY,我们的价值来源于用户。

图片 8

 

腾讯的DevOps实践

在DevOps的理念中,企业的IT价值链流转的速度越快,意味着企业的互联网产品的交付能力越强,这也意味着企业在同行业的竞争中,凭借IT能力的优势,能够收获更大的竞争优势。

图片 9

腾讯公司诞生于互联网行业,以海量用户规模和设备规模著称社交网络业务,其DevOps的技术实践,主要由四大平台系统组成。

图片 10

四个系统共同组成DevOps流水线,腾讯的海量业务使用这套流水线系统可以轻松完成从需求设计、代码管理、开发测试、发布&运维的各阶段工作。

图片 11

TAPD支持敏捷项目管理,实现产品需求与开发分支关联;TGit支持代码管理,通过webhook钩子触发持续集成系统的能力;CIS负责自动化完成编译、测试等任务,以输出制品库:软件包或docker镜像;织云对接CIS获取制品,以自动化的方式完成业务的发布/变更任务。

图片 12

 

结束语

在腾讯多年的海量运营经验中,DevOps是贯穿整个应用软件生命周期的,发布完成并非终点,我们要全局思考、统一规划,为业务的健康发展打造一个标准有序的业务架构,和为业务提供一套完整体系化的运维解决方案。

图片 13

PS:现场 PPT
干货请移步腾讯云技术社区查看及下载哦!

 

欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~

如果你的企业发展非常快速,你的规模性效应已经来了,你的运维系统一定要具备很高效率,快速扩容、快速部署这个效率我们要追求极致。

导语:8月23日,腾讯
云+未来峰会在北京盛大开幕。在开发者专场,腾讯织云负责人梁定安为大家解读了腾讯DevOps流水线的系统组成,以及如何在平台的实践中实现持续部署能力,帮助企业创造更大的价值。

第三阶段:用户对运维体感很少,但是运维这个领域是不变的。最重要的是人机交互变少了,无屏虽说是不可能的,非常极端,但是个趋势,少量的人机交互,它有自决策、自驱动。

前言

国家的“互联网+”战略开启了一个企业业务与互联网相结合的新业务形态,有越来越多的企业将自己的业务以互联网为媒介对外输出。任何一款互联网产品都会经历从产品的规划与设计、开发的功能实现、测试的度量验收、运维的发布交付,也是常常被成为企业的IT价值链的全流程,将产品输出个最终的用户,以产生商业价值。

 

应用架构的可运维性

对于互联网产品而言,发布仅仅只是开始,在持续为用户输出价值的运营过程,由运维团队和系统来保障服务的稳定可靠。以腾讯的应用架构实践案例,我们来看下腾讯业务对可运维性的定义
DevOps持续交付的八大原则对可运维性给出了这样的定义,在企业中研发和运维体系必然需要相互配合,开发团队负责功能性需求实现的同时,在架构和编码上注重非功能性需求的实现,测试团队与运维团队将围绕着各自职能的需求,规划与建设DevOps流水线中对应的工具系统,加速企业IT价值链的流转,以为企业创造更大的商业价值。

图片 14

有了持续交付方法论的支撑,我们认为要实现可运维性的过程可分为4个阶段:统一架构、运维规范、标准操作、运维自动化。

图片 15

将互联网的业务架构抽象成为三层:接入层、逻辑层、数据层。

图片 16

并在业务架构的技术选型与规划时,遵循四个原则:框架化、组件化、无状态、分布式。

图片 17

框架化的引入,可以有效的降低开发的工作量,通过有限的编码即可实现快速业务功能需求。如下图所述,对于常见的socket通讯型的C/S架构,由框架实现了网络的通讯,业务逻辑由动态库的方式加载到框架中,快速拼装出满足业务功能需求的软件程序。得益于框架的支持,可运维性诉求的非功能性的规范亦可被纳入框架中实现,如数据上报、统一日志、管理工具等。

图片 18

组件可以将共性的服务统一化,如腾讯内部大量应用的软件路由服务,帮助业务轻松实现负载均衡、名字服务、容错、过载保护、流量调度的功能特性。除了为业务解决了路由的难题,也使日常的运维管理变得更加简单高效。

图片 19

通过对可运维性的思考,在统一规划与标准化的持续推进实践中,保障了腾讯的业务架构有序的发展,架构的演变从千人千面进化成千人一面。结合框架与组件的非功能规范的落地实现,将运维保障业务质量与效率的规划落实。

图片 20

3.部署起来以后这个业务是不是正确的,大家一定要做一个
HealthCheck,不是运维做,是PE做,一定要把这个要求说出来,执行
HealthCheck 这个脚本。

相关阅读

腾讯云 GAME-TECH
沙龙干货回顾:与腾讯云携手出海
物理计算云服务需求强烈,腾讯云将推多款黑石新品抢占市场
运维的难题 : 800 万用户,救 or
不救?


此文已由作者授权腾讯云技术社区发布,转载请注明文章出处
原文链接:https://www.qcloud.com/community/article/921658

 

第一:运维标准与规范

运维的三个阶段

 

 

图片 21

1.对包的文件的分发,阿里有一个叫蜻蜓的产品,是做了 SP2P,在 P2P
的基础上加了一个 Super。

 

图片 22

 

 

 

弹性伸缩是我们的决策中心。它决定你的资源往哪个地方流,非常关键。

PS:持续部署的几个痛点。

图片 23

导读:阿里巴巴DevOps转型之后,运维平台是如何建设的?阿里巴巴高级技术专家陈喻结合运维自身的理解,业务场景的分析和业界方法论的一些思考,得出来一些最佳实践分享给大家。

研发定义运维(DDO),研发最贴近业务,最应该清楚这个业务应该具备什么样的能力,只有研发才知道这个业务KPS是多少。

 

 

 

图片 24

自动化运维基础

我们一定要具备快速的交付能力,主要体现这两个方面:第一,新开发的能力能不能快速上线,第二,想扩容一台机器能不能快速扩出来。这两个能力抽象出来是三块。

 

2.经常有人会说 CMDB
不准,数据不准是因为没有把数据生产和数据消费形成闭环,如果形成了闭环数据不准,那是因为你不用这个数据,所以不准。

 

 

运维工具与方法论

图片 25

敏捷交付价值

为什么是研发定义运维?

图片 26

 

 

在做同城容灾演练的时候,我把关一切,结果发现运维系统挂了,救命的东西没有了怎么办?所以说运维系统一定要是高可用,不一定是高并发。

实施效果

 

OODA 环,就是形成闭环,让价值快速流动。

 

配置就是把目标改变一下,你跟我说一个运维场景,我可以在这个图里面 run
起来,配置只需要改你的目标状态,比如把你的状态10VM 变成15个VM。

研发定义运维,配置驱动变更

 

第三块,数据化运营

应用运维平台ATOM

第四:高效的CI/CD/CD

第二阶段:白屏,自动化运维,以前把脚本做成工具去弄,有什么特征,人push机器去干活,自助运维。

这个是做运维最基本的一个
sense,你做的任何操作是不是可控的。如果真正做可回滚,其实事情没有这么复杂。

为什么是配置驱动变更?

精益发现价值

图片 27

图片 28

 

比如故障搞完以后就是一堆的流程,非常阻碍效率,是质量控制的一个工具。流程不是不要,是把流程做到系统里面去,让系统帮人做决策,而不是人在那里点。

 

 

3.可回滚

 

批量腾挪工具

 

 

第二:泛监控,运行时,静态,数据化,可视化

 

第三:CMDB

运维系统的重要特性

 

弹性伸缩架构,这个平台不一定很多企业都需要,这里主要介绍在双11的时候是怎么用的。

幂等性是分布式系统设计中十分重要的概念,这个也非常重要。

 

弹性一般有水平伸缩、垂直伸缩,对线上做管理,当然我们有额度,这是比较精细化的管理。弹性有观察者模式还有自动化执行,每次弹性完以后有一个控制台,双11做全年压测的时候一般情况下不看这个。

 

精益对我最大的感触就是要发现价值。精益思想,什么东西是有价值的,能够对用户带来物质上的或者身体上的愉悦的东西就是有价值的。

 

泛监控,不是说传统的监控,是把线上想知道的一切都数据化,最终数据不是给人看的,是给机器去消费的,数据是我们的生产资料,不是可视化,那不是我们的目标。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website