介绍 SAP BTP Cloud Foundry 运行时的关键概念
学习目标
确定 SAP BTP Cloud Foundry 运行时的组件和结构。
介绍 buildpack 在 SAP BTP Cloud Foundry 运行时中的用途和重要性。
区分 Cloud Foundry 中应用程序与服务的角色和功能。
应用程序
Cloud Foundry 上的应用程序是代码以及捆绑在一起以执行特定任务的任何相关性。可以使用 buildpack 将其部署到 Cloud Foundry。
要了解如何将应用程序部署到 SAP BTP Cloud Foundry 运行时,请参阅本 Learning Journey 的"管理 SAP BTP Cloud Foundry 运行时中的部署"单元。
从技术上讲,这些应用程序在容器中运行,容器是隔离环境,为应用程序运行提供必要的资源。容器由 Cloud Foundry 运行时管理,可以根据应用程序的资源需求扩大或缩小。
Buildpack
Buildpack 是 Cloud Foundry 中的关键组件。他们负责为应用程序提供框架和运行时。部署应用程序时,Cloud Foundry 会自动检测相应的 buildpack,并进一步使用 buildpack 将应用程序编译并打包到可实例化的容器图像(称为 droplet)中。此过程称为应用程序数据准备。
此信息从 Cloud Foundry 文档中检索。
Cloud Foundry 中有三种类型的 buildpack:
系统 Buildpack:这些 buildpack 预安装在 Cloud Foundry 运行时环境中,并为通用编程语言和框架提供支持。 它们始终保持最新并受 SAP 支持。但是,它们只提供一个版本。如果您使用系统 buildpack,您将实时自动使用新版本,除非您在将应用程序推送到 Cloud Foundry 时在资源库的 URI 中指定特定版本。这些 buildpack 是所谓的离线 buildpack,这意味着它们不一定需要 Internet 访问才能工作。 有关详细信息,请参阅系统 buildpack 列表。
外部 Buildpack:这些 buildpack 为系统 buildpack 未涵盖的其他语言和框架提供支持。有关详细信息,请参阅外部 buildpack 列表。 GitHub 组织 cloudfoundry-community 不属于 Cloud Foundry,不提供支持、责任或合规性保证。这些外部 buildpack 源自远程 URL,可以是任何自定义 buildpack。与系统 buildpack(在不可预测的时间自动更新到最新版本)不同,外部 buildpack 允许正确的版本控制。这意味着您可以指定固定版本,从而确保更大的稳定性和控制。此外,外部 buildpack 为用作系统 buildpack 的人员提供支持,但具有自行管理版本的额外优势。
警告
对于外部 buildpack,检查其作用、提供人员以及是否可以信任非常重要。
这是间谍软件、恶意软件和供应链攻击的入口点,只是因为存在而忽略了在互联网上找到的任何任意 buildpack!
自定义 Buildpack:您可以创建自己的根据您的特定需求定制的 buildpack。这些 buildpack 可用于打包系统不支持的应用程序或现有的外部 buildpack。有关创建自定义 buildpack 的详细信息,请参阅 buildpack 文档。
服务
服务是可重用的构件块,为您的应用程序提供特定功能,从而提高开发效率和可扩展性。这些服务涵盖从托管服务(由 SAP 完全维护)到用户提供的服务(由您提供和管理)。它们封装了复杂的逻辑、基础架构和数据访问,使您能够专注于核心应用程序逻辑,而不是重塑车轮。
服务分为两种类型:
业务服务: 这些服务可支持、简化或加速业务流程组件的开发,或在业务应用程序内提供行业特定的功能或内容。例如:SAP Document Management 服务。
技术服务: 这些服务支持、简化或加速业务应用程序内的常规内容或域无关内容的开发,与应用程序的业务流程或任务无关。例如:SAP Application Autoscaler 或 SAP Authorization and Trust Management 服务等。
服务实例是在 SAP BTP 上运行的服务的单一实例化,使用特定服务计划(即服务的配置变式)创建。要在应用程序中使用服务,您需要创建服务实例并将其绑定到您的应用程序。
对于已运行的应用程序,如果绑定发生更改,则需要重新暂存,因为绑定信息将在数据准备过程中合并到 droplet 中。简单重启是不够的。有关重新准备与重新启动的详细信息,请参阅本 Learning Journey 中"在 SAP BTP Cloud Foundry 运行时中优化和管理应用程序"单元的"掌握 Cloud Foundry 应用程序生命周期事件"课程。
观看以下视频,了解在 Cloud Foundry 中使用服务的步骤。
视频:本节含 SAP 官方视频(视频 ID
1_jr1gg8g5),需在 learning.sap.com 在线观看。
服务市场
要在 SAP BTP 主控室中查看服务,请导航到要使用该服务的 Cloud Foundry 空间,然后选择 服务→Service Marketplace 。也可以通过子账户级别访问 Service Marketplace。但是,您会看到不同的服务。
Service Marketplace 提供每个服务的详细概览以及有关任何服务计划的信息,以及创建服务实例并将其绑定到应用程序所需的工具。
从 Service Marketplace 中查看和管理服务:还提供非环境特定的服务。
使用 Cloud Foundry 环境中的 SAP BTP 服务:仅提供可在特定环境中使用的服务。
服务绑定
服务绑定是将应用程序连接到服务实例的一种方式。通过将服务绑定到应用程序,可以为您的应用程序提供允许应用程序访问服务功能的信息。此信息通过环境变量提供,环境变量为您的应用程序提供与服务交互所需的配置详细信息。您可以使用 SAP BTP 主控室或 Cloud Foundry 命令行接口 (CLI) 将服务实例绑定到应用程序。您还可以通过将服务实例声明为多目标应用程序 (MTA) 的一部分来绑定服务实例。
注意
Cloud Foundry 中的多目标应用程序 (MTA) 允许开发人员在单个部署中部署多个组件,例如 Web 应用、服务和数据库。通过将这些组件捆绑到一个包中,MTA 可以简化不同环境中的部署和管理,同时确保正确处理相关性。
有关 MTA 的详细信息,请查看"在 SAP BTP Cloud Foundry 运行时中开发应用程序"单元的"在 SAP BTP Cloud Foundry 运行时中设计和运行应用程序"课程。
将应用程序部署到需要其他服务(例如 xsuaa 服务)的 SAP BTP 时。确保服务实例必须可用,以便可以进行服务绑定。
您可以列出相应服务的所有绑定,例如,在 SAP BTP 主控室中。为此,请转到 服务→实例和租用 。从此处选择实例,您将看到已部署应用程序的所有绑定。
如果要了解有关服务绑定的详细信息,并浏览将服务绑定信息提供给 Cloud Foundry 中的应用程序的不同方式,请查看本教程。
摘要
在本课中,您已了解 SAP BTP Cloud Foundry 运行时的核心概念,包括用于框架和运行时支持的 buildpack、应用程序和服务之间的区别、环境变量的使用以及容器管理。现在,您应该能够解释不同类型的 buildpack(系统、社区和自定义)、创建和绑定服务实例的流程,以及在 Cloud Foundry 中管理和集成服务的服务绑定和服务代理的角色。