DevOps与NoOps现状分析

简介:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

原文来自:https://os.51cto.com/art/202002/611557.htm

本文地址:https://www.linuxprobe.com/devops-noops.html

相关文章
|
Prometheus 运维 监控
DevOps训练营-Kubernetes监控与分析最佳实践
近年来,Kubernetes作为众多公司云原生改造的首选容器化编排平台,越来越多的开发和运维工作都围绕Kubernetes展开,保证Kubernetes的稳定性和可用性是最基础的需求,而这其中最核心的就是如何有效地监控Kubernetes集群,保证整个集群的一个良好的可观察性。本期将为大家介绍如何对Kubernetes开展全方位的监控与分析。
6663 0
DevOps训练营-Kubernetes监控与分析最佳实践
|
jenkins 机器人 Devops
云效DevOps实践-如何基于云效实现测试自动化集成和分析
对于现代软件研发来说,持续、快速、高质量、低风险地交付需求特性,是业务对研发的主要诉求。而要做到这一点,除了要有良好的架构设计、卓越的工程能力,快速可靠的测试反馈也是其非常重要的一环,达到这一点,需要依靠测试自动化。 作为面向企业开发者的DevOps平台,云效提供了丰富的能力,帮助大家在DevOps流程中落地测试自动化实践。
4140 0
云效DevOps实践-如何基于云效实现测试自动化集成和分析
|
弹性计算 运维 监控
从 DevOps 到 NoOps,Serverless 技术的落地方式探讨
Serverless 技术正以一种全新的方式,帮助云上客户进一步节省云的使用成本,实践 NoOps 理念,同时,他也正深刻变革着开发者们的编程模式,所谓“Write locally, compile to the cloud”。
2661 0
从 DevOps 到 NoOps,Serverless 技术的落地方式探讨
|
机器学习/深度学习 运维 Devops
2017年云趋势——从DevOps到NoOps
本文讲的是2017年云趋势——从DevOps到NoOps【编者的话】本文介绍了2017年DevOps的最新趋势,提出了NoOps的概念,并且提出了采用智能化技术来促进DevOps向NoOps转型的思想。
1795 0
|
4月前
|
弹性计算 测试技术 持续交付
阿里云云效产品使用合集之如何进行自动化测试
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
4月前
|
敏捷开发 缓存 前端开发
阿里云云效产品使用合集之前端打包时npm安装卡住一般是什么导致的
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
4月前
|
敏捷开发 弹性计算 持续交付
阿里云云效产品使用合集之同一个主机部署是否支持下载多个制品
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
4月前
|
敏捷开发 监控 Java
阿里云云效产品使用合集之Codeup WebIDE环境下,如何使用通义灵码
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
4月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之如何进行大文件的迁移
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
4月前
|
敏捷开发 安全 测试技术
阿里云云效产品使用合集之如何在甘特图视图中看到负责人信息
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。