盘盘 DevOps“衍生品”: DevSecOps、NoOps、AIOps

原创
10/08 15:30
阅读数 2.1W

众所周知,DevOps 自 2008 年在多伦多敏捷会议上诞生之后,现在已被广泛采用。采用 DevOps 可以帮助组织转变和加快软件交付、测试和部署的方式,有利于组织进行软件创新,快速交付并提高安全性。

但是,DevOps 的采用也存在一些困境,比如安全性,通常在 DevOps 流程中,安全流程被排到末尾,这无疑会埋下安全隐患。与此同时,随着组织业务的拓展,数据量不断增加,如何更快一步交付软件,打通更多部门间的隔阂,甚至是有效预测未来可能发生的故障,成为新的需求出现,因此,在 DevOps 之外,一系列新的概念出现了:DevSecOps、NoOps、AIOps。

DevSecOps

DevSecOps 的目标是希望达成“每个人都对安全负责”,在不牺牲所需安全性的情况下,达成快速交付。随着业务对 DevOps、敏捷开发和公共云服务需求的提升,传统安全流程的改善工作迫在眉睫。以往,安全工作随着瀑布式的开发流程进行,在系统发布前做安全合规检测,这种方式非常容易在系统内部造成固有风险,影响迭代。

DevSecOps 的做法是将安全流程集成到所有级别的开发和运营工作中,以便减少摩擦保证安全性,促进创新,并确保安全和隐私等不会被开发抛在后面。如下图所示,DevSecOps 将安全嵌入在整个交付周期中,并且可以在每次需要更改或调整时进行迭代。

(Michael Calizo, CC BY-SA 4.0)

DevSecOps 鼓励安全从业者适应和改变他们旧的、现有的安全流程和程序。这听起来可能很容易,但改变流程、行为和文化总是很困难,尤其是在大型环境中。

DevSecOps 要求在整个产品开发和部署的过程中引入注重安全的文化和思维。当然,顺利采用 DevSecOps 并不十分容易,它和 DevOps 一样,最大挑战依旧是文化问题。企业文化的变革通常需要高管支持,由企业内部自上而下形成。此外,为了加速文化变革,企业还可以建立跨职能团队,共享成功和经验,以鼓励更广泛地采用。组织施行 DevSecOps 改革可以从使用小而成功或是有潜力的案例开始,帮助团队在不影响组织核心业务的情况下学习和试错。

当然,在整个改革过程中,也有一些指标可以参考,改革的计划时间、部署频率等等。最后,DevSecOps 若成功施行,可以使组织快速将软件交付到生产环境,降低故障风险并快速修复。

AIOps

AIOps 的重点是想在问题发生之前捕捉到它,并通知相关团队解决。根据 IBM 给出的定义,AIOps 具体是通过 AI 方式改善 IT 流程和运营方式,使用大数据、分析和机器学习功能来执行以下操作:

  • 收集并汇总由多个 IT 基础架构组件、应用程序和性能监视工具生成的、不断增加的海量运营数据。
  • 智能地从“噪声”中筛选出“信号”,以识别与系统性能和可用性问题相关的重要事件和模式。
  • 诊断根本原因并将其报告给 IT 部门以便他们快速响应和补救,或在某些情况下自动解决这些问题而无需人工干涉。

通过将多个单独的手动 IT 运营工具替换为单一的智能自动化 IT 运营平台,AIOps 使 IT 运营团队能够更快地作出响应,甚至主动处理慢速和中断事件,从而大幅减少工作量。

它可以缩小下面两大对立面之间的差距:一是日益多样化、动态难以监控的 IT 环境,二是用户对应用程序性能和可用性几乎或根本无中断的期望。 Gartner 估计,与原有基础架构相比,一般企业 IT 基础架构每年会产生 2 至 3 倍的 IT 运营数据。基于领域的传统 IT 管理解决方案无法跟上数据量增长的步伐。而 AIOps 可以直观呈现所有环境的性能数据和依赖关系,分析数据以提取慢速或中断情况相关的重要事件,并自动提醒 IT 人员关注问题、根本原因及建议的解决方案。

NoOps

NoOps 即指“无运维”。

此前,飞算云智总裁陈定玮曾对企业运维问题发表过看法,他表示,对于传统企业或者大型金融机构而言,IT 建设过程中很大一部分是人力成本支出,也就是需要大量驻厂人员保证一个新系统的顺利上线,上线之后依旧需要专门的人员负责后期运维。换个角度来看,当前的很多工具还是没有达到理想状态。如果软件质量够好、安全性够高、运维工具足够简单,其实后续可以不需要驻厂人员来解決“因品质及安全”所带来的一系列问题,目前飞算 SoFlu 全自动软件工程平台恰恰可以实现这一点。

NoOps是针对运维工作提出的一个概念。

十年前,Forrester 发布报告“扩大 DevOps 至 NoOps”,预测在不久的将来,一些企业将越来越多地依赖于云,开发者将能自动地进行程序构建、测试与部署等运维操作,最终达到NoOps。虽然该术语表示这些公司将不再需要运维人员,但是报告的本意谈论的却是开发者将使用更加自动化的工具,而这些工具需要更少的人工干预。

NoOps 认为 IT 环境事实上可以从底层基础架构中抽象出来,以至于不需要专门的团队来管理内部软件。在传统的企业开发流程汇总,应用程序开发团队负责收集软件程序的业务需求并编写代码,开发团队在相较封闭的开发环境中测试,随后发布给运维团队,而在 NoOps 场景中,运维团队需要做的维护和其他任务将实现自动化。

关于 DevOps 和 NoOps 的区别,有这样一个总结:“在真正的 NoOps 中,开发和运维永远不需要交互来完成他们的工作。而在 DevOps 中,它们在整个生命周期中协同工作,”塔夫茨大学研究生工程院长、IEEE 研究员 Karen Panetta 说,“在最真实的形式中,NoOps 所说的是,'让我们自动化 [开发、部署和维护],这样我们就可以将人从循环中移除,一切都得到妥善处理。”

随着互联网世界的飞速发展以及传统企业数字化转型浪潮的到来,越来越多的企业在寻求从软件开发到交付使用以及迭代维护更顺畅的方式,从而催生出上述 DevSecOps、NoOps、AIOps 概念的出现。

与此同时,站在服务企业的角度上,企业的 IT 诉求其实可以简单总结为一点:花更少的力气,做更多的事。将更多功能,更多对 IT 全流程的优化方案吸纳融汇成一个自动化工具,或许才是企业 IT 部门降本增效的究极秘密武器。

以飞算 SoFlu 全自动软件工程平台为例,真正实现了“你只需要输入流程图,平台助你实现自动开发、自动测试、自动运维”的目标,不仅仅打通了开发运维的流程,更在过程中关注安全,注重知识文化的共享,全面解放企业 IT 生产力。

据了解,飞算 SoFlu 全自动软件工程平台致力于通过“软件工程变革”全面提升企业的软件工程能力,如构建开放共赢的“知识共享体系”、打造高质量的“软件开发全流程保障”,在实现开发效率数十倍提高的同时,成本却呈几何级缩减,将软件工程从传统开发1.0时代,带入全自动化开发的2.0时代,促进软件产业走向良性循环。

未来,自动化的软件工程平台在承接越来越多的企业需求之后,企业将快速从繁冗的开发运维工作中解放出来,从而保持精力,在技术、行业市场中引领新的潮流。

展开阅读全文
打赏
3
2 收藏
分享
加载中
不同层次的封装而已,越上层前置条件越多。
不过大量减少了日常运维量,倒逼运维提高开发能力和全局能力
10/13 10:09
回复
举报
都是换汤不换药的一种演进罢了
10/11 09:44
回复
举报
NoSQL, NoOps, 既然都NoOps了当然也要NoLog, NoCloud, NoServer
10/09 17:07
回复
举报
NoCode
10/11 09:26
回复
举报
NoDeveloper,自己干掉自己,哈哈哈
10/11 09:34
回复
举报
微服务的下一步是无服务,微前端的下一步是无前端, NoMovement 未来的趋势
10/11 22:18
回复
举报
no peple
10/12 10:05
回复
举报
更多评论
打赏
7 评论
2 收藏
3
分享
返回顶部
顶部