DevOps已死,NoOps永生

Posted 分布式实验室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DevOps已死,NoOps永生相关的知识,希望对你有一定的参考价值。


很抱歉,我为了吸引注意力,用了这个诡异的标题。时下的IT趋势中,DevOps正是一个热语。它起源于几年前SPA(单页面应用)的前端应用。我认为常态的IT技术适应就是,在新技术爆发的那一时刻开始,立马就会被敏锐的人们所采用,然后被快速传播开来。最近几年的DevOps 就是这样的。但再过几年,你将会听到另外一个流行词:NoOps。


DevOps和NoOps的差异

DevOps已死,NoOps永生


DevOps是开发和运维的融合,是开发和运维工程师共同协作,定义应用从设计到交付全生命周期过程的实践。

NoOps的意思是无须操作。它的理念是去掉所有的平台管理部分,从而降低开发人员与基础设施之间的摩擦。


为何需要DevOps?

DevOps已死,NoOps永生


随着技术和业务需求越来越具有挑战性,IT服务也变得越来越复杂。这使得交付变得越来越重要,也让我们不得不投入精力来编排整个应用交付过程。

有了云平台之后,对系统管理员需求开始下降,但对DevOps技术和业务技能的需求依然很高。要实现DevOps并恰如其分的使用它。这让我们需要考虑技术交付之外的情况。


为何以前没有DevOps?

DevOps已死,NoOps永生


答案有很多个,你可能会说以前的业务场景更简单或没有足够的技术文化氛围。我很认同上述观点,但我认为那些不是根本原因。根据我的经验,更大的原因应该是技术。交付的自动化其实是很难实现。

十年前的大多数系统,在默认情况下,都没有一步构建或如git-flow一样定义良好的工作流。当时也没有高性价比的CI解决方案,所以难以实现自动化交付。

我记得2009年,我打算部署我自己的一个.net门户。我花了一个周六的上午尝试使用开源工具创建一个自动部署系统,但最后我还是放弃了。因为我知道维护自动化交付比手动部署它的成本要高得多。到了现在,如果使用Azure DevOps服务的话,我只需使用Web浏览器就可以在十分钟内完成。真是一日千里啊!


为何我所需的比DevOps能做到的要多?

DevOps已死,NoOps永生


这个原因很好理解,当你历经波折将DevOps引入到你公司后,你可能会认为状态良好啦。但是事实却是IT世界,事物的变化比人快,现在市场需求越发火爆,不断的需求带来了不断的变化和调整,而你不能简单的应对一句:“我已经疲于应付变化,需要歇一下。”

云时代的到来让事情变得更加复杂。它让我们得以实现复杂的解决方案并解决许多挑战,但也需要我们具备更多的技能。

云端的所有组件都是可伸缩的,但是它会牵扯到某些DevOps的配置,既总是需要一些手工干预,在大部分流程运转的背后,仍然需要有人参与。可以理解为这还是旧的工作模式。

NoOps的目的是定义一个不需要开发与运维相结合,就可以使流程顺利进行的过程。NoOps有一个目标:通过设计使所有东西都可以完成部署,而不需要任何人参与。

NoOps大致的方法如下:开发人员将代码提交到代码库就已经完成了全部的部署。看起来与连续交付非常相似,但它所包含的范围更大,这里面不仅有应用程序,还包含了基础设施的部署。


NoOps是如何做到的?

DevOps已死,NoOps永生


相对于DevOps,NoOps是需要技术支持的。这个支持有很多选择,但基本上,我们可以总结如下:

  • NoOps是一个PaaS解决方案,像Heroku或由Azure,AWS等云服务商所提供。

  • 从AWS,Azure等服务商处购买的无服务器计算服务。

  • 创建了可复制的基础设施(这几乎是第一步的必要操作)。


上述类似的方案很适合解决基础设施部分的工作,而让传统部署工具能够推动流程处理,交付应用。


闪光的未必都是金子


我坦承,取消基础设施管理的想法很有诱惑力,感觉就像拔掉一颗坏牙。因为在通常情况下,基础设施占用了大量的管理成本,还带来了开发和运维之间的摩擦。

但另外观点是,问题不在于基础设施,而在于流程。如果流程设计良好,就不会有摩擦,不会有延迟,一切都可以有条不紊的进行。

你会担心管理成本吗?其实你应该考虑整体成本,而不仅仅是管理成本。也许你的云上基础设施的管理成本更高,但最终的成本会是相同的。但这也不绝对,困惑吗?这其中的秘密就是有些应用程序可以部署在PaaS上,有些则不能,仅此而已。如果你的应用程序很简单,那么PaaS是一个很好的解决方案,DevOps人员将乐于减少工作量。但如果你要推出的是下一个Netflix,那你将需要更多的控制权利,PaaS服务就没那么贴切啦。这就是根源所在。

说到最后,其实无所谓DevOps或NoOps。最根本的驱动是:用尽可能少的维护工作,去创建智能的基础设施,并将一切自动化。使用如谷歌云或其他的公有云服务,你都能为你的应用场景找到最佳的解决方案。

那么,从这个角度来看,什么是NoOps?本质就是云化趋势中的另一个流行词。

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


基于Kubernetes的DevOps实战培训


基于Kubernetes的DevOps实战培训将于2020年6月19日在上海开课,3天时间带你系统掌握Kubernetes,学习效果不好可以继续学习。本次培训包括:容器特性、镜像、网络;Kubernetes架构、核心组件、基本功能;Kubernetes设计理念、架构设计、基本功能、常用对象、设计原则;Kubernetes的数据库、运行时、网络、插件已经落地经验;微服务架构、组件、监控方案等,点击下方图片或者阅读原文链接查看详情。


以上是关于DevOps已死,NoOps永生的主要内容,如果未能解决你的问题,请参考以下文章

大厂都用DevOps!十分钟带你了解自动化在DevOps中的运用

托管服务终结DevOps!

传统 Ajax 已死,Fetch 永生

[转] 传统 Ajax 已死,Fetch 永生

软件已死,软件永生

智能手机:“单兵作战”已死,多元化营销永生