让我们首先解释 Cloud Foundry 的名称。 它是什么?
Cloud Foundry(或 CF)是 Cloud Foundry 基金会(之前是 Linux 基金会)的规范和软件工具集。 它是完全开源的,任何公司或组织都可以使用这些工具或创建遵循 CF 规范的系统。
SAP 通过为其创建专用环境作为简单易用的平台即服务 (PaaS),在 SAP BTP 上实施了 Cloud Foundry。
Cloud Foundry 为开发人员和组织带来了显着的好处:
语言无关 - 选择任何语言运行时,并根据需要添加新语言
管理员分离——管理员和开发人员可以并行工作
标准命令行界面 - 所有 CF 提供程序都使用相同的 CLI,而不仅仅是 SAP
开源 - 许多公司的贡献,更新和新功能更快
我们将在下面的部分中讨论其中的许多新功能。
从图中可以看出,传统的开发需要整个系统。 硬件、操作系统、应用服务器和软件都由组织管理和维护。 这称为“内部部署”。
传统的云开发将硬件和基础设施移出组织。 但是,开发人员和管理员仍然必须维护从操作系统 (OS) 开始的所有内容。
平台即服务 PaaS 将运行时(应用程序服务器、数据库和其他基本应用程序)的控制从组织转移回云。
Fixing a PaaS problem - buildpacks and services
然而,PaaS 系统存在一个问题。 将运行时层移至云端意味着组织失去了对运行时层的控制。 如果组织想要进行更改,则需要与云提供商合作。
Cloud Foundry 通过向云提供商和组织提供运行时控制来解决这个问题。
在 Cloud Foundry 中,云提供商和组织都可以访问上面的管理员控制部分。
这是使用两个概念完成的:构建包和服务。
buildpack 定义了一个用于运行应用程序的容器。例如,一个 buildpack 可能运行 Java Web 应用程序,另一个运行 Node.js 应用程序。 Cloud Foundry 提供了许多标准的构建包,然后还有一个 GitHub 存储库,其中有许多其他的开源项目。组织还可以创建自己的构建包、添加新语言、升级到最新版本或创建一组经过 IT 审查的标准授权运行时容器。
Cloud Foundry 服务是提供给所有不同运行时环境的软件程序或程序集。最常见的服务是提供公共数据存储位置的数据库(或其他一些持久存储)。其他服务可能包括日志记录、消息传递或多个应用程序通用的其他工具。
以下是 SAP BTP Cloud Foundry 环境中的部分服务列表:
Development made easy
Cloud Platform 使在云中运行和测试应用程序变得非常容易。 实际上,在 Cloud Foundry 中上传和启动应用程序是一个命令:cf push。
以 Java Web 应用程序为例。 Java Web 应用程序部署在称为 WAR(用于 Web ARchive)的 zip 文件中。 创建 WAR 很容易,大多数工具和 IDE 都可以为您完成。
在云中运行 WAR 文件很简单。 只需运行命令 cf push WAR-FILE-NAME。 Cloud Foundry 完成其余的工作。 它会自动完成所有这些:
上传和存储文件(或多个文件)
检查并存储应用元数据
为应用程序创建一个“droplet”(Cloud Foundry 执行单元)
选择合适的运行时间来运行 Droplet
启动应用程序
Service Marketplace - Services we provide
SAP 为 Cloud Foundry 开发人员提供了许多服务。
我们的服务包括 SAP 软件(例如 SAP HANA),以及一些连接到 3rd 方平台的软件组件(例如 Open Connectors)。
当然,开发者和组织都可以自带服务来满足项目或组织的需求。
Understanding spaces
Cloud Foundry 为单个应用程序提供了一个标准的工作环境:它被称为空间。
空间是单独的工作区域,通常包含一个应用程序。 每个空间都有一个来自全局帐户的资源分配(全局帐户属于您的团队或组织)。 这种分配被 SAP 称为配额,并限制内存量、URL(称为路由)的数量和其他资源。 每个空间分配给 1 个或多个用户(称为成员)。
组织可以为单个项目创建空间,因为每个空间都是独立的,并且与所有其他空间隔离。