DevOps 实战概述

news2024/11/14 12:12:50

一、背景

越来越多的团队使用DevOps,个人觉得原因有二,其一市场需求,从瀑布到敏捷的过程能看出市场就是需要团队响应快,小步快跑,风险低效率高,但是敏捷只解决了开发团队的问题并没有解决运维团队的问题,DevOps将开发与运维整合一体不仅团队响应更快成本也降低,不需要专门的运维团队;其二DevOps生产发展完善,完全可以落地,不是之前仅仅是感念上的操作,互联网大厂已经落地实施,比较突出的是腾讯的coding。中小公司团队实施DevOps有两种途径,第一种购买大厂的产品,大厂教你如何使用,这样简单高效,但是费用比较高花个几百万也很正常,这几百万给团队发福利难道不香吗,还有就是喜欢专业技术的开发,你只是会用并不懂背后逻辑,跳槽到个不用该产品的公司怎么办呢;第二种就是自研,其实也是DevOps一种整合,弊端就是耗时耗力,好吃就是省钱、提升自我价值。总结这部分内容就是为了自己想搭建DevOps生态的同行给一种思路或是一个参考,之所以说是一种思路是因为实施DevOps有多种方案,结合自己项目实际情况最终目的是将两个团队整合高效完成持续集成,持续发布。

二、DevOps介绍

关于这块内容的好多博客都在发表不同的见解,我从项目流程的角度简单阐述。

软件开发最开始是由两个团队组成:

开发团队由产品、研发团队组成从需求需求、设计、到系统研发部署。需要系统不停的迭代更新。

运维团队将开发团队的Code进行测试后部署上线。希望系统稳定安全运行。

这看似两个目标不同的团队需要协同完成一个软件的开发。在开发团队指定好计划并完成编码后,需要提供到运维团队。运维团队向开发团队反馈需要修复的BUG以及一些需要返工的任务。这时开发团队需要经常等待运维团队的反馈。这无疑延长了事件并推迟了整个软件开发的周期。可是这样就意味着一个完整的项目需要一个更长的周期才可以开发出最终代码。基于现在的互联网现状,更推崇敏捷式开发,这样就导致项目的迭代速度更快,但是由于开发团队与运维团队的沟通问题,会导致新版本上线的时间成本很高。这又违背的敏捷式开发的最初的目的。那么如果让开发团队和运维团队整合到成一个团队,协同应对一套软件呢?这就被称为DevOps,DevOps是一个不断提高效率并且持续不断工作的过程。

三、软件开发流程及所用工具

DevOps的方式可以让公司能够更快地应对更新和市场发展变化,开发可以快速交付,部署也更加稳定。核心就在于简化Dev和Ops团队之间的流程,使整体软件开发过程更快速。

整体的软件开发流程包括:

  • PLAN:研发团队根据客户的目标制定开发计划

  • CODE:根据PLAN开始设计、编码过程,需要将不同版本的代码存储在一个库中。

  • BUILD:编码完成后,需要将代码构建并且运行。

  • TEST:成功构建项目后,需要测试代码是否存在BUG或错误。

  • DEPLOY:代码经过手动测试和自动化测试后,认定代码已经准备好部署并且交给运维团队。

  • OPERATE:运维团队将代码部署到生产环境中。

  • MONITOR:项目部署上线后,需要持续的监控产品。

  • INTEGRATE:然后将监控阶段收到的反馈发送回PLAN阶段,整体反复的流程就是DevOps的核心,即持续集成、持续部署。

为了保证整体流程可以高效的完成,各个阶段都有比较常见的工具,如下图:

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

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

相关文章

16、Javaweb_ajax的JSjQuery实现方式JSON_Java对象互转用户校验案例

AJAX: 1. 概念: ASynchronous JavaScript And XML 异步的JavaScript 和 XML 1. 异步和同步:客户端和服务器端相互通信的基础上 * 客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作。 * 客户端不需要…

[LeetCode周赛复盘] 第 328 场周赛20230115

[LeetCode周赛复盘] 第 328 场周赛20230115 一、本周周赛总结二、 [Easy] 6291. 数组元素和与数字和的绝对差1. 题目描述2. 思路分析3. 代码实现三、[Medium] 6292. 子矩阵元素加 11. 题目描述2. 思路分析3. 代码实现四、[Medium] 6293. 统计好子数组的数目1. 题目描述2. 思路分…

文献阅读总结--合成生物学工程促进大肠杆菌中莽草酸的高水平积累

题目:Systems engineering of Escherichia coli for high-level shikimate production (ME 2022) 0 前言 本版块内容为记录阅读的文献内容总结经典方法手段。本文内容来自相关文献,在文末做来源进行详细说明对文献中内容不做真实性评价。 1 具体内容 …

标准化和归一化概念澄清与梳理

标准化和归一化是特征缩放(feature scalingscaling)的主要手段,其核心原理可以简单地理解为:让所有元素先减去同一个数,然后再除以另一个数,在数轴上的效果就是:先将数据集整体平移到有某个位置,然后按比例…

【C进阶】动态内存管理

家人们欢迎来到小姜的世界&#xff0c;<<点此>>传送门 这里有详细的关于C/C/Linux等的解析课程&#xff0c;家人们赶紧冲鸭&#xff01;&#xff01;&#xff01; 客官&#xff0c;码字不易&#xff0c;来个三连支持一下吧&#xff01;&#xff01;&#xff01;关注…

Spring 中最常用的 11 个扩展点

目录 1.自定义拦截器 2.获取Spring容器对象 2.1 BeanFactoryAware接口 2.2 ApplicationContextAware接口 3.全局异常处理 4.类型转换器 5.导入配置 5.1 普通类 5.2 配置类 5.3 ImportSelector 5.4 ImportBeanDefinitionRegistrar 6.项目启动时 7.修改BeanDefiniti…

MySQL高级【MVCC原理分析】

1&#xff1a;MVCC1.1&#xff1a;基本概念1). 当前读 读取的是记录的最新版本&#xff0c;读取时还要保证其他并发事务不能修改当前记录&#xff0c;会对读取的记录进行加 锁。对于我们日常的操作&#xff0c;如&#xff1a;select ... lock in share mode(共享锁)&#xff0c…

技术人员和非技术人员如何写出优质博客?-涵子的个人想法

大家好&#xff0c;我是涵子。今天&#xff0c;我们来沉重的聊聊一个大家都很关心的一个问题&#xff1a;技术人员和非技术人员如何写出优质博客&#xff1f; 目录 前言 初写博客&#xff0c;仰望大师 中段时期&#xff0c;无粉无赞 优质博客&#xff0c;涨粉涨赞 优质内容…

前端编写邮件html各邮箱兼容及注意事项

近期由于项目需要&#xff0c;第一次编写邮件html模板&#xff0c;发现各种邮箱兼容问题&#xff0c;尤其是windows自带的邮箱outlook兼容性极差&#xff0c;在此简单做下记录。 注意事项&#xff08;全局样式规则&#xff09; 使用越垃圾的样式越好&#xff0c;绝大部分css3…

Spring面试题

Spring概述&#xff08;10&#xff09; https://blog.csdn.net/zhang150114/article/details/90478753 什么是spring? Spring是一个轻量级JavaEE开发框架&#xff0c;最早有Rod Johnson创建&#xff0c;目的是为了解决企业级应用开发的**业务逻辑层和其他各层的耦合问题。*…

Eclipse 连接 SQL Server 数据库教程

&#x1f388; 作者&#xff1a;Linux猿 &#x1f388; 简介&#xff1a;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我&#xff0c;关注我&#xff0c;有问题私聊&#xff01; &…

JUC面试(一)——JUCJMMvolatile 1.0

JUC&JMM JMM JUC&#xff08;java.util.concurrent&#xff09; 进程和线程 进程&#xff1a;后台运行的程序&#xff08;我们打开的一个软件&#xff0c;就是进程&#xff09;&#xff0c;资源分配单位线程&#xff1a;轻量级的进程&#xff0c;并且一个进程包含多个线程…

Docker部署Nexus通过Maven推送及拉取代码

&#x1f60a; 作者&#xff1a; 一恍过去&#x1f496; 主页&#xff1a; https://blog.csdn.net/zhuocailing3390&#x1f38a; 社区&#xff1a; Java技术栈交流&#x1f389; 主题&#xff1a; Docker部署Nexus通过Maven推送及拉取代码⏱️ 创作时间&#xff1a; 2023…

如何利用ChatGPT帮你写代码?

最近爆火的ChatGpt相信大家都不陌生&#xff0c;听说它还能写代码&#xff0c;而且能力不凡。作为合格的嵌入式软件工程师&#xff0c;必须得充分利用起来&#xff01; 获取系统IP地址 先写一个脚本&#xff0c;获取系统IP地址吧&#xff0c;没想到还有详细的注释&#xff01…

华亚转债上市价格预测

华亚转债基本信息转债名称&#xff1a;华亚转债&#xff0c;评级&#xff1a;A&#xff0c;发行规模&#xff1a;3.4亿元。正股名称&#xff1a;华亚智能&#xff0c;今日收盘价&#xff1a;62.84&#xff0c;转股价格&#xff1a;69.39。当前转股价值 转债面值 / 转股价格 * …

juc系列(1)---进程,线程,并行,并发

目录概述进程线程关系并发并行&#xff1a;同步异步&#xff1a;对比概述 进程 程序由指令和数据组成&#xff0c;但这些指令要运行&#xff0c;数据要读写&#xff0c;就必须将指令加载至CPU,数据加载至内 存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载…

Databend 内幕大揭秘第一弹 - minibend 简介

minibend &#xff0c;一个从零开始、使用 Rust 构建的查询引擎。这里是 minibend 系列技术主题分享的第一期&#xff0c;来自 PsiACE 。 前排指路视频和 PPT 地址 视频&#xff08;哔哩哔哩&#xff09;&#xff1a;https://www.bilibili.com/video/BV1Ne4y1x7Cn PPT&#x…

Unity 之 Addressable可寻址系统 -- 资源加载和释放

可寻址系统资源 -- 加载和资源释放 -- 进阶&#xff08;二&#xff09;一&#xff0c;资源加载1.1 同步异步对比1.2 三种加载模式二&#xff0c;释放资源2.1 基础概念2.2 实例演示2.2.1 示例演示一2.2.2 示例演示二2.3 注意事项概述&#xff1a;本篇文章从资源加载的方式和具体…

Spring官方提供【CSRF攻击】解决方案

步入正文 Cookie cookie是我们常见用来保存用户态信息&#xff0c;cookie跟随我们的请求自动携带。在同一域名下的请求&#xff0c;cookie总是自动携带。 用户态: 当前登入者的用户信息 以上的特性会导致一个潜在漏洞-CSRF CSRF CSRF一般指跨站请求伪造。 跨站请求伪造&…

长安链合约标准协议启动建设,邀请社区用户评审

智能合约是区块链摆脱第三方&#xff0c;实现验证、执行业务逻辑的“看不见的手”。随着联盟链产业落地进入快车道&#xff0c;需要面对的应用场景更加多样&#xff0c;智能合约标准协议作为推动联盟链应用生态繁荣的重要一环也需要加速推进发展。 区块链技术正在发展中规范。…