阿里云云原生 DevOps - DevOps 核心组成

本文涉及的产品
应用实时监控服务-用户体验监控,每月100OCU免费额度
云原生网关 MSE Higress,422元/月
应用实时监控服务-应用监控,每月50GB免费额度
简介: 阿里云云原生 DevOps - DevOps 核心组成

开发者学习笔记【阿里云云原生助理工程师认证(ACA)课程:阿里云云原生 DevOps - DevOps 核心组成】

课程地址:https://edu.aliyun.com/course/3112075/lesson/19058


阿里云云原生 DevOps - DevOps 核心组成

 

内容介绍:

一、 DevOps 核心组成部分简述

二、 DevOps 组织层面

三、 DevOps 自动化工作流水线

四、 DevOps 企业实践全景视图

 

 

一、DevOps 核心组成部分简述

image.png

1、组织、文化

落实 DevOps 思想,首先要有与之匹配的组织架构,能够把敏捷、精益这种开发的思想传递到组织中的每一个人,包括产品经理、开发、测试、运维在内的每一个人,都需要理解这种文化,并且按照这种文化完成自己的工作。

2、自动化流水线

为企业提供了一个高度自动化的持续集成、持续交付、持续部署的能力。流水线能够自动化的完成软件的打包、集成、测试再到交付、部署全过程。

3、DevOps 工具集

自动化流水线需要有相应的 IT 技术和工具做支撑,团队需要掌握这些工具以简化自己的工作,更好的提升效率。

 

二、DevOps 组织层面

DevOps 强调的组织架构和企业文化理念需要自上而下的设计,首先在顶层需要认可敏捷开发的文化及开发方式,更好的促进开发部门、运维部门和质量保障部门之间的沟通、协作与整合,组织形式是一种顶层的设计,应自上而下的考虑清楚,需要有怎样的团队、角色、具体做怎样的工作。
image.png

DevOps 提出一个团队的规模大概是10-12人,其中包含产品研发、测试、运维等全部角色,控制团队规模的好处有以下几点,一是小团队的工作效率高,团队成员少的好处是当有问题需要解决时,能够很快的找到对应的人,以人为部门主体比以部门为主体效率提高很多;二是小团队更容易形成共同的目标,因为人数不多,想法容易沟通,思想上容易碰撞火花,当想法达成一致时很容易在旧的思想和新的计划中进行取舍,执行和落实的速度快,如创业公司往往早创业初期是产出最大的时期,而发展到一定规模后,由于团队人员越来越多,反而会出现产品交付效率变低,产品创新能力下降的问题。谷歌提出五个 DevOps 原则,一是精简的组织架构,二是愿意承担一部分试错带来的损失,三是分阶段的一小步进行转型,四是最大化的利用工具的最大化流程,五是对所有的过程和结果进行记录和分析。因此得出, DevOps 不是简单的开发软件化,而是企业的学历能力不断提升的结果,将企业改造成敏捷型、学习型的组织,运用新的工具优化组织架构和流程,不断的进行自我革命和创新,具体到每一个企业,组织的设计要根据自身的文化和企业对 DevOps 的理解去构建,并不是某个企业做的很好直接去照搬。

符合 DevOps 里的团队是具有一致性理念,高效沟通,敏捷型,学习型团队,具体是具有统一的思维、目标、技术及工具链,有良好的协作机制和沟通机制,并且具有一定敏捷度,能够快速的响应变化,具备一定软件架构设计的能力,同时要能够不断的快速试错,持续学习和创新。

 

三、DevOps 自动化工作流水线

自动化流水线能够高度自动化持续集成,持续交付和持续部署。
image.png

持续集成覆盖了从开发、构建、集成到测试四个阶段,是指软件个人研发的部分向软件整体进行交付,频繁的进行集成,以便更快的发现其中错误。持续交付是指在集成的基础上增加交付环节,将集成后的代码部署在贴近真实环境的内生产环境中进行运行,从而实现自动化的交付。持续部署是持续交付的延续,是指代码评审通过后能够自动的部署到生产环境中。

1、持续集成

持续集成强调开发人员提交新代码之后,立刻进行构建、单元测试,根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。

image.png

在此流程图中,开发人员提交代码到代码仓库,并通过代码仓库的审核和验证,触发 CL 的流程,及先构建版本,再做单元测试,最后得到输出的结果,开发人员对输出的结果进行反馈(如是否通过测试,是否以及完成集成),此时开发人员能够很清楚整个过程,一旦出现问题,也能够快速定位错误,明确代码在哪个环节产生的问题,能够更好的控制开发流程,采用自动化的 CI 工具,将开发人员从大量的手工创作中解放出来,使得工作人员更能专注于代码的开发工作。

2、持续交付

持续交付指开发人员对应用的更改会自动进行错误测试并上传到存储库(如 GitHub 或容器注册表),由运维团队将其部署到实时生产环境中,其目的是解决开发和运维团队之间可见性及沟通较差的问题,确保尽可能减少部署新代码时所需的工作量。

image.png

此流程图,在持续集成之后会进入交付的环节,首先进行整体的测试,测试通过后将其发送到类生产环境中,到此为止都是由自动化完成的,从类生产环境在部署到生产环境是手工完成,需要运维人员根据实际的业务情况进行部署,此过程称为持续交付。

3、持续部署

持续部署,自动将开发人员的更改从存储库发布到生产环境,以供客户使用,其目的是解决因手动流程降低应用交付速度,从而使运维团队超负荷的问题,以持续交付的优势为根基,实现了管道后续阶段的自动化

image.png

从流程图看到,持续部署是持续交付的延申,可以自动将应用发布到生产环境,持续部署意味着开发人员对应用的更改,在编写后的几分钟就能生效,前提是通过了自动化的测试,这样就便于持续接收和整合后的反馈。持续部署加快了代码提交的速度,使得新功能能够在第一时间部署到生产环境中。

高度自动化的持续集成,持续交付和持续部署构成了整个 DevOps 流水线,这种流水线需要大量灵活和敏捷的工具来支撑每一个环节,团队需要掌握庞大的工具链,使之能够形成一个统一的工作台,这就是要搭建的 DevOps 技术平台,图中将整个开发流程分成了不同的环节,

image.png

每个环节由不同技术链的工具,整个 DevOps 技术生态工具链涉及的工具达上百个,随着开源技术的不断发展,技术工具集也在不断地推崇出新,大致分为需求管理、项目管理、代码管理、构建工具、持续集成、持续部署、自动化发布、配置管理、运营监控、容器及容器编排等。
工具链中的各种工具,通常一个接一个串行执行,一个工具的输出是另外一个工具的输入,工具之间的标准化尤为重要,如果选择开源工具,就需要具备很强的底层整合能力,并将这套工具链打造成一个可用型的服务型产品。
工具间的无缝集成往往很难实现,尤其是对 DevOps 没有深刻的理解和多年实践经验的企业,大量的整合开源工具会带来很多成本,给企业带来沉重的负担,对于多数企业而言,应该考虑第三方已经完成集成的一站式 DevOps 平台以用来节约成本,将更多的时间经历专注于业务的开发。

 

四、DevOps 企业实践全景视图

image.png

上图从组织文化、技术、流程三个维度进行实践。

1、组织及文化

文化上需要存在信任,协助精神,主人翁意识,能够持续的优化,不断学习。在组织上实现敏捷技术,强调的是全站团队而非全站员工,按照原则组建团队,团队的分组需要基于特性而非基于技术特性划分,确保每一个团队开发出的都为可用型,特性团队是指在大型的项目中根据功能特性进行团队的划分与组合,而非技术特性,根据功能特性组建的团队每次的交付都为用户的可用型,可提前进行确认,避免项目结束时发现交付的产品不可用,通过全站和特性团队的磨炼,逐渐形成自制的、自交付的团队组织。

2、技术

实施了基础设施编码的能力,将基础环境可编程化,项目团队成员可自助获取形成持续编译、自动化测试、持续部署的能力。

3、流程

流程上实施看板文化,看板通常被当作任务协调和沟通的机制,将看板做成自制管控的平台,量化组织生产的能力,在产品交付上采用 MVP 模式,快速交付产品原型,通过市场来验证和修正产品,最终适应市场的需求。每个项目必须建立持续发布的机制,形成自助化、自动化的两种能力,建立度量体系,建立组织各种数据基线,一方面可以掌控组织的生产力水平,另一方面可以通过度量数据反向优化组织的评定点。

以下为对本小结内容总结,首先,什么是 DevOps ,它是一套集组织文化、团队协作、工程实践和自动化工具为一身的工作方式,可以帮助企业快速高效、高质量的交付应用程序和服务为目的,从而更好的实现客户的价值。
DevOps 由三种核心组成,组织架构与企业文化是最重要的一部分;其次是自动化的流水线,它能够为企业提供高效的持续集成、持续部署的能力; DevOps 的技术工具链可以轻松的实现企业自动化的 DevOps 流水线,提供企业所需要的灵活的、敏捷的 DevOps 工具及其服务。
本节课还介绍了什么是 DevOps 自动化工作流水线即高度自动化的持续集成、持续部署和持续交付。

相关文章
|
3月前
|
人工智能 安全 Cloud Native
阿里云云原生安全能力全线升级,护航百万客户云上安全
【重磅发布】9月20日,在杭州云栖大会上,阿里云宣布云原生安全能力全线升级,首次发布云原生网络检测与响应产品NDR(Network Detection Response,简称NDR)。同时,阿里云还宣布将持续增加免费的安全防护能力,帮助中小企业客户以极低投入完成基础的云上安全风险治理。
182 15
|
17天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 10 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
2月前
|
运维 Cloud Native 数据可视化
阿里云云原生应用组装平台BizWorks满分通过最新评估
阿里云BizWorks满分通过《基于云计算的业务组装平台能力成熟度模型》评测,获得优秀级(最高等级),广东移动联合阿里云BizWorks团队开展的组装式应用实践获得第三届“鼎新杯”数字化转型应用优秀案例一等奖。
200 3
|
2月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 09 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
2月前
|
人工智能 自然语言处理 关系型数据库
阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成
近日,阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成。
|
2月前
|
运维 Cloud Native 持续交付
云原生技术解析:从IO出发,以阿里云原生为例
【10月更文挑战第24天】随着互联网技术的不断发展,传统的单体应用架构逐渐暴露出扩展性差、迭代速度慢等问题。为了应对这些挑战,云原生技术应运而生。云原生是一种利用云计算的优势,以更灵活、可扩展和可靠的方式构建和部署应用程序的方法。它强调以容器、微服务、自动化和持续交付为核心,旨在提高开发效率、增强系统的灵活性和可维护性。阿里云作为国内领先的云服务商,在云原生领域有着深厚的积累和实践。
57 0
|
3月前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
针对软件供应链的攻击事件在以每年三位数的速度激增,其中三方或开源软件已经成为攻击者关注的重要目标,其攻击方式和技术也在不断演进。通过供应链的传播,一个底层软件包的漏洞的影响范围可以波及世界。企业亟需更加标准和完善的供应链风险洞察和防护机制。本文将结合最佳实践的形式,面向容器应用完整的生命周期展示如何基于容器服务ACK/ACR/ASM助力企业构建云原生软件供应链安全。
|
3月前
|
人工智能 Kubernetes Cloud Native
阿里云容器服务,智算时代云原生操作系统
今年是Kubernetes十周年,在这10年间。我们已经看到其成长为云原生操作系统,向下高效调度多种算力资源,屏蔽基础设施差异,向上提供统一编程接口,支持多样化工作负载。阿里云容器服务产品已经覆盖了从公共云、边缘云、到本地数据中心的各个场景。让所有需要云能力的地方,都有统一的容器基础设施。
阿里云容器服务,智算时代云原生操作系统
|
3月前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
211 3
|
3月前
|
人工智能 Kubernetes Cloud Native
深度对话 解锁阿里云分布式云原生技术落地新姿势
深度对话 解锁阿里云分布式云原生技术落地新姿势
深度对话 解锁阿里云分布式云原生技术落地新姿势