SAP BTP 平台 CloudFoundry 环境入门级别的介绍
让我们首先解释 Cloud Foundry 的名称。 它是什么?
Cloud Foundry(或 CF)是 Cloud Foundry 基金会(之前是 Linux 基金会)的规范和软件工具集。 它是完全开源的,任何公司或组织都可以使用这些工具或创建遵循 CF 规范的系统。
SAP 通过为其创建专用环境作为简单易用的平台即服务 (PaaS),在 SAP BTP 上实施了 Cloud Foundry。
Cloud Foundry 为开发人员和组织带来了显着的好处:
语言无关 - 选择任何语言运行时,并根据需要添加新语言
管理员分离——管理员和开发人员可以并行工作
标准命令行界面 - 所有 CF 提供程序都使用相同的 CLI,而不仅仅是 SAP
开源 - 许多公司的贡献,更新和新功能更快
我们将在下面的部分中讨论其中的许多新功能。
Cloud Foundry - Plaform as a Service PaaS
从图中可以看出,传统的开发需要整个系统。 硬件、操作系统、应用服务器和软件都由组织管理和维护。 这称为“内部部署”。
传统的云开发将硬件和基础设施移出组织。 但是,开发人员和管理员仍然必须维护从操作系统 (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 个或多个用户(称为成员)。
组织可以为单个项目创建空间,因为每个空间都是独立的,并且与所有其他空间隔离。