当前位置: 首页 > 科技观察

DevOps的终结会是NoOps吗?

时间:2023-03-13 17:52:39 科技观察

开发领域的发展速度快得惊人,云上的自动化和扩展每天都在达到新的高度。您几乎可以将任何东西“作为服务”来做——无论是存储、网络、云、计算还是安全。云提供商也越来越多地投资于他们的自动化生态系统。这将我们引向NoOps,您不需要运营团队来监督您的生命周期,因为一切都将自动化。您可以使用自动化模板来配置您的应用程序组件并自动化组件管理,这意味着您的开销更少,并且最少或没有人工干预。听起来不错吧?但这是一个明智的选择,实施它的优势和挑战是什么?NoOps:这是一个明智的选择吗?如您所知,DevOps的目的是使应用程序的部署更快、更顺畅,重点是持续改进。NoOps是Forrester的MikeGualtieri创造的一个术语,具有相同的核心目标,但缺乏运营专业知识。在理想的NoOps场景中,开发人员永远不需要与运营团队的成员协作。相反,NoOps使用无服务器和PaaS来在需要时获取所需的资源。这意味着您可以使用一组服务和工具来安全地部署所需的云组件(基础设施和代码)。此外,NoOps利用CI/CD管道进行部署。运营团队在处理与数据相关的任务时非常高效,将数据的收集、分析和存储视为其职能的关键部分。但是,请记住,您可以自动执行大多数数据收集任务,但您不一定会从自动分析中获得相同级别的洞察力。从本质上讲,NoOps作为一种自助服务模型工作,云提供商成为您的操作臂,自动化底层基础架构层并消除团队管理它的需要。许多人认为,需要零人工参与才能实现完全自动化(真正的NoOps)的IT环境是不明智的,甚至是不可能的。NoOps与DevOps:优势和挑战DevOps强调开发人员和运营团队之间的协作,而NoOps强调完全自动化。然而,他们都在努力实现同一件事——更快的上市时间和更好的软件部署过程。然而,在考虑DevOps与真正的NoOps方法时,既有优势也有挑战。优点:更多的自动化,更少的维护通过使用代码来控制一切,NoOps旨在消除支持代码生态系统所需的额外劳动力。这意味着不需要人工干预,并且从长远来看,每个组件都将更易于维护,因为它将作为代码的一部分进行部署。但这会影响DevOps工作吗?利用云的全部力量有许多支持极端自动化的新技术,包括容器即服务(CaaS)或功能即服务(FaaS),因此领先的云服务提供商可以帮助采用NoOps。这是个好消息,因为运营可以根据需要添加云资源,从而导致与DevOps相比更高的容量规划(开发和运营团队共同决定应用程序的运行位置)。快胜慢NoOps专注于业务成果,将重点转移到为客户提供价值的优先任务上,消除对运营团队的依赖并进一步缩短上市时间。挑战:您仍然需要运维不依赖运维团队来维护您的底层基础设施在理论上听起来像是一个梦想。事实上,您可能需要它们来监视结果或处理异常。期望开发人员完全承担这些责任会分散他们交付业务成果的注意力,考虑到NoOps的好处,这无益。完全依赖开发人员也不符合您的最佳利益,因为他们的技能不一定包括解决操作问题。此外,您也不希望让开发人员承担更多任务。安全、安全、安全您可以遵守安全最佳实践并将其与自动化部署保持一致,但这并不能完全消除您对安全性的细致关注。攻击方法每天都在演变和变化,因此,您的云安全控制也应该如此。例如,您可以为您的AI引入错误的规则或自动化有缺陷的流程,在您的自动化中引发错误或为成百上千的基础设施组件或服务器创建有缺陷的脚本。如果您完全移除运营团队,您可能需要考虑向安全团队投入额外资金,以确保为您的环境注入最佳的安全性和合规性方法。考虑您的环境考虑到NoOps使用无服务器和PaaS资源,这可能成为您的限制因素,尤其是在涉及数字化转型时。对于传统基础架构和混合部署,自动化仍然是可能的,但在这些情况下,您无法完全消除人为干预。因此请记住,并非所有环境都可以过渡到NoOps。您必须仔细评估转换的利弊。那么NoOps会是DevOps的终结吗?答案是否定的。NoOps不是一种放之四海而皆准的解决方案。您知道,它仅限于适合现有无服务器和PaaS解决方案的应用程序。由于一些企业仍在运行单一的遗留应用程序(需要完全重写或大规模更新才能在PaaS环境中工作),即使留下了遗留系统,你仍然需要有人来运行它。从这个意义上说,NoOps距离处理运行专门流程的长寿命应用程序或具有高要求应用程序的生产环境还有一段距离。相反,操作发生在生产之前,因此,对于DevOps,操作工作发生在代码投入生产之前。发布包括监控、测试、错误修复、安全、每次提交的策略检查等。您必须从一开始就让团队中的每个人(包括关键利益相关者)参与进来,以实现快速反馈并确保自动化控制和任务有效且正确。持续学习和改进(DevOps团队的支柱)不应该只在出现问题时发生;相反,成员必须共同努力并协同工作以解决问题并改进系统和流程。此外,当您想到DevOps时,您会想到“人”。与来自所有业务领域(包括QA、市场营销、设计师、安全、产品经理等)的团队成员一起更快地构建更好的软件,他们将继续为一个共同的目标而努力。请记住我们在关于构建高速开发团队的文章中所说的,平衡的团队会吸引所有成员并为他们提供成长和相互学习的机会。值得庆幸的是,NoOps适合某些DevOps方式。它专注于学习和改进,使用通过持续和开放的协作开发的新工具、想法和技术,NoOps解决方案消除了摩擦并增加了有价值的功能在管道中的流动。这意味着NoOps是DevOps的成功延伸。换句话说,DevOps是永恒的,而NoOps只是DevOps创新的开始,所以说NoOps是DevOps的终结意味着没有新的东西可以学习或改进。最后一站,目的地:NoOps真正的NoOps涉及相当多的基础工作——您需要在无服务器或PaaS之间做出选择,并考虑配置、组件管理和安全控制才能开始。即便如此,您可能仍然存在一些松散的问题——比如遗留系统——需要更多的时间来过渡(或者你根本无法过渡)。但有一件事是肯定的。DevOps不会消失,自动化也不会使Ops过时。但是,随着无服务器自动化的发展,您可能在某些时候必须考虑一种新的开发和运营方法。值得庆幸的是,如果您选择转换,您有很多帮助,比如自动化工具和FaaS,可以让您的转换更容易。原标题:NoOps是DevOps的终结吗?