Data+AI时代,如何打造下一代数智平台? 了解详情
写点什么

NoOps 来了,DevOps 工程师的未来在何方?

Kentaro Wakayama

  • 2021-07-26
  • 本文字数:2658 字

    阅读完需:约 9 分钟

NoOps来了,DevOps工程师的未来在何方?

NoOps 是否意味着 DevOps 时代的终结?还是说它只是 DevOps 的下一个发展阶段?在这篇文章中,我们将深入探讨这一主题。



随着云技术采用率不断上升,应用程序架构的抽象级别也有所提高——从传统的本地服务器迁移到了容器和无服务器部署。自动化技术也已经发展到了让人工流程不再是首选的地步,即使是备份、安全管理和补丁更新等与基础设施相关的活动也更多通过自动化来执行。这种理想状态相当于一种 NoOps 环境,在这样的环境中负责管理你的应用程序生命周期的团队可以变得很小。理想情况下,在这样的环境中,你的运营团队所做的那些工作都没必要做了。

 

毫无疑问,DevOps 现在已经深深融入所有云优先组织的 DNA 中,如今成为了一种常态,而不是什么稀罕事物。云应用程序需要敏捷性,而 DevOps 提供了这种敏捷性。然而,NoOps 是否意味着 DevOps 时代的终结?还是说它只是 DevOps 的下一个发展阶段呢?

DevOps vs. NoOps


DevOps 的成功与否在很大程度上取决于你的开发和运营团队之间的协作水平,因为它将系统管理员和开发人员聚集在一起,打破了他们各自业务之间的障壁。与此同时,持续集成和持续部署的流程在 DevOps 中至关重要,它们有助于及早发现并预防问题,这反过来又会加快解决方案的交付速度。但请注意,DevOps 仍然需要运营团队的参与。组织仍然依赖运营团队来处理很多细节问题,例如:基础设施配置管理、安全设置、备份、补丁管理等。

 

有了云之后,抽象和自动化的发展水平日新月异。无论是计算、存储、网络还是安全性等等,随便什么事物都可以放在云端,“作为服务”来使用。云服务提供商也在他们的自动化生态系统上投入了大量资源。你可以使用自动化模板或只通过几个 API 调用就轻松配置你的应用程序组件。这些组件的持续管理过程也可以自动化,这意味着维护环境的开销变得越来越少,甚至不需要人力干预。这一趋势发展下去就是 NoOps——基础设施进一步抽象化,与开发工作流紧密集成,不需要运营团队来监督流程。

 

NoOps 是最早由Forrester创造的一个术语,旨在提高生产力并比 DevOps 更快地交付结果。在理想情况下,开发人员永远不必与运营团队的成员协作。相反,他们可以使用一组工具和服务,以安全的方式负责任地部署开发所需的云组件,包括代码和基础设施。托管云服务(如 PaaS 或无服务器)充当 NoOps 的支柱,并利用 CI/CD 作为其部署的核心引擎。因此,请注意,并非所有场景都适合应用 NoOps。

NoOps:优势和挑战


NoOps 和 DevOps 本质上试图实现的是相同的目标:改进软件部署流程并缩短产品上市时间。但是,DevOps 强调的是开发人员和运营团队之间的协作,而 NoOps 的重点已经转向了完全自动化。这听起来像是某种银弹,但这种新方法既有其优势,也存在着很多挑战。

优势


  1. 自动化程度更高,人数更少


NoOps 将重点转移到了无需人工干预即可按设计部署的服务上。从基础设施到管理活动,它的目标是使用代码来控制一切,这意味着所有组件都应该作为代码的一部分进行部署,并且这些组件应该是可以长期维护的。NoOps 本质上旨在消除支持代码生态系统所需的人力资源。


  1. 充分利用云的力量


NoOps 最适合利用 PaaS 和无服务器解决方案的云环境。微服务和基于 API 的应用程序架构完全符合它的要求,因为它们提供了较细粒度的模块化和自动化。AWS、Azure 和 GCP 等领先的云服务提供商非常注重在 PaaS 和无服务器方面提供更多服务和功能,这也会加速 NoOps 的采用。在今天的云端领域,越来越多的数据库即服务、容器即服务与函数即服务选项也有利于这一趋势,所有这些技术都支持高度自动化。


  1. 从运营到业务结果的关注点变化


NoOps 还将重点从运营转移了到业务成果上。与 DevOps 不同的是,在 DevOps 中,开发团队和运营团队一起协作以向客户提供价值主张,而 NoOps 在理想情况下消除了对运营团队的任何依赖,从而进一步缩短了产品上市时间。NoOps 的重点转移到了为客户提供价值这一优先任务上——换句话说,“速度为王”。

挑战


  1. 你仍然需要运维


从理论上讲,“不需要运营团队来照顾你的基础设施”可能听起来很诱人。但是,根据现实中你的组织可实现的自动化水平,你可能仍然需要运营团队来处理异常或监控结果。完全指望开发人员解决这个问题会抵消 NoOps 的优势,并让他们无法专注于交付业务成果。考虑到开发人员不一定具备解决运营问题所需的技能,这种办法也不是很现实。比如说在一个灾难恢复(DR)场景中,你仍然需要运营团队的支持来调用 DR 计划,并将流量切换到故障转移站点。


  1. 考虑你的环境情况


此外,并非所有环境都可以过渡到 NoOps。混合部署和遗留的老旧基础设施会产生瓶颈——你的确可以部署一些自动化过程,但在这些情况下不能完全消除人工流程。虽然 PaaS 和无服务器都是针对 NoOps 的技术,但它们也可能成为限制因素,尤其是在数字化转型期间。重构遗留的单体应用程序以适应 PaaS 范式,需要很多提前可能想不到的额外努力。在开始采用 NoOps 方法之前,你需要根据具体情况仔细评估利弊。


  1. 谁来负责安全性?


最后一点也很重要,那就是安全性和合规性问题。符合安全最佳实践的自动化部署并不会完全消除安全性方面的隐患。传统上,运营和开发团队之间的职责是分离的。运营团队与安全团队合作实施控制措施,保护应用程序免受威胁和漏洞的侵害。同时,运营团队还负责处理身份和访问管理(IAM)解决方案。

 

云端的威胁媒介和攻击方法日新月异,你的云端安全控制策略也应该跟上脚步。合规性也是如此。并非所有组织都可以将这方面的责任委托给一组自动化流程。减少或移除运营团队可能意味着你需要增加对安全团队的投资,才能确保你的环境的安全性和合规性。

NoOps 是目的地


人们更多把 DevOps 看作是一个旅程,而不是一个目的地,它的重点是持续改进。更合理的角度来看,NoOps 是 DevOps 的演变结果,其目标是实现高度自动化的完美最终状态。它可以让组织将时间、精力和资源从运营转到业务成果上。然而,这种变化不可能一蹴而就。

 

要让 NoOps 成为现实,组织需要做很多基础工作。你需要在云端选择正确的应用程序技术栈和托管服务(比如 PaaS 和无服务器),实现顺利过渡。你需要加入组件管理、配置和安全控制才能开始迁移过程。即便如此,也会有一些松散的组件(比如遗留系统),需要更多的时间和精力来完成迁移,或者它们根本就没法迁移。即使只剩下一个遗留系统,你也需要安排人手来处理它的运维需求。

 

在 NoOps 世界中,DevOps 工程师的角色也会发生变化,因为他们有机会学习 NoOps 所需的很多新技能和流程。与 DevOps 一样,NoOps 更多是关于文化和流程,而非技术层面的转变。组织需要有意识地做出这种转变,同时脚踏实地地处理转型过程中面临的种种实际挑战。

 

英文原文链接:https://codersociety.com/blog/articles/noops

2021-07-26 08:004737

评论

发布
暂无评论
发现更多内容

突破边界,华为存储的破壁之旅

脑极体

直播|一次镜像,处处运行!如何制作一个 StarRocks Docker 镜像?

StarRocks

如何看待腾讯云数据库负责人林晓斌借了一个亿炒股?

雨果

DaaS数据即服务

为你的“架构”安排定期体检吧!

凌晞

构架 软件架构治理 架构治理

以消费场景为驱动的CMDB要怎么建?

鲸品堂

C#/VB.NET:从 PDF 文档中提取所有表格

Geek_249eec

C# PDF 表格 VB.NET

升哲科技携全域数字化方案亮相2022全球数字经济大会

SENSORO

人工智能 大数据 物联网 数字经济

使用常见问题解答软件的好处有哪些?

Geek_da0866

面试突击70:什么是粘包和半包?怎么解决?

王磊

Java 面试题

基于BiGRU和GAN的数据生成方法

行者AI

人工智能

实战模拟│微信 JSSDK 实现自定义分享、手机选图拍照、图片音频处理、地理位置、摇一摇等功能

经验分享 微信开发 签约计划第三季 8月月更 jssdk

研发团队数字化转型实践

思码逸研发效能

研发效能 数字化

有点奇怪!访问目的网址,主机能容器却不行

华为云开发者联盟

云计算 主机 云网络 后盾

使用JDK的同步容器时,应该避免那些坑

华为云开发者联盟

后端 开发 华为云

今年最火爆的词:商业分析,看这一篇就够了!

博文视点Broadview

AIOps智能运维的领跑者擎创科技正式入驻InfoQ 写作社区!

擎创夏洛克AIOps

AIOPS 智能运维 IT运维 大数据运维 智能运维AIOps

不要再使用MySQL online DDL了

Qunar技术沙龙

经验共享|在线文档协作:企业文档处理的最佳选择

Baklib

开源一夏 | 手撸代码,Redis发布订阅机制实现

知识浅谈

开源 8月月更

直播系统聊天技术(八):vivo直播系统中IM消息模块的架构实践

JackJiang

网络编程 架构设计 即时通讯 IM

电商库存系统的防超卖和高并发扣减方案

京东科技开发者

技术 电商 电商系统

SENSORO成长伙伴计划 x 怀柔黑马科技加速实验室丨以品牌力打造To B企业影响力

SENSORO

品牌 产业生态 创新生态

面试必问系列之最强源码分析,带你一步步弄清楚Spring如何解决循环依赖

小隐乐乐

Java 面试题 Spring5源码解析

Database Plus 的云上之旅:SphereEx 正式开源 ShardingSphere on Cloud 解决方案

SphereEx

数据库 ShardingSphere SphereEx #开源

使用设备树时对应的驱动编程

贾献华

8月月更

【LeetCode】设计食物评分系统Java题解

Albert

LeetCode 8月月更

C++内存分区模型分析与实例以及扩展

CtrlX

c++ 前端 程序员进阶 后端、 8月月更

彻底透彻Docker常用网络模式及应用场景

知识浅谈

开源 8月月更

关于解决Hexo常见报错的处理以及上传时出现errorSpawn错误的详细说明

CtrlX

Hexo Blog 报错 博客搭建 8月月更

Open Serverless Benchmark Initiative: 华为云联合上海交大发布ServerlessBench 2.0

华为云开发者联盟

Serverless 华为云

JavaScript高级程序设计-迭代器

掘金安东尼

JavaScript 前端 8月月更

NoOps来了,DevOps工程师的未来在何方?_语言 & 开发_InfoQ精选文章