热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

详解中大型组织DevOps成熟度模型

导读DevOps转型是一件颇有挑战性的工作。它并不是一个简单的工具或者平台的使用、运维能力提升。特别是在中大型组织中,它涉及到一系列的组织问题。DevOps转型是一件颇有挑战性的工
导读 DevOps 转型是一件颇有挑战性的工作。它并不是一个简单的工具或者平台的使用、运维能力提升。特别是在中大型组织中,它涉及到一系列的组织问题。

详解中大型组织DevOps成熟度模型
DevOps 转型是一件颇有挑战性的工作。它并不是一个简单的工具或者平台的使用、运维能力提升。特别是在中大型组织中,它涉及到一系列的组织问题。

而传统的 DevOps 成熟度模型过于撕裂与分散,无法适用于大型组织。DevOps 厂商与云厂商的 DevOps 成熟度模型过于关注如何卖云基础设施,无助于企业进行高效的协作。

为此,我决定在 Ledge 的基础上,设计上开源的、面向大型组织的 DevOps 能力成熟度模型。它是基于我们所提炼的一系列研发效能模型,抽象而成的成熟度模型。

在设计与划分时,我们考虑的维度有两个:

规模化。对于中大型组织而言, DevOps 模型在设计时,要关注于流程化/标准化、工具化/平台化四个规模化因素。即选取合适的试点团队,构建组织的 DevOps 能力,再进行规模化推广。
组织协作性。在中大型组织内原先已经有一系列的 DevOps 相关的工具/平台,如看板、流水线等。这些工具/平台需要进行调整,以确保更好的协调性,从而更快的响应业务变化。
所以,在这个规模化的 DevOps 设计与实施,我们总结出了 DevOps 的四大核心能力,又称为四大基石。
详解中大型组织DevOps成熟度模型
DevOps Radar

其中,高效协同是四大基石中最重要的一部分,DevOps 的本质所在。

高效协同。协同指的是人与人之前的协同,即业务与技术、技术与技术、技术与测试、测试与运维等。在标准化上,我们关注于:协作设计,从流程上尽可能减少浪费;组织/团队治理,优化团队与组织结构。在平台上,我们关注于:需求管理,保障需求过程的概念完整性传递,如分析、拆分、协作;指标化改进;即将协同平台作为度量指标的展示平台,用于持续性的改进,诸如于技术技术债等。

持续交付。持续交付是指能够按需快速、安全且可持续地发布各种类型的更改。在标准化上,我们关注于:服务化架构,即实现类似于微服务架构、服务导向架构的架构化方式,实现技术架构能快速响应业务变化;版本管理,即从源码源头开始对版本进行标准化,通过分支管理、语义化版本等方式实现。在工具上,我们关注于:灵活变更,即通过平台管理变更与制品;持续部署,则是与变更相关关联的持续集成与部署。

质量保障。质量保障是指为最终用户提供高质量的软件产品。在标准化上,我们关注于:测试策略,即结对质量左移设计测试生命周期,设计测试分层模型进行指标化引导 ;测试方式,定义自动化测试、手动测试的类型、时机、准出标准等。在平台化上,我们关注于:测试管理,诸如于用例管理与设计、测试数据管理;质量安全,则是针对于代码、环境等进行自动化质量与安全相关的扫描。

环境支撑。环境支撑是指用于支撑体系所需要的基础设施与运维体系。在标准化上,我们关注于:配置管理,即将基础设施代码化后,进行相应的基线配置管理、应用配置等;资源管理,即对环境的管理,以及各环节所需要的资源和环境进行管理。在平台上,我们关注于:部署管理,即对于发布环境的管理,以及诸如灰度发布等高级部署方式的管理;运维自动化,在运维上进行自动化的监控和警告,并支持更好的弹性发布,诸如于高可用性等。

在规划完 DevOps 子域之后,我们可以根据组织的规模,细分子域以及对应的详细项。如在协作设计上,可以进一步地对过程协作与角色协作进行设计。如下图所示:
详解中大型组织DevOps成熟度模型
大型组织 DevOps 模型

考虑到这是一个成熟度模型,所以我们还需要定义成熟度的级别。通常来说,一个成熟度模型应该是从 1~5,又或者是 0~4 四个级别。

对于规模化的组织来说,我们只需要 4 个级别,即只存在 2~5 个级别。从流程标准化和平台化,我们已经消灭级别 1 的存在,它们都是不合规的。与此同时,从标准化和平台化的层面来看,事实上,我们也不存在级别 5,因为它们过于灵活和超前。

所以,它只需要三级模型:

Level 2,规范化。从原始需求的产生到需求的上线,全部遵循组织内定义的规模标准。需求协作的过程透明化,流程明确,流转自动化;持续交付上,采用组织所定义的实践,如语义化版本,制品来源与产出可信等;在质量上,采用依据组织定义的模型设计测试策略等;在环境上,平台能支撑起规范化所需要的设计。

Level 3,平台标准化与自动化。将规范化的内容,逐一在平台上进行标准化,即定义多种技术实践,只能从中二选一,或者三选一。四大基石,都通过这一系列标准来进行自动化。唯一值得商榷的一点是持续交付上,我们需要一个松耦合的架构,才能支撑起单个团队的快速交付,诸如于微服务架构、插件化架构等。

Level 4,指标驱动与自动改进。建立一系列的度量模型,对于软件开发过程进行全面的度量。与此同时,团队与平台根据这些定义的对系统和平台进行优化。如在环境支撑上,对于应用状态的实时监控,实现自动化弹性。

对于第 5 级来说,视不同的组织情况,略有不同。如我们所定义的是:

Level 5,云研发架构。构建基于云端开发时的基础设施架构,诸如于云研发架构、Serverless、Typeflow、Darklang 等,实现基础设施的自动化与架构的高度解耦。在质量上,对运行时监控,实现自动化测试编写,对代码进行静态分析,实现精益测试;在协同上,通过构建领域特定语言,实现需求生成代码骨架;在环境上,自动实现灰度发布等特性。


推荐阅读
  • docker 多物理机容器_Docker(1) 什么是 Docker
    ​1|0学习Docker前的必备知识1|1环境配置的烦恼软件开发最大的麻烦事之一,就是环境配置相信每位编程初学者都会在环境配置上倒腾很久,而作为老师也会 ... [详细]
  • 阿里巴巴DevOps实践指南 | 云端开发
    开发者工具打造围绕开发者全生命周期的工具产品https:developer.aliyun.comtool?spma1z389.11499242.0.0.654524137BG3J ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • Jquery 跨域问题
    为什么80%的码农都做不了架构师?JQuery1.2后getJSON方法支持跨域读取json数据,原理是利用一个叫做jsonp的概念。当然 ... [详细]
  • DockerDataCenter系列(四)-离线安装UCP和DTR,Go语言社区,Golang程序员人脉社 ... [详细]
  • TiDB | TiDB在5A级物流企业核心系统的应用与实践
    TiDB在5A级物流企业核心系统的应用与实践前言一、业务背景科捷物流概况神州金库简介二、现状与挑战神州金库现有技术体系业务挑战应对方案三、TiDB解决方案测试迁移收益问题四、说在最 ... [详细]
  • 提供:ZStack云计算原创2016-12-26张鑫讲师介绍张鑫ZStack总架构师、联合创始人《系统虚拟化》主要作者,曾任职Intel开源软件技术中心 ... [详细]
  • 开发笔记:DevOps Gitlab环境部署
    本文由编程笔记#小编为大家整理,主要介绍了DevOpsGitlab环境部署相关的知识,希望对你有一定的参考价值。DevOps介绍 ... [详细]
  • 【限时免费】       架构和运维技术高峰论坛·成都站来啦~~     报名请点击左下角 阅读原文运维和架构系列论坛,由IT趣学社主办,以目前最火热的运维技术体系为核心,邀请业界 ... [详细]
  • 智慧城市背景下Python机器学习项目实战案例分享
    首先,何为智慧城市?智慧城市的“智慧”源自何处?智慧城市的特征在于运用大数据和数字技术提高居民生活质量。机构获得的数据越全面、越实时,它们就越有能力观测事件发生的详情、分析需求模 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • GAMETECH腾讯云游戏行业技术沙龙成都站圆满落幕
    11月13日,由腾讯云主办、游戏茶馆协办的2020年首场GAME-TECH腾讯云游戏行业技术沙龙在成都圆满落幕。本次沙龙邀请了腾讯云游戏行业解决方案总监宋永周、腾讯云游戏行业高级解决方案架构师曾梓恩、腾讯云游戏行业高级产品架构师郑晓曦、腾讯云游戏行业高级解决方案架构师温球良和天美L1(王者荣耀)服务器技术副总监杨光,为参会同行们带来了干货满满的技术建议。本文介绍了腾讯云游戏云的优势和为不同游戏研运场景提供的服务。腾讯云在中国游戏云服务市场领跑,成为众多游戏开发者的合作伙伴。 ... [详细]
  • BPM是什么软件?1、BPM是BusinessProcessManagement的简称,译为业务流程管理,它是一种以规范化的构造端到端的卓越业务流程为中心以持续的提高组织业务绩效为 ... [详细]
  • 智慧博物馆信息系统建设方案
    3.信息化系统建设3.1博物馆RFID藏品管理系统3.1.1系统概述博物馆藏品保管是一项十分复杂又繁琐的工作。从事保管工作除了经常、及时地进行藏品的登记、分类、编目、保养和修 ... [详细]
author-avatar
xao
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有