概述
Cloud Foundry 可用于构建、部署和扩展容器,这些与 Kubernetes 具备的功能相似。它将容器连接至网络和路由,让开发人员能够集中精力在不同应用中构建和部署应用代码。
另一方面,Kubernetes 也为开发人员提供了分布式框架来扩展集群和应用,使其成为跨多个云环境运行的工作负载的绝佳选择。对于那些需要在多个云基础架构上灵活部署应用的开发人员,它也是一大得力帮手。
什么是 Cloud Foundry?
Cloud Foundry 是 2011 年推出的一个开源平台即服务(PaaS),初衷是方便开发人员构建最早的容器化应用。Cloud Foundry 关注开发人员体验,为开发人员构建、部署和运行无状态云原生应用提供了一个平台。
Cloud Foundry 与 Kubernetes
Kubernetes 是一个开源的容器编排平台,可以自动完成在部署、管理和扩展容器化应用过程中涉及的许多手动操作。Cloud Foundry 和 Kubernetes 是两大广受欢迎的容器化平台,它们有一些共同的功能。将 Cloud Foundry 与 Kubernetes 进行比较,可以发现它们在管理应用上采用了不同的方法。
Cloud Foundry 和 Kubernetes 的共同特点:
- 在容器中运行应用
- 运行打包为 Docker 镜像的应用
- 运行非常大的生产工作负载
- 可以在本地或公共云中运行
- 是由独立基金会管理的开源项目
两者间的区别在于,Cloud Foundry 专注于应用,而 Kubernetes 则专注于容器。Kubernetes 会增加开发人员工作的复杂性,他们需要为应用构建容器并提供其他部署配置;Cloud Foundry 则简化了界面,为云运维人员和云开发人员提供了不同的体验。Kubernetes 也为开发人员赋予更多自由,因为他们能够为自己的应用配置最适合的容器。
Cloud Foundry 的优势和挑战
与 Kubernetes 类似,Cloud Foundry 是一个持续交付平台,不仅支持完整的应用开发生命周期,还允许开发人员构建、部署和运行容器化应用。
Cloud Foundry 使用基于容器的架构,可在各种云服务提供商环境(公共云或私有云)中运行、更新和部署基于任何编程语言的应用。这种多云环境允许开发人员使用合适的云平台处理特定的应用工作负载,并根据需要在云提供商之间移动这些负载,而无需对应用进行任何更改。
尽管 Kubernetes 和 Cloud Foundry 有个别功能相同,但 Cloud Foundry 可为云原生应用的部署提供更高级别的抽象。相比较而言,Kubernetes 使用标准的 Linux 容器运行时,而 Cloud Foundry 使用自己的定制框架和运行时支持,即 Buildpack。这为应用的构建和部署增加了一个额外的层面,而且也从开发人员手中夺走了一定的控制权。
挑战
Cloud Foundry 问世已久,可提供的支持也日渐衰微(无法提供对新技术的支持),如今甚至给企业带来了重重挑战和限制,有些企业为适应 Cloud Foundry 平台,对传统应用进行重构和现代化要耗费高昂的成本。
虽然 Cloud Foundry 已经涵盖了一些 Kubernetes 的概念,但它仍然与后者有明显不同。当 Kubernetes 工作负载部署在整个企业后,由于有多个平台需要管理,这种状况就构成了一个挑战。您可以将环境中所有基于容器的应用迁移至通用的企业平台,以此来降低复杂性。
为什么选择红帽?
如果继续使用 Cloud Foundry 受到限制并面临复杂性挑战,企业或机构就得寻找替代方案。红帽® OpenShift® 可提供完整的云原生应用平台,为计划从 Cloud Foundry 迁移至 OpenShift 的企业提供支持。
红帽 OpenShift 是一个开放混合云解决方案,可支持现有应用的容器化和现代化,以及新的云原生开发。作为用于生产应用和工作负载的企业就绪型 Kubernetes 容器平台,红帽 OpenShift 同时支持传统应用和云原生应用,且可在任何地方运行,并在 Kubernetes 集群内外实现自动化。
从 Cloud Foundry 迁移至 OpenShift 的客户将体验到以下好处:
- 企业、Kubernetes 原生、应用开发和开发平台
- 为无状态和有状态应用提供的支持
- 使用标准化开发环境和自助服务置备提高工作效率
- 借助红帽高级集群安全防护增强安全性,实现基础架构、容器和工作负载的持续安全防护与合规。
- 在裸机上运行 OpenShift,显著降低硬件成本