NoOps:对完全自动化IT操作的追求

2019-08-29 02:08:40 计算机世界 2019年31期

Mary K. Pratt Charles

自动化让IT领导们关注有没有可能在没有人工操作的环境下工作。但是,DevOps的这种演变可能比实际情况复杂得多。

自动化已经成为简化IT操作的一种广泛使用的工具,MindTree就是这样一家企业,在向实现完全自动化的环境迈进时,从其基础设施中去除了手工流程。

这家咨询和管理服务提供商的战略遵循了很多科技企业普遍持有的雄心勃勃的目标:摆脱常规的IT操作工作,让机器来处理它。

Mindtree负责基础设施的全球副总裁Rene Head介绍说,这样一种几乎没有人工操作的工作环境能够实现更快、更顺畅的开发和部署体验——这也意味着大幅缩短了新功能和服务的業务请求的周转时间。

Head说:“这不仅体现了IT部门优秀的交付能力,而且也是业务部门的胜利。”

这就是NoOps的承诺,这一新兴的IT趋势正在推动一些企业超越DevOps提供的自动化功能,进入不需要人工操作的基础设施环境。

NoOps是什么?

NoOps的理念是软件环境可以完全自动化,不需要运营部门来管理它。NoOps的意思是“无操作”,这一概念推动了已经持续了十年甚至更长时间的一种趋势。

很明显,NoOps与外包IT运营不同。这并不是说要迁移到SaaS或者云,然后期望这些供应商运行操作——尽管MindTree等托管服务提供商和云计算公司本身确实在开展NoOps工作,目的是提高自身基础设施的速度和灵活性。

NoOps也不仅涉及一种技术。它不同于无服务器技术、容器、Kubernetes或者微服务——尽管这些都在把IT部门进一步推向NoOps过程中发挥了作用。

NoOps也不是能买到的平台。

相反,专家们说NoOps需要多种技术,更重要的是需要对IT过程和工作流程进行重新设计,自动化、机器学习甚至人工智能不仅可以消除重复的、单调的任务,而且还避免了员工现在处理的更高级别的任务。

然而,请注意,一些行业领导们也认为NoOps只是一个理想的概念,而不是最终的实际情况。他们说,认为IT部门在整个生命周期管理过程中,能够从自己的内部流程或者从其提供商的工作流程中完全消除手工操作的想法是不现实的

塔夫茨大学研究生工程系主任,IEEE会员Karen Panetta认为:“在真正的NoOps中,开发部门和运营部门在完成各自的工作时,并不需要进行交互。然而在DevOps中,他们在整个生命周期中都会一起协同工作。最真实的情况是,NoOps所说的是,‘让我们实现自动化(开发、部署和维护),这样我们就可以从环路中把人移除,一切都会处理得很好。这是一种不切实际的愿望。有些事情可以做,但有些事情做不到。”

NoOps的发展

德勤在其《2019年技术趋势》报告中列出了“无服务器环境中的NoOps”,宣称“云计算发展的下一阶段将自动完成关键任务,使IT人才从关注操作转移到关注结果。”

专家们指出,一些IT部门确实在使用自动化方面已经成熟,足以将其企业的某些部分视为NoOps环境。

然而,NoOps并不是什么新概念——关于它能否实现,不过是一个战斗口号,或者仅仅是一个白日梦的争论也不新鲜。2012年,来自Etsy和Netflix的技术主管们就这一概念展开了公开辩论。

撇开理论上的争论不谈,很多专家都同意,企业IT内部的实际问题推动了对软件生命周期运行转型的需求。在过去十年左右的时间里,技术部门需要几周甚至几个月的时间来安装服务器——这种时间上的延迟阻碍了需要新软件来提供支持的业务计划的实施,企业对此变得越来越无能为力。

对此,IT部门广泛采用云计算等新技术以及敏捷和DevOps等新方法来做出回应。

德勤认为,IT现在已经进入下一阶段,并在其《技术趋势》报告中指出:“云计算的高度自动化已经创造了一个NoOps环境,在该环境中动态地提供软件和软件定义的硬件,使员工能够自由地过渡到新的角色,并帮助推动实现业务成果。”

向NoOps的持续迈进

德勤咨询有限责任公司的负责人兼该公司云业务的首席技术官Ken Corless把NoOps称为“DevOps山的顶峰”。

Corless补充道:“DevOps的真正目标是更快、更便宜、更好的质量。有了NoOps,开发人员和运营人员聚在一起不是为了减少摩擦,而是在推动自动化,这样,开发人员就能把更多的精力放在编程上了。”

他说,云提供商把服务、微服务和无服务器技术的进步结合在一起,使企业IT领导们能够在其软件生命周期运行中(从开发和部署直至维护)越来越多地实现自动化。

Corless说:“我们的目标是缩小部门规模,做更多的工作,以更快的速度前进,并且是以非常灵活的方式来完成。没有人知道如果没有IT部门怎样做到这一点,但每个人都希望更多地从维护转向开发。”

Corless解释说,NoOps环境逐渐成熟,首席信息官们正在研究怎样通过减少软件操作中所需的人员数量来“减少加速过程所涉及的人数”,从而实现“不必请求许可或者输入申请,只需点击一个按钮就可以了”。随着自动化程度的提高,从DNS管理到补丁管理的任务都被取消了。

但专家说,IT其实还没有接近真正的NoOps环境。Panetta说:“这是一个持续的过程,所以在成熟度最低的层面,IT会在某些方面使用自动化。”

Panetta说,基础设施部门——无论是在IT部门、托管服务、SaaS供应商还是云提供商那里,通常都会逐步向NoOps发展。

她说,这不是一件容易的事。他们需要了解运行涉及的所有部件是怎样组合在一起的,熟悉从工程到质量保证测试直至维护的流程,以及工程和其他技术学科中的各种因素。而且他们还得认识到NoOps在哪里不起作用,例如对于老系统,这仍然占据了很多企业IT投资的很大一部分。

她还补充说:“这不是一个二元开关;你会看到各种各样的东西,有的能自动化,有的则不能。”

反对这一概念

有的人则反对NoOps这一概念,指出围绕NoOps这个术语的炒作主要集中在基础设施配置越来越自动化上——这与操作不同。

专家们认为,基础设施领导们确实需要朝着这个方向发展,才能赶上业务部门的发展速度,但一些人强调,完全自动化的操作并不现实。

Forrester研究公司负责基础设施和运营专业的首席分析师Charles Betz评论说:“你必须一直坚持你所建造的东西。如果你有客户,想要访问系统,如果失败了会怎样?所以你需要支持。一个系统越复杂,就越有可能需要人工来帮助维护它。”

Betz说,IT部门确实应该通过自动化来保证为软件开发配置基础设施的速度符合业务部门的要求,但他也说,IT部门应该知道他们从自动化销售宣传中最多能得到什么。

他说:“NoOps并不意味着要取消服务台和操作。也不意味着你将拥有神奇的自动化功能,以至于不用去解决问题和排除故障了。这可能意味着,不再是作为业务部门的传统的运营部门,而是把部分或者全部的运营工程师分配到开发部门,所以这是从项目到产品的转移。”

他补充道:“如果说有什么不同的话,那就是运营变得越来越难了。这绝对是我们从客户那里听到的。不管是谁说我们应该在运营上少花钱,都是错误的。”

Betz还反对在整个操作过程普遍彻底的实现自动化的想法,IT也不应该抱有这种愿望。

他说:“NoOps传递了错误的信息,设定了错误的期望。我们应冷静地展开关于自动化优缺点的对话。我们今后会更加关注自动化自相矛盾和自动化自我满足的问题。当自动驾驶仪做出一些你不能理解的操作时会发生什么?NoOps助长了自动化的自我满足,这对于首席信息官而言是有害的。”

他承认自动化提高了速度,降低了成本,但是企业也需要稳定性、可靠性和灵活性——在这些方面,自动化既有帮助也可能产生阻碍,这取决于它的使用和管理方式。

Betz说:“过度自动化也有其不利之处,当自动化走向衰落时,就会让人感到痛苦。自动化虽然是不可避免的,但它仍然是一种工具。这是一种强大的工具,就像电锯一样,如果操作不当,会造成严重的伤害。”

其他人也同意其中一些观点。例如,Panetta说,在一些监控、故障排除和维修任务中,总是要有人参与。Corless说:“NoOps不是真的可以实现的,但的确是有效的战斗口号。”

他们和其他人还说,AIOps和启发式自动化等术语更準确地反映了基础设施运营中发生的事情。

Mindtree公司的全球基础设施副总裁Head也承认NoOps的局限性。他说:“这是一个很好的概念性的观点,但很难实现。”相反,他认为NoOps是一个过程,可以为特定的细分市场开拓自动化操作,而某些领域(例如,高端生产系统)还是要留给人类。

他说:“这是更可行,而且可以做到的。我认为企业可以因此进入少量操作的状态。”

Mary K. Pratt是马萨诸塞州的一名自由撰稿人。

原文网址

https://www.cio.com/article/3407714/what-is-noops-the-quest-for-fully-automated-it-operations.html

?
(function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();
澳门真人现金官网-澳门真人现金游戏