DevOps已死,NoOps永存
这发生在过去几年的DevOps上。在接下来的几年里,你会听到一个新的时髦词:noops。
DevOps和Noops的区别是什么?
DevOps是开发和运营的融合,是开发和运营工程师合作定义从设计到交付的服务生命周期过程的实践。
NoOps意味着没有操作。它的理念是移除所有平台管理部分,减少开发人员和基础设施之间的摩擦。
为什么我们需要DevOps?
技术和业务需求越来越具有挑战性,IT服务变得越来越复杂。这就是为什么交付如此重要,为什么我们需要协调整个过程。
有了云,我们不需要更多的系统管理员,但对DevOps技术和业务技能的需求很高。要实现DevOps并转移到一个利益流动的地方,您需要考虑的不仅仅是技术交付。
为什么我们以前没有DevOps?
这个问题有很多答案。您可能会说没有必要,因为场景更简单,或者没有足够的文化。
我可以同意这些论点,但我认为根本原因是另一个。根据我的经验,更大的问题是由于技术。交付的自动化很难实现。
十年前,大多数系统都没有一步构建或者像git-flow这样定义良好的工作流。当时,没有任何更便宜的CI解决方案,所以难以实现的就不实现了。
我记得2009年,当时我打算部署一个.NET门户。这是我最早的作品之一。我花了一个周六上午的时间试图使用开源工具创建一个自动部署系统,最后,我退出了。
我明白维护这样一个系统比手动部署更昂贵。如今,使用Azure DevOps,我只需使用web浏览器就能在十分钟内完成。时过境迁。
为什么我们需要的不仅仅是DevOps?
很容易理解,为什么在您的公司中经过大量努力引入DevOps,您可能会认为自己很好。问题是,在IT世界里,事物的变化比你快。
现在市场的要求太高了,你不能简单地说:“我厌倦了改变,请让我休息一下。”
云的到来使事情变得更加复杂。它允许我们实现复杂的解决方案和解决许多挑战,但需要更多的技能。
你的云的所有部分都是可伸缩的,但它总是需要一些DevOps来设置。这意味着你总是需要一些手动的努力。你仍然有一个人在这个过程的大部分部分后面。这意味着用旧的方式工作。
NoOps的目的是定义一个过程,在这个过程中,不需要将开发的一部分与操作结合起来来使事情正常运行。NoOps有一个目标:不需要任何人的努力,就可以通过设计来部署所有的东西。
基本上,NoOps方法如下:开发人员将代码提交到存储库中,然后部署所有内容。它可能看起来完全像连续交付,但它更多。这里,对于部署,我们不仅指应用程序,还指基础设施。
NoOps怎么可能?
至于DevOps,NoOps是通过技术实现的。这里有许多选择,但基本上,我们可以总结如下:
像Heroku这样的PaaS解决方案,或者托管在Azure、AWS和所有其他供应商上的云服务。
从大型供应商(AWS、Azure)购买的无服务器计算。
创建您的可复制基础结构(是的,这几乎是第一次需要操作)。
这样的解决方案有利于解决基础设施部分,传统的部署工具可以驱动流程并交付应用程序。
闪光的不全是金子
我承认移除基础设施管理的想法很诱人。就像拔掉一颗坏牙。基础设施是一项很大的管理成本,并在开发人员和运营商之间产生摩擦。总是。
但重点是另一个。基础设施不是问题。问题正在处理中。如果这个过程设计得很好,你就不会有摩擦,你就不会有延迟,一切都会正常工作。
你害怕管理成本吗?只要考虑整个成本,而不仅仅是管理。也许您的非PaaS云基础设施在管理方面的成本更高,但最终成本是一样的。看情况.困惑?
我告诉你一个秘密。有些应用程序可以部署在PaaS上,有些则不能。仅此而已。
如果您的应用程序很简单,PaaS是一个很好的解决方案,DevOps的人会很乐意减少工作量。如果你正在推出下一个Netflix,也许你会需要更多的控制。
这就是为什么最终没有DevOps和Noop。只有一个驱动因素:用尽可能少的维护努力创建智能基础设施,并将一切自动化。使用大型云服务
谷歌云
或其他人,您将找到适合您的方案的最佳解决方案。
那么,从这个角度来看,什么是Noops呢?只是云转型趋势中的另一个流行语。
- 点赞
- 收藏
- 关注作者
评论(0)