请耐心接受,因为这可能会加深理解。我一直在阅读一些有关在我正在构建的应用程序中使用的错误记录SaaS的文档。

几次,他们给我的印象是DevOps有点像所有开发人员。例如,某人将其实现为项目的一部分,而DevOps则是企业中的头衔/角色……我类似于……想像一下,作为一名开发人员,我必须编写微服务,因为它需要是有效的,而另一个家伙却四处走走,称自己为仅做微服务的“微服务”。听起来有点奇怪吗?无论如何,在所有开发领域的最佳时机上都是模糊的...我最好的猜测也许是DevOp会更专业?

问题
基于以上...

如果顺理成章地认为DevOps是所有开发人员的责任,那么DevOps人士(与开发人员)的期望角色是什么?

...像剩下的一样要做DevOp吗?

评论

@ 030他指的是开发人员vs DevOps,“如果从理论上讲DevOps是所有开发人员的责任”

@ Pierre.Vriens您对这个问题的回答对我来说很有意义。只是希望我不喜欢它,因为它似乎支持了我的观点。有时候很难保持公正:P。

#1 楼

自从2010年以来,这个行业一直有两个紧密联系但仍存在争议的问题。

第一个问题是DevOps方法本身的性质。它诞生于在软件交付过程的不同方面之间进行更好的协作的想法。这涉及许多非技术方面,例如责任分担,更好的沟通,知识共享。旨在进行的另一项改进是产品交付本身,从设计软件到部署和运行实时系统。因此,它也为我们带来了技术上的改进。实际上,没有什么新鲜的东西,因为您在大多数“ DevOps职位空缺”中看到的所有东西,例如CI / CD,配置管理,日志管理,监视等等,都已经存在了数十年,甚至在术语DevOps首次使用之前就已经存在了。时间。
因此,DevOps作为方法论只是将所有这些内容放在一块板上。

第二件事是:炒作。
该方法的普及是因为它旨在解决大多数行业参与者或多或少存在的问题。因此,有些人开始在这里看到不存在的“银色子弹”。一些神奇的药水可以解决他们遇到的问题。
所以我们在这里有很高的需求。结果,供应也开始增长。显然,企业正在寻找可以为他们实施“ DevOps”的人。通常,您通常最初如何确定可以使用某种工具/方法论/什么的人?我敢打赌-答案是-通过在其简历中寻找合适的徽章:)

人们意识到,被徽章为DevOps工程师,而不仅仅是成为系统管理员或开发人员-使它们在价值上更具独特性和价值到那个时候的市场。这就是市场整体运作的方式-您提供产品并宣传有需求的人正在寻找的东西,因此他更喜欢您作为供应商,而不是其他人。

在这里的某个地方,我们的重点从整个方法论转移到了技术方面。我没有确切的答案,为什么会这样,可能是因为大多数市场参与者都错过了DevOps思想的重点,并且只了解那些可以轻松衡量的思想。

我们现在让Jenkins运行吗?打勾!
我们使用厨师/木偶吗?勾选!

很难对团队成员之间的协作,沟通改进等进行相同的度量。而且高层管理人员通常会寻找某种可衡量的结果,而不是短暂的结果。

所以,您绝对正确– DevOps应该由团队中的每个人来完成,只因为它是关于团队本身的,而不是某些做出改变的人,所有人以及其他一切都保持过时。

评论


这是一个了不起的答案,目前应该有15个投票。我对这个行业感到沮丧的部分原因是,对美国公司来说,是这样的心态:DevOps是一套工具,就像您说的那样,我们有Puppet,Tick,Jenkins,Tick。我已经完成了没有标题的DevOps工作,也不需要DevOps工具的清单。荣誉Serhii。

–丹尼尔(Daniel)
19 Mar 9 '19 at 4:40

#2 楼

如今,DevOps ...


DevOps被公认为/仅是一种文化,而不是职称,
,但我们也不能忽略这样一个事实,即大量公司
Wikipedia说:


“ DevOps的主要特征运动的宗旨是在软件构建的各个阶段(从集成,测试,发布到部署以及基础架构管理)大力倡导自动化和监视。DevOps的目标是缩短开发周期,增加部署频率,发布更可靠,并与业务目标保持一致。”


(我的观点):

作为一名DevOps工程师,我(自己打开一罐蠕虫)意识到,我更多地是支持者开发团队。


旨在促进和创建有用的系统/工具,我和开发人员可以轻松地管理和使用这些系统/工具。
使所有手动工作自动化并创建简化的CICD流水线
,确保开发人员的代码得到测试,然后轻松地部署到生产中。
操作和监视将任何问题通知我们和开发人员,因此可以尽快解决这些问题。

使公司的所有技术团队(有时甚至是非技术团队)或个人轻松“共享”和处理所有“ DevOps”职责。

评论


devops.stackexchange.com/a/1589/210

– 030
17年12月13日在22:45

#3 楼

DevOps的角色仍在形成中,因此组织之间的职责可能有所不同。另外,这是不久前开发人员的责任。以及管理测试(单元测试,集成测试...),管理基础架构,包括管理正在使用的云服务(如果有)。使用提供给团队的工具,将增加复杂性。增加的复杂性需要团队花费更多的时间来正确设置。这样一来,一个或两个团队成员将获得设置所有必要工具的经验。这些团队成员将需要在开发的运营方面花费更多的时间,因此这些团队成员将成为DevOps。

所有开发人员都应该在开发的操作方面有一定的知识,但是现在已经发展到这样的程度:要求所有开发人员充分了解当前的操作和他们需要的开发工作已经太多了知道(如何将所有组件捆绑在一起,需要任何框架...)