DevOps该怎么做?

年初在家待了一段时间看了两本书收获还是挺多的. 这些年一直忙于项目, 经历了软件项目的每个阶段, 多多少少知道每个阶段是个什么, 会做哪些事情浮于表面, 没有深入去思考每个阶段背后的理论基础, 最佳实践和落地工具. 某天leader说你书看完了, 只有笔记没有总结, 你就写个总结讲讲吧.


1 软件系统研发现状

软件研发主要有设计、研发、上线运维这几个过程, 有想过这些问题:

1) 需求该怎么收集?

2) 产品规划该怎么规划?

3) 迭代开发怎么管理? 计划怎么执行?

4) 怎么上线?怎么运维?

5) 每个阶段该怎么协作?

2  要解决哪些问题

 从以上问题中, 大概可以梳理出研发过程中需要解决的问题,

1) 研发生命周期管理

2) 研发过程中的产出物

3) 业务领域知识

4) 如何提升效率

5) 如何让研发过程可视化

3 评估

3.1 DevOps 评估三原则

3.1.1 流动原则

       建立从开发到运维之间快速的、平滑的、能向客户交付价值的工作流,要为这个全局目标进行优化,而非围绕一系列局部目标,如功能开发的完成度、测试中问题的发现率和修正率、运维维护的可用性等。通过持续加强工作内容的可视化,减小每批次大小和等待间隔,内建质量以防止缺陷向下游传递,从而增强流动性。通过加快流动,缩短前置时间,进一步提高质量。

3.1.2  反馈原则

        反馈原则使得在从右向左的每个阶段中能够快速、持续地获得工作反馈,目标是建立安全和可靠的工作系统。通过在整个价值流和组织中建立快速、频繁、高质量的信息流,包括反馈和前馈回路,可以让系统更安全。这样就可以在规模较小、修复成本较低的情况下发布并修复问题,在灾难发生前消除问题,并创造出组织性学习氛围。

3.1.3 持续学习与实验原则

      技术价值流的核心是建立高度信任的文化,强调每个人都是持续学习者,必须在日常工作中承担风险,通过科学的方式改进流程和开发产品,从成功和失败中积累经验教训,从而识别有价值的想法,摈弃无用的想法,所有局部的经验都会快速转化为全局性的改进,从而帮助整个组织尝试和实践新技术。通过建立持续、动态的学习机制,帮助团队快速并自动地适应不断变化地环境,进而帮助企业在市场竞争中脱颖而出

 3.2 评估项

      从devops的三个原则出发, 构建如下简要评估项, 仅供参考:

业务响应性
端到端价值流
频繁小批上线
依据带宽限制需求量
全功能团队
团队协作各角色协作
过程透明
工程效能需求变更
构建
架构
自动测试
部署

4 设计

基于项目现状画出价值流图,  仔细思考每个阶段需要做什么, 有哪些流程, 上下有之间的关系咋样, 现阶段有么有瓶颈, 怎么改进, 如果要改进需要哪些资源, 需要谁的支持才能做成这件事.

 

5 实施

5.1 选型

选择合适的工具实现项目价值流的运转, 可以选择使用华为、阿里、腾讯等厂商的一体化平台, 也可选择工具软件自己搭建.

5.1.1 Jira

Jira Software 是位居榜首的敏捷项目管理工具,团队可使用该工具放心地规划、跟踪、发布和支持出色的软件。它是您整个开发生命周期的单一数据源,为自主团队提供情景信息,助力团队在与更大的业务目标保持关联的同时快速采取行动。无论是用于管理简单的项目,还是用于支持 DevOps 实践,Jira Software 都能让团队轻松推进工作、保持一致并在情境中进行沟通。

官网地址: Collaboration software for software, IT and business teams

5.1.2 Jenkins

jenkins 号称“万物皆可自动化”, 它是一款开源的自动化服务器, 是持续集成/持续交付的事实标准, 其中有数千款插件连接您所知的各种平台,支持自动化构建、部署、交付和任何类型的项目。

官网地址:Jenkins中国

5.1.3 Git

Git是一个免费开源的分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。Git易于学习,占地面积小,性能闪电般快。它以廉价的本地分支、方便的暂存区和多个工作流等功能胜过了Subversion、CVS、Perforce和ClearCase等SCM工具。

官网地址:Git

 

5.1.4 Nexus

Nexus 是一个强大的 Maven 仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用 Nexus 你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个 Artifact。Nexus 是一套 “开箱即用” 的系统不需要数据库,它使用文件系统加 Lucene 来组织数据。Nexus 使用 ExtJS 来开发界面,利用 Restlet 来提供完整的 REST APIs,通过 m2eclipse 与 Eclipse 集成使用。Nexus 支持 WebDAV 与 LDAP 安全身份认证。

5.1.5 Prometheus

Prometheus是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。

Prometheus 提供了通用的数据模型和快捷数据采集、存储和查询接口。它的核心组件Prometheus server会定期从静态配置的监控目标或者基于服务发现自动配置的自标中进行拉取数据,当新拉取到的数据大于配置的内存缓存区时,数据就会持久化到存储设备当中。

1.每个被监控的主机都可以通过专用的exporter 程序提供输出监控数据的接口,它会在目标处收集监控数据,并暴露出一个HTTP接口供Prometheus server查询,Prometheus通过基于HTTP的pull的方式来周期性的采集数据。
2.任何被监控的目标都需要事先纳入到监控系统中才能进行时序数据采集、存储、告警和展示,监控目标可以通过配置信息以静态形式指定,也可以让Prometheus通过服务发现的机制进行动态管理。
3.Prometheus 能够直接把API Server作为服务发现系统使用,进而动态发现和监控集群中的所有可被监控的对象。

5.2 搭建

工具搭建完成后,  按照设计改进的价值流运行,  对项目的整个研发价值流需要持续测试、持续监控、持续改进.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/353420.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Java009——Java数据类型简单认识

围绕以下3点学习: 1、什么是Java数据类型? 2、Java数据类型的作用? 3、Java有哪些数据类型? 4、熟悉Java8大基本数据类型 一、什么是Java数据类型? 当我们写Java代码时,需要把数据保存在变量(…

win7系统卸载360管家之后无法上网怎么回事?

win7系统卸载360管家之后无法上网怎么回事?有用户电脑安装的360管家软件卸载了之后,发现网络连接也同时出现了错误。那么这个情况是什么原因呢?接下来一起来看看如何解决因为卸载360软件而导致的电脑无法上网问题的解决方法吧。 解决方法 1、…

360天擎无密码退出和卸载

无密码退出 删除配置(360Safe\EntClient\conf\EntBase.dat) **注:**删除时提示权限不够无法删除,使用360自带的文件粉碎机将文件粉碎即可无密码退出360天擎(重新打开程序时EntBase.dat会再次生成) 修改配置…

idesk卸载教程_【亲测可行】Autodesk 卸载工具,一键完全彻底卸载删除autodesk软件专门卸载工具...

autodesk卸载工具(AUTO Uninstaller)是专门为了针对autodesk类软件卸载不干净而导致autodesk安装失败问题进行研发的autodesk一键卸载工具。现在虽然360或一些卸载软件提供了强力卸载autodesk的工具,可以将autodesk注册表和一些autodesk目录的autodesk残留信息删除&…

关闭/卸载360画报/壁纸

前言 360画报和360壁纸指的是同一个组件,只是称呼不同,下文简称360画报,是360安全卫士和360安全浏览器自动安装的组件之一,是可以被关闭和卸载的。此组件会自动开启360屏保,用户不喜欢可以进行关闭或卸载。下文介绍关…

mysql删除工具_有没有mysql卸载工具

展开全部 没有工具,手工清理就636f707962616964757a686964616f31333365636633可以了。 1.打开命令行,运行命令 net start,查看一下mysql服务,如果开启就使用命令 net stop mysql 将其关闭。 注:如果提示无法关闭&#…

【亲测可行】Autodesk 卸载工具,一键完全彻底卸载删除autodesk软件专门卸载工具...

autodesk卸载工具(AUTO Uninstaller)是专门为了针对autodesk类软件卸载不干净而导致autodesk安装失败问题进行研发的autodesk一键卸载工具。现在虽然360或一些卸载软件提供了强力卸载autodesk的工具,可以将autodesk注册表和一些autodesk目录的autodesk残留信息删除&…

Autodesk 卸载工具

autodesk卸载工具(AUTO Uninstaller)是专门为了针对autodesk类软件卸载不干净而导致autodesk安装失败问题进行研发的autodesk一键卸载工具。现在虽然360或一些卸载软件提供了强力卸载autodesk的工具,可以将autodesk注册表和一些autodesk目录的autodesk残留信息删除&…

笔试强训9

作者:爱塔居 专栏:笔试强训 文章简介:简单记录学习的细碎~ day15 一. 单选 1.给出数据表 score(stu-id,name,math,english,Chinese), 下列语句正确的是( ) A Select sum(math),avg(chinese) from score B Select *,s…

解决360卸载之后遗留问题:windows defender无法开启

前几日,在对一台新电脑进行”净化工作“——卸载很多原装的垃圾软件,卸载了360之后发现windows defender无法打开,找到services.msc无法开启,启动按钮是灰色的,在查看了很多的教程之后,并确认windows defen…

一篇文章搞懂CMake(gcc、g++、cmake解释)

一篇文章搞懂CMake (gcc、g、cmake解释) 这里写目录标题 一篇文章搞懂CMake (gcc、g、cmake解释)gccgcmake1. CMake 流程如何使用cmake?简单的CMake.txt文件 参考 gcc gcc命令来自英文词组“GNU Compiler Collection”…

如何关闭计算机软件更新功能,如何关闭电脑自动更新功能

大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。 以Windows 7电脑为例,关闭电脑自动更新功能的方法: 1、首先按下winr打开运行窗口。 2、接着输入services.msc并点击回车。 3、然后选择Windows update选项。…

关闭windows自动更新

1、win r ---- 输入services.msc进入服务 找到Windows Update 双击打开属性弹框 将启动类型改为禁用,并在恢复中将第一次失败改成无操作 2、win r ---- 输入gpedit.msc进入本地组策略编辑器 找到计算机配置 》管理模板 》Windows组件 》Windows更新,选…

linux7怎么关闭更新,如何让centos7关闭yum自动更新系统

客户指定机器的系统要centos 7.6,易秋网络老易这边提供的实际也是centos 7.6,但是等客户安装完毕宝塔后,系统显示是centos 7.7,但是客户因为某些原因,就是要centos 7.6,易秋网络老易猜测是安装宝塔的过程中,centos 7.6自动更新到centos 7.7了。 [root@1403-sxx yum]# ca…

计算机配置更新怎么关闭,如何关闭戴尔电脑自动更新系统配置

如何关闭戴尔电脑自动更新系统配置 有时候我们不想更新系统的配置,但是操作系统会为我们自动更新系统配置。那么如何关闭戴尔电脑自动更新系统配置呢?下面就让jy135小编来告诉大家吧,欢迎阅读。 1、开机之后,等待系统启动,启动完…

第4章:SpringMVC的域对象共享数据

1、使用ServletAPI向request域对象共享数据 ①控制器 Controller public class HelloController {RequestMapping("/test")public String index(HttpServletRequest request){request.setAttribute("test","test666");return "index"…

如何彻底关闭Win10自动更新,Win10永久关闭自动更新的方法

如何彻底关闭Win10自动更新?Win10自动更新的问题是很多用户都遇到的问题,很多时候我们关闭了自动更新,过一段时间系统又自动更新了,由于win10自动更新非常顽固,所以我们要从多个地方下手才能永久关闭其自动更新&#x…

服务器自动更新不能关闭,Windows2008服务器如何关闭系统自动更新?

前几天因为系统自动更新,总是会在Windows2008服务器C盘自动生成一些缓存文件,这些文件占用了大量的C盘空间,直接影响了C盘的正常运行。这里不多讲直接把他们删除就可以。 下面继续讲,闫工告诉您Windows2008服务器如何关闭系统自动…

linux自动升级关闭,Ubuntu关闭内核自动更新

环境: Ubuntu 20.04 TLS 1、查看当前已有内核 dpkg --list|grep linux-image dpkg --list|grep linux-headers 2、查看当前使用的内核版本 uname -r 3、卸载内核命令**(如果不想卸载内核不要执行这些命令)** sudo apt purge linux-image-xxx# xxx表示上图中后面的数…

约瑟夫环(递归+迭代)

剑指 Offer 62. 圆圈中最后剩下的数字 leetcode 这题让我对递归和迭代又有了新的一层认识,首先一定要把图画对,就是模拟约瑟夫的这个过程 红色是被淘汰的位置,绿色的3是最后会活下来的人的位置 0 ~ n 正好是数组中的下标 重点在于计算 不同…