开发运维已死,无运维万岁

 

在如今的IT发展趋势中,开发运维(DevOps )这个词非常流行。这个词是几年前随着单页应用程序(SPA)的盛行而开始火爆起来的。然而,在接下来的几年中,你将听到一个新的流行语:无运维(NoOps)。

开发运维已死,无运维万岁_第1张图片

作者 | Daniele Fontani

译者 | 弯月,责编 | 刘静

出品 | CSDN(ID:CSDNnews)

以下为译文:

很抱歉这个标题看上去很像是骗点击量。我讨厌使用这样的手段,但我需要引起读者的注意。在如今的IT发展趋势中,开发运维(DevOps )这个词非常流行。这个词是几年前随着单页应用程序(SPA)的盛行而开始火爆起来的。

我认为从技术接受的角度来看这毫无问题。突然间,有人采用了某种新技术,然后所有人都开始采用并传播。

在过去的几年中,开发运维就是这样一种情况。然而,在接下来的几年中,你将听到一个新的流行语:无运维(NoOps)。

 

640?wx_fmt=png

开发运维与无运维之间有什么区别?

 

开发运维是结合了开发和运维,是开发和运维工程师互相配合以定义驱动服务生命周期(从设计到交付)的流程的实践。

而无运维则表明没有运维。它的理念是移除所有平台管理的工作,并减少开发人员与基础设置之间的摩擦。

 

640?wx_fmt=png

为什么我们需要开发运维?

 

技术和业务的需求难度越来越大,IT服务变得越来越复杂。这就是为什么交付如此重要,以及为什么我们需要协调整个过程的原因。

在云的帮助下,我们不再需要大量的系统管理员,但是对开发运维的技术和业务技能的需求却很高。为了实现开发运维,并创造更多利益,我们需要考虑的不仅仅是技术交付。

 

640?wx_fmt=png

为什么以前我们没有开发运维?

 

这个问题有很多答案。你可以认为没有这种必要,因为当时的情况很简单或文化还不健全。

我同意这些说法,但我认为还有其他的根本原因。根据我的经验,技术才是最关键的问题。交付的自动化很难实现。

十年前,大多数系统都没有自动化的构建过程,也没有定义良好的工作流程(如git-flow)。当时没有物美价廉的CI解决方案,因此很难实现。

我记得2009年,我打算部署一个.net门户网站。这是我的第一个作品。某个星期六的早晨,我花了一上午的时间尝试使用开源工具创建一个自动部署系统,最后我放弃了。

我知道维护这样的系统比手动部署更昂贵。而如今,我们可以使用Azure DevOps,只需通过Web浏览器就可以在十分钟内完成这些操作。时代已经变了。

 

640?wx_fmt=png

为什么我们需要的不仅仅是开发运维?

 

不难理解为什么在经过大量的努力将开发运维引入到公司后,每个人都感觉自我良好。然而,问题在于,IT是一个瞬息万变的世界。

如今的市场需求非常苛刻,而你却无法简单地说一句:“我厌倦了变化,让我休息片刻。”

云的到来加速了情况的复杂性。我们可以通过云实现复杂的解决方案并解决许多难题,但是我们也需要掌握更多技术。

云的所有服务均以可伸缩的方式出售,但你始终需要一些开发运维。这意味着你仍然无法摆脱部分手工作业。在这个过程中,大部分时候你仍然需要一个人在背后默默地工作。这意味着你仍然在按照旧的方式工作。

无运维的目的在于定义一个过程,在此过程中,无需将开发与运维结合到一起也可以让系统正常工作。无运维的目标是:无需手工作业就可以通过设计部署系统。

基本上,无运维的方法如下:开发人员将代码提交到代码库中,所有的部署就会自动完成。似乎这是一个连续交付的过程,但无运维的范畴远不止于此。我们这里所说的部署不仅指应用程序,还包含基础设施。

 

640?wx_fmt=png

实现无运维的可能性

 

从技术的角度来说,无运维完全可以实现。具体的实现有很多选择,但是,我们基本上可以总结如下:

• PaaS解决方案:例如Heroku,或托管在Azure、AWS和所有其他供应商上的云服务;

• 从大型供应商(AWS、Azure等)购买的无服务器计算;

• 建立可复制的基础设施(第一次建立基础设施时需要运维)。

上述这类解决方案非常适合解决基础设施,而传统的部署工具可以驱动流程并交付应用程序。

 

640?wx_fmt=png

闪光的未必都是金子

 

我承认移除基础设施管理的想法很诱人。就像拔掉一颗蛀牙一样。基础设施管理的成本非常高昂,而且总会在开发人员和运营之间产生摩擦。

然而,重点在于有问题的不是基础设施,而是流程。如果流程设计合理,就不会有摩擦,也不会有延误,一切都会正常进行。

你担心管理的成本?那么就考虑整体的成本,而不仅仅是管理。也许基于非PaaS云的基础设施在管理上的成本更高,但最终的成本仍然是相同的。说到底人才是决定性因素,不是吗?

我告诉你一个秘密。有些应用程序可以部署在PaaS上,而有些则不能。

如果你的应用程序很简单,那么PaaS会是一个很好的解决方案,开发运维人员很乐意削减工作量。但如果你想创造另一个Netflix,那么可能就需要更多控制权。

这就是为什么有人始终未能实现开发运维和无运维的原因。实现方法只有一个:创建智能的基础设施,尽量减少维护工作,并自动化一切。你可以研究一下Google Cloud等大型云服务或其他服务,找到适合自己的最佳解决方案。

那么,从这个角度来看,什么是无运维?无运维只不过是向云过渡的过程中出现的又一个流行语。

原文:https://medium.com/better-programming/devop-noops-difference-504dfc4e9faa

 

本文为 CSDN 翻译,转载请注明来源出处。

你可能感兴趣的:(开发运维已死,无运维万岁)