首页>>互联网>>DevOps->为什么是devops(2023年最新整理)

为什么是devops(2023年最新整理)

时间:2023-12-04 本站 点击:0

导读:很多朋友问到关于为什么是devops的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!

DevOps的概念和历史

当你看敏捷的时候,不经意间出现了DevOps这个词,你还在好奇,这是什么的时候,发现规模化敏捷也出现了,这个时候如果你还发现自己对这个词很陌生,那说明你的知识该补齐了,毕竟他们如果总是频繁出现,说明他们的相关性很高。

其实不只是敏捷,在CMMI、ITIL都在提到DevOps,说明我们真的很有必要对它进行一个系统性的了解了。

1.CMMI中提到关于Devops

图 CMMI

2.ITIL中提到关于DevOps

各类管理体系其实都在走向融合,而且都需要DevOps的支持,所以你还觉得自己不需要认真了解下它么?

如果你想快速的系统性的了解DevOps,可以先阅读以下几本书:

《凤凰项目》

《持续交付》

《独角兽项目》

《凤凰项目 一个IT运维的传奇故事》

《DevOps精要》

如果你报考了DevOps Master认证,那你《EXIN DevOps Master WhitePaper》是必读的。

DevOps是对敏捷软件开发与精益生产思想的演进,应用于IT端到端的价值链中,使得业务基于现代信息技术,并通过文化,组织与技术变革来获得更大的成功。

这是《DevOps精要》中关于DevOps定义,定义都有其严谨性,所以往往看完定义让我们摸不着头脑。DevOps其实是英文单词Development(Dev)和Operations(Ops)的组合,为什么要把这两个词组合到一起,最初创造这个词的人目的就是期望开发和运维能够紧密的合作,随后逐步的被扩展和衍生,下面这个“DevOps能力环”是对这种打破部门墙,进行顺畅交付的一个非常经典的一个表达。它强调了IT专业人员(研发,运维,测试)在应用和服务生命周期中的协作和沟通;强调整个组织合作以及交付和基础设施变更的自动化,从而实现持续集成、持续部署和持续交付。

[图片上传失败...(image-c93581-1650555848432)]

DevOps能力环

我们为什么要了解其历史,如果我们只是想用DevOps的一些工程实践,大可不必,但是如果你的团队还对这个概念很陌生,他们不知道为什么要用DevOps,如果是这样的话,我们还是有必要花几分钟来了解下它。

DevOps起源于敏捷,是在2008年敏捷论坛上被提出的,所以现在很多人会认为DevOps是敏捷的一部分,对于到底是谁属于谁,谁包含谁,这些观念大家不必纠结,各大体系都认为自己包括别人。敏捷认为它包括DevOps,而DevOps认为自己是它的衍生。

DevOps的概念在2010年的《What is DevOps》这篇文章中得到了较为完整的描述。DevOps在2013年之后被业界快速接受,源于相关技术的同步发展,2013年,dotCloud公司推出Docker项目,同年,Google推出开源项目Kubernetes,提供了以容器为中心的不部署、伸缩和运维平台,2015年云原生的概念也逐步成熟,他们的发展助推了DevOps的快速发展。

大家可能还听说过DevSecOps,Sec是不是安全,你猜的没错,就是安全和合规性,这是在2016年开始逐步推出的一个理念。关于历史的部分就讲到这里,大家感兴趣的可以再做进一步的了解。

SRE和DevOps

DevOps 和 SRE 似乎是同一枚硬币的两个面。他们都旨在弥合开发团队和运维团队之间的鸿沟,都想要提高软件部署的效率和软件运行的可靠性。

DevOps 的定义是“一种软件工程文化和实践,旨在统一开发和运维” 。这个术语最初是由 Andrew Shafer 和 Patrick Debois 于2008年创造的,虽然花了几年时间才成为一个通用概念,但如今,几乎每个企业都在使用 DevOps。

Site Reliability Engineer(SRE) 的概念自2003年以来一直存在,比 DevOps 还要古老。它是由创建 Google 的本·特雷诺(Ben Treynor)创造的。根据 Treynor 所说,SRE 是“软件开发工程师开始承担运维人员的任务”。

DevOps 和 SRE 都倡导自动化和监视,其目标都是减少从开发到部署生产中的时间,同时又不影响代码或产品的质量。Google 指出,SRE 和 DevOps 彼此之间并没有太大区别:“在软件开发和运维方面,他们不是竞争关系,而是旨在打破组织障碍,使得更快地交付更好的软件的亲密朋友。”

DevOps 只是关心需要做什么,但 SRE 却谈到了如何可以做到。SRE 是通过使用正确的方法,工具等将理论部分扩展为有效的工作流程。这还涉及在每个人之间分担责任,并使每个人都具有相同的目标和愿景。

为什么DevOps很好,但却很难落地,大家对DevOps是怎么理解的?

DevOps不是一开始就有的,为什么现在的声音越来越大了。其实原因很简单,说明市场,也就是各软件公司碰到问题了,DevOps可以帮助解决这个问题,为客户创造价值。

那客户的问题又是什么呢?比如现在的互联网公司越来越多,市场的竞争也越来越激烈,产品迭代的频率越来越快,做得极致又成功的比如Netflix,可以做到一天发布好多次。如果还是像以前的模式,可能你的公司早就被淘汰掉了。

其实理解起来很简单,就像图上面一样Dev和Ops合作一起搞事情了(但上图的幽默用来隐喻实际的效果是刚刚好的)- 貌合神离。如果只管自己的一亩三分地,因为有各种KPI的原因,这也再正常不过。但试想一下,如果一家公司的KPI是:对开发团队,一个月内发布10个版本。对运维团队,线上环境可靠性是99.99%。很明显这样就会让开发团队和运维团队一下子变成了对立面。如果想快速发布版本,得过质量(测试团队)的关,还有运维团队的关,因为要上线,可能因基础设施等各种原因受到影响。再说运维团队,会很小心的测试,因为好容易弄稳定的环境,你又给我增加了新的风险,我当然不乐意了。

因为上面的种种制度的原因,再加上将Ops前置,导致的工作量和工作复杂度的加大,因为在软件行业,并没有因为新事务的出现,而消灭了一些复杂度,而是将复杂度从一个地方搬到了另一个地方。所以难度是变大了的。组织结构不动,观念不调整,就已经为DevOps落地埋下了失败的种子,再加上能力上需要提升,就会让这件好事情离成功越来越远。

结语:以上就是首席CTO笔记为大家介绍的关于为什么是devops的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。


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