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