平台工程 – Nutanix:DevOps随着集中控制和分散的乐趣而发展
快速阅读: 据《计算机周刊》称,平台工程是DevOps的延伸与演进,通过集中治理与去中心化体验结合,提升云原生管理效率。它解决DevOps在复杂环境中的不足,支持多云、混合及边缘场景。
这是一篇为《计算机周刊开发者网络》撰写的客座文章,作者是詹姆斯·斯图罗克,他是超融合多云计算公司Nutanix的系统工程总监。斯图罗克强调了理解平台工程作为对DevOps所代表理念的延伸、增强和演进的重要性(但在实际应用中已发生显著变化,例如通过内部开发者门户的自助功能等)。他说,我们需要将这一欢迎的进步视为推动更有效交付和管理混合多云计算环境的推动者和促进者。斯图罗克写道……
围绕DevOps“与”平台工程(如果真的存在这种对立)的讨论大多归结于这样一个观点:即曾经被认为是激进的DevOps模式理念,似乎与云原生容器管理模型相冲突,并且在与平台工程交汇的地方也出现了矛盾。
DevOps简史
如果我们回顾并简单了解一下DevOps的历史,这个运动和方法论(请注意,我们清楚DevOps是一种工作场所的文化实践)出现的原因是过时的集中式平台技术(如Java企业版(EE))无法满足使用新语言和开发框架的软件工程团队的需求。DevOps最初的目的是通过自动化以及能够打破开发人员将应用程序扔给运维团队的“墙”,实现更短的软件应用开发周期、更高的敏捷性和更快的整体效率。
容器编排平台的出现打破了这种共享所有权的模式。挑战去中心化的理念
众所周知,DevOps提倡去中心化,而容器编排平台则被设计为集中管理以获得最大效益。容器编排平台具有精心设计的应用程序编程接口(API),它们明确区分了开发人员与运维人员的关注点。再次,我们又到了一个理论上或纸面上与DevOps相冲突的点。
为什么DevOps需要更多
我们知道平台工程为何出现。它出现是因为DevOps团队无法跟上安全管理云原生平台所需的工作量。说实话,我们知道Kubernetes有多复杂;生产级基于Kubernetes的平台需要多个附加组件来支持安全、可观测性、服务网格和应用程序等功能,因此显然更加复杂。当每个DevOps团队都以自己的方式部署和管理基础设施(并且基本上要重新发明轮子)时,自然会出现缺乏一致性和标准化的问题,这在技能需求和资源浪费方面成本很高。在这些环境中,云原生项目常常陷入停滞甚至失败,尤其是在处理多云、混合和边缘环境时。
我们知道平台工程为何出现。它出现是因为DevOps团队无法跟上安全管理云原生平台所需的工作量。说实话,我们知道Kubernetes有多复杂;生产级基于Kubernetes的平台需要多个附加组件来支持安全、可观测性、服务网格和应用程序等功能,因此显然更加复杂。这种现实因AI和机器学习等复杂工作负载带来的挑战而进一步加剧。
集中控制与去中心化体验
为了应对当今的挑战,有效地使用平台工程意味着一些流程需要集中,而其他流程则需要去中心化。治理和策略管理也可以通过平台工程进行集中,可观测性(为运维团队提供所有环境的“全局视图”)也是如此,成本管理也能得到提升。平台工程中的去中心化流程包括编程语言的选择、开发框架的选择,以及如实例、代码或逻辑等核心要素,这些都包含在容器中。
正如我们在Nutanix之前所说,平台工程通过为DevOps团队提供集中化的平台方法和去中心化的DevOps,实现了“两者的优势”。基于Kubernetes API和容器的方法提供了一个强大的接口,创造了条件,使双方都能专注于自己最擅长的事情。
(以上内容均由Ai生成)