【漫话DevOps】What is DevOps?
最近几年"DevOps"这个关键词经常出现在项目开发当中,特别是随着微服务/容器/cloud在项目中的大范围应用,你不想知道都很难。作为一个伴随CI/CD到DevOps一路走来的工程师,我将分几个部分漫话DevOps以及相关的概念,作为软件开发工程师,你需要知道并且开始践行DevOps, 它应该成为你职业素养的一部分。
笔者是在2015年左右开始听说“DevOps”这个名词,最早听说并实践的一直是CI/CD (后面会介绍它们之间的关系),从CI/CD开始,你会更容易理解DevOps倡导的文化。
What is DevOps ?
DevOps 是一组用于促进开发和运维人员之间协作的过程、方法和系统的统称。
Wikipedia对DevOps的定义是:
DevOps是软件开发、运维和质量保证三个部门之间的沟通、协作和集成所采用的流程、方法和体系的一个集合。 它是人们为了及时生产软件产品或服务,以满足某个业务目标,对开发与运维之间相互依存关系的一种新的理解。 ...... DevOps并不仅仅关注软件部署,它是部门间沟通协作的一组流程和方法。
DevOps是Development和Operations的组合,是一种方法论,是一组过程、方法与系统的统称,用于促进应用开发、应用运维和质量保障(QA)部门之间的沟通、协作与整合。以期打破传统开发和运营之间的壁垒和鸿沟。
从下图中,可以看到Dev 和Ops 关注的点是不同的,并且有各自的利益和关注点,沟通必然存在障碍。一个想快速迭代,一个想稳定;一个不关心怎么部署运维,一个不清楚开发架构;由此带来的就是效率的低下,以及相互的抱怨,但是完整的项目并不是仅仅代码写完就完事了,质量/稳定/运维才是更重要的。
DevOps 提倡通过一系列的技术和工具降低开发和运维人员之间的隔阂,实现从开发到最终部署的全流程自动化,从而达到开发运维一体化。通过将 DevOps 的理念引入到整个系统的开发过程中,能够显著提升软件的开发效率,使得各个团队减少时间损耗,更加高效地协同工作,缩短软件交付的周期,更加适应当今快速发展的互联网时代。下面这个DevOps能力图,良好的闭环可以大大增加整体的产出。
DevOps 与传统开发方式
Why is DevOps ?
猛得听上去,DevOps很抽象,你可能会问以前没有DevOps不是一样开发交付吗?为什么是DevOps?
瀑布开发,敏捷开发都听过吧?DevOps你可以理解为新的开发模型,是文化和技术的方法论,需要公司在组织文化上的变革。
DevOps早在十年前就有人提出来,但是,为什么这两年才开始受到越来越多的企业重视和实践呢?因为DevOps的发展是独木不成林的,现在有越来越多的技术支撑。微服务架构理念、容器技术使得DevOps的实施变得更加容易,计算能力提升和云环境的发展使得快速开发的产品可以立刻获得更广泛的使用。
因为技术在发展,项目的开发过程也需要适应新的技术和框架,微服务那么多,容器可能上千个,你怎么快速部署/维护?
DevOps 的好处?
- 依托自动化工具把开发、测试、发布、部署的过程整合,实现高度自动化与高效交付。
- 在保证产品质量的前提下快速、频繁地发布产品。
- 能够即使获得用户反馈,并快速响应。
- 最大限度地减少风险,降低代码的出错率。
- 高质量的软件发布标准。整个交付过程标准化、可重复、可靠。
- 整个交付过程进度可视化,方便团队人员了解并控制项目进度。
- 团队协作更高效。
DevOps 带来的变革
- 角色分工:打破传统团队隔阂,让开发、运维紧密结合,高效协作
- 研发:专注研发、高度敏捷、持续集成
- 产品交付:高质量、快速、频繁、自动化、持续交付
简单的说,DevOps=团队文化+流程+工具
团队文化的意思很简单,就是你的团队要知道并认可DevOps理念;然后就要通过具体的流程和工具来实现这个理念。
后续,我会一点点根据自己的心得体会,慢慢总结分享对DevOps的理解
【漫话DevOps】What is DevOps?的更多相关文章
- 【读书笔记】 DevOps实践 - 驭DevOps之力强化技术栈并优化IT运行
读书小结 DevOps实践 - 驭DevOps之力强化技术栈并优化IT运行 这本书共200页,读完大概三天:(我指的不是fulltime的一天,而是工作时间以外的一天) 本书是参加16年QConf开发 ...
- 腾讯云推出一站式 DevOps 解决方案 —— CODING DevOps
在产业互联网的大背景下,如何将人工智能.大数据等前沿技术与实体产业相结合,推动传统企业转型升级,已经成为每一个企业不得不思考的问题.落后的软件研发能力已经拖慢了中国大量企业的数字化转型进程. 为了满足 ...
- DevOps教程:DevOps 面试题
[注]本文译自:https://www.javatpoint.com/devops-interview-questions
- 给 DevOps 初学者的入门指南
当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及文化和组织等等概念.那么,到底什么是"DevOps"呢? 什么是DevOps 随着软件发布迭代 ...
- CI Weekly #3 | 关于微服务、Docker 实践与 DevOps 指南
CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...
- DevOps is dirty work - What's the deal
什么是DevOps?终于又回到这个最初的问题. 第一次看到这个词的时候,还身陷于各种敏捷概念轰炸中.用“身陷”这个词其实并不准确,因为那个年代的我也是那些热情洋溢地无处不宣传敏捷的热血文艺青年中的一员 ...
- CI Weekly #1 | 这份周刊,带你了解 CI/CD 、DevOps、自动化测试
原文首次发布与 flow.ci Blog >> 链接,转载请联系:) 准备了很久,CI Weekly 第一期终于来了. CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分 ...
- XP+devOps开发模式与scrum敏捷开发对比,docker虚拟化
XP+devOps开发模式与scrum敏捷开发对比,docker虚拟化 我们现在用的就是典型的XP+devOps模式,已经放弃scrum了 现在还很多公司弄docker虚拟化docker非常复杂,当然 ...
- 企业运营对 DevOps 的「傲慢与偏见」
摘要:出于各种原因,并非所有人都信任 DevOps .有些人觉得 DevOps 只不过给开发者改善产品提供了一个途径而已,还有的人觉得 DevOps 是一堆悦耳的空头支票,甚至有人认为 DevOps ...
- 当我们在谈论 DevOps,我们在谈论什么?
Cloud Insight 携手 BearyChat:打造适合运维人员的团队协作工具 走过 C 轮的 OneAPM,旗下的产品已经日渐丰满,从应用性能监控的 Application Insight 到 ...
随机推荐
- .NET 跨平台框架Avalonia UI: 填坑指北(一):熟悉UI操作
Avalonia 是一个跨平台的 .NET UI 框架,支持 Windows.Linux.Mac OSX... (以及Android IOS soon..) 本篇主要介绍Avalonia开发过程和L ...
- [算法入门]——深度优先搜索(DFS)
深度优先搜索(DFS) 深度优先搜索叫DFS(Depth First Search).OK,那么什么是深度优先搜索呢?_? 样例: 举个例子,你在一个方格网络中,可以简单理解为我们的地图,要从A点到B ...
- Qt开发技术:QCharts(三)QCharts样条曲线图介绍、Demo以及代码详解
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- puppeteer去掉同源策略及请求拦截
puppeteer是一个功能强大的工具,在自动化测试和爬虫方面应用广泛,这里谈一下如何在puppeteer中关掉同源策略和进行请求拦截. 同源策略 同源策略为web 安全提供了有力的保障,但是有时候我 ...
- Hyperledger Fabric 手动搭建【区块链学习三】
Hyperledger Fabric 手动搭建 前面我们学习了区块链是什么.还有自动搭建学习东西我们就要从简单到深入(入门到放弃),现在自动部署已经跑通了接下来就是手动搭建Fabric 网络可以更好的 ...
- 阿里云鼠标垫,云中谁寄锦书来,阿里云定制GIT指令集鼠标垫
活动地址 云中谁寄锦书来 活动时间 2020.8.19-8.28 奖品 必得,每日200份,共2000份 参考答案 tips:单选选择以上都是,多选就是全选 云效DevOps包含哪些产品- ABCDE ...
- oracle 将数据库的表复制到另一个数据库表内
将数据库A中的表sys_role复制到数据库B中在数据库b中的SQL工作表写如下代码: 第一步:建立链接 CREATE database link A //数据库名称CONNECT to text ...
- 关于H标签 DL DT DD标签的一个小故事
看了一篇关于SEO论坛的论文,大概故事内容是:一个专业的销售公司,里面SEO 技术多多,可就是销售网站的SEO的情况极为恼火.这天,老板又招到了一个SEO,直接聘为SEO主管全权负责网站的SEO,并 ...
- Python测试函数运行时间
import time import datetime # 测试函数运行时间 def cal_time(fn): """计算性能的修饰器""" ...
- 精华技巧,学会这几招可以假装是Python高手
Python里面的技巧真的是太多了,菜鸟如何假装自己的是高手呢,下面教大家几招快速变成老司机的招数,尤其是在实战的项目中,用上这几招一定让你周围的同事刮目相看,哇这个代码有两把刷子. 很多人学习pyt ...