DevOps和它的朋友们——聊聊其他“Ops”(二)

陈哥聊测试
• 阅读 12

《聊聊其他“Ops”(一)》中跟大家简单介绍了DevOps,以及与其概念相近的NoOpsDevSecOpsGitOps。“Ops家族”还包含其他形式,但归根结底,DevOps之所以更为流行,是因为其提供了改进工作流程的最全面的方法,因而被广泛应用。

一、DevOps vs. ITOps

接下来,我们将更仔细地了解一下ITOps。许多开发人员将ITOps视为DevOps更传统的版本,但实际上它不止于此。ITOps在许多方面与DevOps非常相似。该方法将软件开发和IT基础设施管理视为一个统一的管道,此外,它还试图改进该管道并推动更高的灵活性。

ITOps与DevOps的不同之处在于它如何管理IT基础设施。这正是ITOps更为传统的地方,因为它负责交付和维护服务、应用程序,以及运维业务所必需的基础技术。ITOps通常包括系统管理员、网络管理员和服务台等职位。

DevOps和它的朋友们——聊聊其他“Ops”(二)

ITOps更关注稳定性和长期可靠性,而不是推崇敏捷性和速度。IT基础设施是作为成功管道的基础处理的,因此,当涉及到基础设施管理时,看到这种方法被视为更加严格就不足为奇了。

ITOps的最佳实践更倾向于使用可靠的、经过高度测试的商业软件和解决方案来构建基础设施——包括硬件,因为ITOps倾向于关注物理服务器和网络。ITOps的管道中经常有现成的商用软件或COTS。

这种方法的更高刚性也意味着更新基础设施组件更加困难。ITOps将稳定性作为首要任务,因此快速更改云和内部环境的配置并不总是可能的。不过,ITOps在应用程序和服务的内部部署方面确实工作得很好。

这并不意味着ITOps已经过时。有些行业严重依赖ITOps的长期可持续性,比如银行业和整个金融业。这些行业并不总是需要快速、突然的变化,这使得ITOps成为更合乎逻辑的持续交付方法。

人们可能会认为DevOps无法在这些类型的环境中实现,因为它们不是基于云的。但事实并非如此,在裸金属服务器上仍然可以减少在制品数量和降低贮仓量。

二、DevOps vs. CloudOps

当ITOps将基础设施转移到等式更传统的一边时,CloudOps却恰恰相反。同样,这种方法与DevOps非常相似,但是在基础设施管理方面的关注点有所转移。顾名思义,CloudOps试图更多地利用现代服务提供商(如Amazon)提供的云原生功能。

DevOps和它的朋友们——聊聊其他“Ops”(二)

CloudOps主要有三个要素:分布、无状态和可伸缩性。 分布式开发和部署意味着不存在单点故障。整个云环境变得更加可靠,并且可以保持正常运行时间。同时,至少在工作流的某些部分,无状态化的能力对于成本效率来说是一个巨大的优势。

由于是无状态的,所以可伸缩性不是问题。您只需要为实际使用的资源和使用它们的持续时间付费,因此,只需稍加调整,就可以将与云相关的开销成本降至最低。使用CloudOps方法部署的云本地应用程序往往具有良好的正常运行时间和低延迟。

云服务提供商现在提供的自动化水平进一步扩大了这些优势。然而,这种方法需要完全自动化的资源配置,这可能意味着在配置CI/CD管道时增加了复杂性。为了充分利用CloudOps,必须正确配置才能充分利用CloudOps的优势。

三、DevOps vs. CIOps

持续集成操作(CIOps)是我们列表中的最后一个分支。CIOps要求CI操作员或管理员在继续部署之前配置支持新代码所需的IT基础设施。CI系统被设计用来运行构建和测试,然后根据管道的复杂性以不同的复杂级别部署。

由于手工输入仍然是必需的(为了确保每个CI作业都被正确配置以部署到正确的位置),CIOps既有优点也有缺点。主要优点是对基础设施本身进行细粒度控制。与GitOps等方法中预定义的参数不同,两种部署可以有不同的基础设施配置。

手工配置云环境和资源配置可以使CIOps更适合较小的开发;在开发项目中,自动化是一种麻烦而不是一种有用的工具。这就是CIOps经常出现在具有更简单云基础设施的小型项目中的原因。

手工配置云环境和资源配置可以使CIOps更适合较小的开发;在开发项目中,自动化是一种麻烦而不是一种有用的工具。这就是CIOps经常出现在具有更简单云基础设施的小型项目中的原因。

然而,这里的主要缺点是这个系统的人工概念增加了人为错误的风险。还需要为API提供您选择的CI工具(Travis CI和CircleCI很流行),这是一个很大的安全风险。

与DevOps相比,CIOps还缺乏全面的审计跟踪和额外的灵活性。该方法关注的是CI而不是CI/CD,因此它并不总是涵盖整个过程。虽然它在配置云基础设施时给了开发人员一些灵活性,但要在较长的时间内平稳地运行CIOps,还需要大量的努力。

四、为什么是DevOps?

正如您所看到的,DevOps有多个分支和子集,它们都基于独特的方法和有趣的想法。为了加快您的CI/CD周期,所讨论的任何方法都非常有用。在两者之间进行选择,就是要找到一种最适合您开发的应用程序和您使用的云基础设施的方法。

也就是说,DevOps仍然提供了改进工作流程的最全面的方法,因为它在采用文化改进的同时处理了两个技术过程。两者在成功转型中同等重要。上述方法往往只关注技术方面,有些甚至专注于特定的平台、管理基础设施的方法或特定的工具。

归根结底,这就是为什么DevOps仍然是所有方法中实现最广泛的原因。这是一种久经考验的方法,可以在支持创新和协作环境的同时,创建一个高效且在技术上得到改进的CI/CD管道。

*参考文章:Stefan Thorpe:DevOps Versus Other 'Ops'

点赞
收藏
评论区
推荐文章
Peter20 Peter20
3年前
mysql中like用法
like的通配符有两种%(百分号):代表零个、一个或者多个字符。\(下划线):代表一个数字或者字符。1\.name以"李"开头wherenamelike'李%'2\.name中包含"云",“云”可以在任何位置wherenamelike'%云%'3\.第二个和第三个字符是0的值wheresalarylike'\00%'4\
Stella981 Stella981
3年前
DevOps和它的朋友们——聊聊其他 “Ops”(一)
DevOps不仅仅是将敏捷开发概念与IT运维相结合,还简化了在云环境中开发和部署应用程序的过程,从而使开发生命周期大大缩短。这就是DevOps作为一种开发方法流行的原因。即使在今天,DevOps仍然是大多数优化管道的核心。持续交付变成了规范,而不是要实现的目标。应用的开发是迭代的,新的更新被推送到云端,用zerodown代替部分或整个环境。因为
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
3年前
DOIS 2019 DevOps国际峰会北京站来袭~
DevOps国际峰会是国内唯一的国际性DevOps技术峰会,由OSCAR 联盟指导、DevOps时代社区与高效运维社区联合主办,共邀全球80余名顶级专家畅谈DevOps体系与方法、过程与实践、工具与技术。会议召开时间:2019070508:00至2019070618:00结束会议召开地点:北京主办单位:DevOps
Stella981 Stella981
3年前
Docker容器构建过程的安全性分析
来源:嘶吼专业版ID:Pro4houDevOps概念的流行跟近些年微服务架构的兴起有很大关系,DevOps是Dev(Development)和Ops(Operations)的结合,Dev负责开发,Ops负责部署上线,Docker出现之前,公司需要搭建一个数据库环境,有了Docker之后,只需在一些开源的基础镜像上构建出公司自己的镜像即可。因此目前
Stella981 Stella981
3年前
DevOps和它的朋友们——聊聊其他“Ops”(二)
上篇(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.zentao.net%2Fthread%2F291293.html)跟大家简单介绍了DevOps,以及与其概念相近的NoOps、DevSecOps和GitOps,“Ops家族”还包含其他形式,但归根结底,DevOps之所以更为
Stella981 Stella981
3年前
DevOps世界中的软件开发
!(https://oscimg.oschina.net/oscnet/f40e68cbfe8148deb00f040b4e917a0a.jpg)在整个软件开发过程中,开发人员通常需要花费大量时间来修复错误和漏洞,以便一切按计划进行交付。但是,通过DevOps实践,可以更轻松地管理和保护这些问题。这是由于以下事实:使用DevOps实践的软
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
4星期前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
陈哥聊测试 陈哥聊测试
4天前
DevOps和它的朋友们——聊聊其他 “Ops”(一)
DevOps不仅仅是将敏捷开发概念与IT运维相结合,还简化了在云环境中开发和部署应用程序的过程。