kubernetes 已成为容器编排的行业标准,彻底改变了应用程序开发、部署和管理方式。portworx 报告显示,未来五年内,80% 的受访者计划在云原生平台上构建大部分新应用程序。这种向 kubernetes 的转变不仅仅是一次趋势,而是软件开发和基础设施管理方式的根本性变革。
Kubernetes已成为容器编排的事实标准,彻底改变了开发人员构建、部署和管理应用程序的方式。Pure Storage 的Portworx部门最近发布的一份报告显示,80% 的受访者计划在未来五年内在云原生平台上构建大部分新应用程序。这种转变不仅仅是一种趋势,更是我们软件开发和基础设施管理方式的根本性变化。
Kubernetes 对开发人员的优势
Portworx 营销副总裁Kalyan Ramanathan强调,Kubernetes 的构建充分考虑了开发人员的需求。它具有三大主要优势:
- 更快的产品上市时间: Kubernetes 简化了开发和部署流程,使团队能够更快地迭代和发布应用程序。
- 部署灵活性:应用程序可以在任何地方运行——本地、AWS 或 GCP 等公共云或混合环境中。
- 自助服务功能:开发人员可以声明他们的基础设施需求,Kubernetes 会自动配置和管理所需的资源。
这些优势正在推动 Kubernetes 在各个行业的快速采用。正如 Ramanathan 所说,“如果你现在是一名 CIO,并且你在 Kubernetes 以外的任何平台上构建应用程序,你就会被淘汰。”
从虚拟机到 Kubernetes 的过渡
58% 的组织计划将部分 VM 工作负载迁移到 Kubernetes,开发人员和架构师面临着新的挑战。Ramanathan 就如何管理这一转变提出了几点见解:
- 注意技能差距: 管理虚拟机和 Kubernetes 的角色不同。虚拟机管理员专注于基础设施,而 Kubernetes 需要更多以应用程序为中心的技能。
- 技术成熟度: 虽然 VMware 等虚拟机技术已经成熟,但基于 Kubernetes 的运行虚拟机解决方案(如 KubeVirt)仍在不断发展。
- 从小处着手:从第二层和第三层应用程序开始,而不是从关键任务工作负载开始。这种方法使团队能够积累经验并改进其流程。
- 经验很重要:拥有更多 Kubernetes 经验的组织更有能力处理从虚拟机的迁移。
支持数据密集型应用程序
随着 Kubernetes 的采用率不断提高,其在 AI 和机器学习等数据密集型工作负载中的应用也日益增多。调查显示,54% 的受访者已经在 Kubernetes 上运行 AI/ML 工作负载。然而,Kubernetes 最初是为无状态应用程序设计的,这给数据管理带来了挑战。
Ramanathan 解释了 Portworx 如何解决这个问题:“我们为 Kubernetes 平台提供支持的持久层,无论其背后的存储系统是什么。我们确保无论容器和 pod 在何处运行,您的数据始终可供它们使用。”
该行业也在不断发展,以更好地支持数据密集型应用程序。容器存储接口 ( CSI ) 是一个开源标准,允许存储供应商与 Kubernetes 集成。随着 CSI 的成熟,我们可以期待基于 Kubernetes 的应用程序拥有更强大的数据管理功能。
平台工程的兴起
Kubernetes 的采用催生了一个新角色:平台工程师。这些专业人员弥补了传统基础设施团队和应用程序开发人员之间的差距。Ramanathan 分享了一个客户的例子,其中仅三名平台工程师就支持了 400 名开发人员和数据科学家。
这一趋势可能会持续下去,平台工程团队对于 Kubernetes 的采用至关重要。这些团队专注于为开发人员提供自助服务功能,使他们能够专注于编写代码而不是管理基础设施。
统一虚拟机和容器管理
随着组织同时运行虚拟机和容器,人们越来越需要能够管理这两种环境的统一平台。这种融合在多个方面使开发人员受益:
- 简化故障排除:开发人员可以使用单一系统来诊断和修复 VM 和基于容器的应用程序中的问题。
- 减少认知负荷:需要学习和管理的系统更少,开发人员可以将更多精力放在构建应用程序上。
- 提高效率:统一的平台支持开发过程的整体效率。
跨不同环境部署
86% 的受访者在公有云和私有云环境中运行云原生应用程序,因此可移植性是关键。对于需要跨不同环境部署应用程序的开发人员,Ramanathan 的建议很明确:“在 Kubernetes 上构建。别无选择。”
Kubernetes 提供了在不同环境中一致运行应用程序所需的抽象层。然而,数据可移植性仍然是一个挑战,这正是 Portworx 等解决方案发挥作用的地方,它可以确保数据跟随计算资源。
自助服务革命
Kubernetes 带来的最重大变化之一是转向开发人员自助服务。Ramanathan 使用数据库配置的示例来说明这一点:
“过去,如果我需要获取数据库,我会去找我的 DBA,我会给他们一张票,如果他们休假的话,上帝保佑,等他们回来我就能拿到。现在,开发人员可以自己做这件事。这就是 Kubernetes 的魅力所在。”
这种自助服务功能扩展到存储、备份和其他基础设施需求,大大减少了等待时间并提高了开发人员的工作效率。
AI 与 Kubernetes:完美组合
展望未来,拉马纳坦认为人工智能是云原生开发的下一个重大范式转变。重要的是,他指出“人工智能、容器和 Kubernetes 是相辅相成的。”
这种协同作用体现在以下几个方面:
- 人工智能模型作为容器: 许多人工智能框架和模型都以容器的形式分布,这使得 Kubernetes 成为部署的天然选择。
- 资源优化: Kubernetes 高效管理计算资源的能力对于资源密集型 AI 工作负载至关重要。
- 可扩展性: Kubernetes 集群的弹性特性与 AI 应用程序不断变化的资源需求非常契合。
Ramanathan 强调了这一点:“如果你想构建 AI 应用程序,那么今天我唯一的包装就是容器。”
结论:Kubernetes 势在必行
展望应用程序开发的未来,有一点是明确的:Kubernetes 不再是可有可无的。它已成为现代云原生应用程序的基础,支持从传统 Web 服务到尖端 AI 工作负载的一切。
对于开发人员、工程师和建筑师来说,这意味着:
- 投资 Kubernetes 技能对于职业发展至关重要。
- 采用更具声明性、基础设施即代码的方法进行应用程序部署。
- 利用自助服务功能来提高生产力并减少对运营团队的依赖。
- 从微服务和容器化应用程序的角度进行思考,即使对于遗留的工作负载也是如此。
- 为未来做好准备,未来人工智能和机器学习将成为基于 Kubernetes 基础构建的众多应用程序不可或缺的一部分。
正如 Ramanathan 简洁地指出的那样,“如果你没有做好容器准备,你就无法实现 AI。”在当今快速发展的技术环境中,做好容器准备意味着做好 Kubernetes 准备。这一过程可能充满挑战,但其好处(就开发人员生产力、应用程序可移植性和未来准备而言)是不可否认的。
以上就是Kubernetes 的崛起:重塑应用程序开发的未来的详细内容,更多请关注本站其它相关文章!