对话 15 年技术老兵我是如何填平 DevOps 的深坑

责任编辑NO。邓安翔0215 2019-09-05 18:25:54  阅读:6565

作者丨田晓旭

DevOps 建造好像已经成为了企业共同,可是何时建造、怎么建造仍然是企业关怀和头疼的问题。企业的技能、人才、事务到达何种程度才适宜建造 DevOps?建造进程中,从哪里先下手,又应该怎么处理安排架构、原有技能栈与 DevOps 之间的对立?是否有 DevOps 建造的参阅架构?建造完结之后,DevOps 的下一步该怎么展开?…为了回答以上问题,咱们采访了 15 年的技能老兵、现任华为云 DevCloud 首席处理计划架构师王金伦。他将在 QCon 全球软件大会(上海站)2019 共享题为《DevOps 转型中工程功率进步》的论题。

DevOps,是 Development 和 Operations 的组合词,是指一组进程、办法与体系的总称,用于促进开发、技能运营和质量保证部分之间的交流、协作与整合。据我国信通院(CAICT)发布的《我国 DevOps 现状调查报告(2019 年)》闪现:“超对折企业运用 DevOps 的灵敏工程实践办理开发项目,近 6 成企业挑选编码规范、单元测验和继续集成。”这说明,DevOps 已经成为企业软件研制的干流,被许多企业所选用。

尽管企业都期望能够经过 DevOps 取得更多的价值,并有志愿活跃测验,可是 DevOps 的成功实践仍然是个难题。据《我国 DevOps 现状调查报告(2019 年)》的调查成果闪现:“实践能够真实成功施行 DevOps 的企业仅有 31.65%,别的,还有挨近四成(41.13%)的企业竟然不清楚自己是否成功施行 DevOps。”

这个成果尽管在意料之外,但也在情理之中,究竟 DevOps 实践之路,成功的办法许多,可是失利的办法更多。本文将聚集 DevOps 建造进程中的对立、难点,让咱们的 DevOps 建造之路愈加顺利。

DevOps 中的对立与抵触

任何新事物的呈现和推广,必定时间伴跟着对立与抵触,DevOps 也不破例。DevOps 甫一呈现,许多人就开端忧虑:“传统运维将被 DevOps 干掉?”没错,DevOps 的第一个对立抵触很快就闪现了,那便是传统运维和 DevOps 之间的对立,有人以为这两者之间是水火不相容,那实践状况是怎么呢?

针对传统运维和 DevOps,王金伦是这样了解的:“从本质上来讲,运维(Operations)是归纳运用人员、流程与工具渠道等对 IT 基础设施和运用体系进行办理,将渠道与体系服务的价值依照必定的 SLA 继续地供给给内部或许外部客户。跟着企业事务方针、IT 基础设施、运用体系、运维理念、运维办法、运维工具渠道的不断展开,运维会在不同的阶段或许从不同视点呈现必定的展开特征。”

“传统运维和主动化运维能够简略了解为业界在不同阶段或许从不同视点为运维打上的特征标签,它们各自具有不同的特征,例如传统运维一般具有被迫、规范化低、主动化低一级特征;主动化运维一般具有主动、规范化程度高、主动化程度高级特征。”

企业施行 DevOps 的适宜节点

在许多人的印象中 DevOps 是一种先进的办法结构,运用 DevOps 能够给企业带来无限的优点,但事实是咱们看到许多企业的 DevOps 实践并不成功,也有许多开发者诉苦 DevOps 便是个“担负”。之所以会呈现这种状况,绝大部分的原因都是企业底子没有做好实践 DevOps 的预备。那么,想要建造 DevOps 的企业应该具有哪些特质呢?

“理论上来讲,无论是大型企业仍是中小型企业,无论是敏态仍是稳态事务体系均能够选用 DevOps 相关的办法与实践。”王金伦表明 ,“企业在展开 DevOps 转型或许革新时,主张从事务灵敏性要求高的产品(例如企业面向终端用户供给的根据互联网的事务)下手,能够愈加充沛地表现 DevOps 的才能。当然 DevOps 的有用落地离不开人员技能、流程以及工具链渠道的支撑,一起又与体系架构(例如微服务架构等)、体系依靠基础设施(例如云核算等)休戚相关。因而企业应该在 DevOps 办法、微服务架构、云原生架构、云核算、主动化测验、继续集成、继续交给、灰度发布等技能上进行储藏。当然企业最好不要期望运动式一夜之间完结这些储藏,而应该参阅 DevOps 施行结构,在软件交给的进程中逐步进行技能储藏,自然而然地落地 DevOps 办法与实践。”

DevOps 实践与企业安排架构

在企业 DevOps 的建造进程中,安排架构的调整和职工责任的改变是一直存在的,尤其是 Dev 和 Ops 相关人物之间的改变。 DevOps Topologies 从前提出了 9 种有用的 DevOps 团队结构:

模型 1:Dev 与 Ops 无缝协作,适用于具有强技能领导力的安排。

模型 2:彻底共担 Ops 责任,适用于具有单一的首要 web 产品或许服务的安排。

模型 3:Ops 即 IaaS(渠道),适用于具有几个不同的产品或服务、一个传统的 Ops 部分或许运用悉数运行在公有云上的安排。

模型 4:DevOps 作为外部服务,适用于运维经历不足的小型安排。

模型 5:设定有用期的 DevOps 组,是模型 1 的前身。

模型 6:DevOps 布道师组,适用于 Dev 与 Ops 有疏远趋势的安排。

模型 7:SRE 组(Google 模型),适应于用于高水平的工程师和成熟度的企业。

模型 8:容器驱动协作,适应于容器能够很好地发挥作用的安排。

模型 9:Dev 和 DBA 协作,适应于具有多个运用链接一个或许多个大型、中心式数据库的安排。

以上 9 个仅仅比较常见的 DevOps 团队的安排架构,但世界上没有完美的 DevOps 安排结构,王金伦主张:“安排结构的调整应该从安排的产品组合、技能领导力、团队人员技能水平、运作本钱等视点进行归纳考虑。主张企业尽可能环绕价值流树立跨功用自治团队,完结价值的继续交给,并跟着 DevOps 实践成熟度的进步,继续地调整安排结构。”

当企业向 DevOps 转型时,企业中各部分人员的作业内容是否会跟跟着发作改变呢?王金伦表明:“企业实践 DevOps,并不会使得事务、需求、开发、架构、开发、测验、布置、运维等人员的中心作业内容发作太大的改变,不过作业办法可能会有所改变,例如事务人员应该有灵敏的思想,而不再是遵循传统的事务办法;运维人员应该更好地与开发人员协作,将运维需求归入到产品待办事项中等等。”

DevOps 与云渠道

无论是根据云渠道仍是 IDC,又或许是 OpenShift,都能够建立出的一套完好的 DevOps 环境,所以 DevOps 与云渠道之间并不是充沛必要的联络,两边互有联络,又互相独立。那么,企业怎么判别是否要在云渠道中布置实践 DevOps 呢?

王金伦表明:“企业运维渠道的布置办法(On Premises 或 Public Cloud)取决于企业的事务体系的布置办法(私有云、混合云或公有云)。在事务体系悉数布置在公有云的状况下,运维渠道主张布置在公有云上。在事务体系运行在私有云或许混合云场景下,运维渠道的布置办法主张选用 On Premises 办法。”

假如本来是 On Premises 布置的运维渠道现在想要上云,那么首要需求考虑数据安全性、运维通道速度等问题。上云之后,关于企业的安排架构与职工来讲,改变较小,不过需求了解公有云厂商的运维产品特性才能等。

DevOps 的完好途径及技能选型

尽管每家企业都有各自的实践状况,无法照搬其它人的 DevOps 实践,可是咱们能够有一个较为规范、完好的 DevOps 参阅架构。

在王金伦看来,一个完好的抱负的 DevOps 渠道应该能够满意事务、需求、架构、开发、测验、布置、运维等人物在其上自主的完结相关作业,“DevOps 渠道应该供给项目办理、原型规划、源代码版别办理、代码质量剖析、继续交给流水线、编译构建、测验办理、UI 主动化测验、接口测验、功能测验、移动 App 测验、布置、发布、运维、Web IDE、文档办理、Wiki 百科、开源镜像站等功用特性。”

从理论及实践上来讲,运用业界开源工具(例如 Redmine、GitLab、Jenkins 等)打造根本可用的 DevOps 渠道,并不是一件特别困难的作业。可是想要做好 DevOps 渠道的技能选型并不是一件易事,由于据 XebiaLabs 核算,DevOps 相关工具有 15 类,120 种之多,品种繁复的一起,企业还要考虑可靠性、可用性、功能、安全、集成、继续晋级、异构技能栈等问题。

王金伦以继续交给流水线、代码质量和移动 App 为例,具体介绍了怎么做技能选型。

关于 DevOps 渠道来讲,继续交给流水线是最为要害中心的。现在 Gitlab、Jenkins、阿里云效、华为云 DevCloud 都能够供给相关特性。关于流水线来讲,首要才能在于可视化使命编列才能(分层、并行 / 串行、人工介入、门禁等)、大规模并行调度才能等。假如企业运用开源软件,特别要重视关于大规模并行调度的支撑才能。

关于软件交给来讲,开发者十分重视代码质量。现在不少企业运用 SonarQube、Findbugs、Checkstyle、Infer 等工具进行代码质量的查看,可是他们都不得不面对不同工具之间的类似规矩怎么归一、多个工具的查看成果怎么共同等应战。一起运用人工智能 AI 进行代码质量剖析以及主动修正已经成为一种趋势,开源工具是否能够及时跟进以及跟进的质量怎么,也是企业需求重视的。

移动 App 根本上成为各个企业对外服务体系的标配。怎么兼容不同类型的移动终端,成为开发者极为头疼的问题。尽管移动终端供给了模拟器或许仿真器,可是真机兼容性测验仍然是不可或缺的一环。关于此种场景下,自建移动 App 测验渠道并收购类型许多的移动终端简直关于一切企业来讲都是很大的本钱担负,企业能够考虑相关厂商供给的移动 App 兼容性测验服务。

DevOps 实践的留意点

企业 DevOps 渠道建造说起来简单,做起来难!王金伦以为在实践 DevOps 的进程中,企业应该特别重视以下三点:

首要,需求留意的便是安排架构、文明与行为等与 DevOps 契合度方面的问题。DevOps 交融灵敏、精益、自治团队、分布式决议计划等理念,企业应经过顶层规划、实践社区(CoP)、安排革新等办法树立与 DevOps 相匹配的安排与文明。咱们一般说 DevOps 革新是“一把手”工程,很大程度上便是安排与文明的革新有必要高层推进,不然 DevOps 也就只能停留在朴实的工具、工程办法等皮毛上,难以走得远,给企业带来可观的价值。

其次,企业会面对工程办法方面的应战。现在 DevOps 并没有一以贯之的规范或许常识体系,因而企业应体系化地了解灵敏与 DevOps,并构成共同认可的适宜本企业的 DevOps 施行结构,这样才会更有用地进步才能。

在咱们触摸的许多软件企业中,他们并没有体系化的把握 Scrum 办法,对 Backlog、EPIC/Feature/Story、Scrum 会议等都缺少根本了解,因而,在进行灵敏项目办理时就遇到了很大的困难,更遑论 DevOps 整个体系了。华为云 DevCloud 推出的 HE2E 作业坊,根据 HE2E DevOps 施行结构与事例项目,以训战结合的办法,能够协助企业更体系化地了解 DevOps。

最终企业将面对的问题是怎么打造端到端的一站式 DevOps 工具渠道。企业能够从 2+1(项目办理 + 源代码版别办理、继续交给流水线)才能来进行 DevOps 渠道的打造。咱们主张企业尽可能运用业界干流商业渠道,在这些渠道的确无法满意自己的中心需求的时分,再寻求自行建立这条困难的路。

AIOps 是 DevOps 的下一步吗?

DevOps 诞生于 2009 年项目经理兼灵敏实践者 Patrick Debois 掌管的比利时会议,现在已有许多的企业在实践运用,凭借 DevOps,主动化程度得到进步,测验变得愈加简单,布置速度更快。而智能化运维(AIOps)是在主动化的基础上,杰出着重将人工智能等技能运用到运维的相关环节(例如根因剖析、猜测、毛病康复等),进一步进步运维的功率和效能。

那么 AIOps 会是 DevOps 的下一步吗?对此,王金伦以为:“从理论以及业界实践上来讲,AI 将成为 Ops 或许 DevOps 才能进步的重要技能途径。因而,AIOps 是将 AI 与 DevOps 中的 Ops 相结合,期望使用 AI 才能来处理 Ops 方面的一些难题。AIOps 或许智能化运维应该是运维的一个重要演进方向,未来,企业级端到端的 AIOps 处理计划会成为一个重要趋势。”

现在 AIOps 首要运用的场景包含反常检测、猜测剖析、优化剖析、根因剖析、智能主动运维等。任何作业都是机会与应战并存,相同,AIOps 也面对着许多应战,王金伦以为其间最大的应战是大规模的有质量的数据、经过训练的有用的模型、失利的本钱等问题。

除此之外,运维范畴还呈现了许多其它新技能,它们能够协助进步运维功率与效能。例如使用机器学习、大数据剖析等技能进步根因剖析、毛病猜测、主动修正等运维才能;经过 Service Mesh、微服务等技能对运维渠道架构进行重构,为 DevOps 环节供给反应服务才能等;选用混沌工程等办法,一方面查验出产体系的突发事件应对才能,另一方面也能够查验运维渠道应对进程供给的价值等等。

嘉宾介绍

王金伦,于 2003 年清华大学核算机系结业,具有 15 年软件架构规划及开发办理经历,具有 PMP、ITIL、COBIT 等认证,具有 EXIN DevOps Professional、SAFe 认证授权训练资历。先后在明华证、我国移动等公司担任总架构师作业,主导过互联网基金买卖渠道、基金出资买卖办理体系、我国移动周游清算体系、测验云渠道等大型渠道体系的架构规划与研制作业。现任华为云 DevCloud 首席处理计划架构师,首要从事研制办法咨询、DevOps 处理计划、安全架构与计划、微服务架构等作业,了解业界干流的云核算与大数据渠道,通晓 DevOps 理念与相关工具链。

在即将到来的 QCon 上海 2019 中,王金伦教师将带你全方位了解云原生布景下 DevOps 转型的经历与实践,与本身转型相对照,找到共鸣点,进步转型的决心与功率,敬请重视。

“如果发现本网站发布的资讯影响到您的版权,可以联系本站!同时欢迎来本站投稿!

更多活动+热门活动

精彩点评