Cloud Foundry 和 OpenWhisk 有什么区别?
What is the difference between Cloud Foundry and OpenWhisk?
我在 Bluemix 中看到了这两个,但它们之间有什么区别?
CloudFoundry is a PaaS(平台即服务) 平台,简而言之,这意味着它将您的应用程序托管到 运行 在。平台示例包括 node.js 或 JVM。
OpenWhisk 是一个 serverless 平台。 FaaS(功能即服务)一词似乎也在兴起。您上传代码,一旦事件发生就会执行。该事件可能是任何事情,从简单的 HTTP 请求到数据库中发生的更改。
两者的根本区别在于运作方式。 PaaS 意味着,您仍在 运行ning 一个服务器进程。一旦事件发生,您将有一个很长的 运行ning 进程来侦听事件并执行您的逻辑。所有其他时间,该进程处于空闲状态,仍然需要 CPU 个周期和内存来实际侦听事件。
在无服务器中,平台承担了 "listening for events" 的负担。一旦事件发生,您的代码就会被实例化并执行。该代码随后关闭,因此不再需要任何资源。这也解释了为什么 OpenWhisk 操作有 5 分钟的时间限制。这并不意味着要进行长时间的 运行ning 操作。
免责声明: 这两个平台支持的内容比我在这里描述的要多得多,我试图将其缩小到两者之间最实质性的差异。
Cloud Foundry 和 OpenWhisk 是开发人员可以用来为应用程序的工作负载提供支持的两种 Bluemix 计算模型。
我将非常高级总结这两种服务以及我何时使用它们...
Cloud Foundry
- IBM Bluemix 最初基于 Cloud Foundry 的开放技术。它是一个云计算平台即服务,支持从初始开发到所有测试阶段再到部署的完整生命周期。
- Cloud Foundry 有一个名为 cf 的 CLI 程序,它是与 Bluemix 交互的主要工具(或者 Bluemix 为此提供了一个 Web GUI)。
- Cloud Foundry 引入了 Organizations 的概念,其中包含 Spaces,您可以将其视为工作区。不同的空间通常对应于应用程序的不同生命周期阶段。
- Cloud Foundry 引入了 Services 和 Applications 的概念。 Cloud Foundry 服务通常执行特定功能(如数据库服务),应用程序通常绑定服务及其密钥。
OpenWhisk
- OpenWhisk 是 IBM Cloud 开发的全新分布式事件驱动计算模型。
- 它有一个分布式自动扩展无服务器架构,可以在事件上执行应用程序逻辑。
- OpenWhisk 还有一个名为 wsk 的 CLI 程序,可用于 运行 您在 OpenWhisk 上的代码片段或操作。
- OpenWhisk 引入了Triggers、Actions 和Rules.[=74 的概念=]
- 触发器 是由事件源发出的 class 事件。
- Actions封装了实际要执行的代码,支持多种语言绑定,包括Node.js、Swift和封装在[=109=中的任意二进制程序] 集装箱。操作调用开放生态系统的任何部分,包括用于分析、数据、认知或任何其他第 3 方服务的现有 Bluemix 服务。
- 规则 是触发器和操作之间的关联。
Cloud Foundry 与 OpenWhisk
所以问题仍然存在:什么时候应该使用 Cloud Foundry,或者什么时候应该使用 OpenWhisk?
根据我使用 OpenWhisk 的有限经验,以下是我的想法。我喜欢将 OpenWhisk 视为一种易于实现的自动扩展架构,应用程序开发人员无需具备太多后端开发先验知识即可使用。我认为 Cloud Foundry 是软件堆栈中的较低级别,它可以为您提供更多定制,但可能需要更多技能和知识来设置它。
我会使用 Cloud Foundry,如果我...
- 是后端和应用程序开发人员。
- 有一起创建和连接服务的经验。
- 使用 OpenWhisk 可能无法实现的所需功能。
如果我...我会使用 OpenWhisk
- 是一名应用程序开发人员。
- 不想担心服务器。
- 不想学习不同的编程语言等来了解如何设置我的服务器。
- 真的想专注于开发我的应用程序并让后端正常工作。
希望对您有所帮助。
编辑:
这是我发现的一张很酷的图片来说明这一点:
我在 Bluemix 中看到了这两个,但它们之间有什么区别?
CloudFoundry is a PaaS(平台即服务) 平台,简而言之,这意味着它将您的应用程序托管到 运行 在。平台示例包括 node.js 或 JVM。
OpenWhisk 是一个 serverless 平台。 FaaS(功能即服务)一词似乎也在兴起。您上传代码,一旦事件发生就会执行。该事件可能是任何事情,从简单的 HTTP 请求到数据库中发生的更改。
两者的根本区别在于运作方式。 PaaS 意味着,您仍在 运行ning 一个服务器进程。一旦事件发生,您将有一个很长的 运行ning 进程来侦听事件并执行您的逻辑。所有其他时间,该进程处于空闲状态,仍然需要 CPU 个周期和内存来实际侦听事件。
在无服务器中,平台承担了 "listening for events" 的负担。一旦事件发生,您的代码就会被实例化并执行。该代码随后关闭,因此不再需要任何资源。这也解释了为什么 OpenWhisk 操作有 5 分钟的时间限制。这并不意味着要进行长时间的 运行ning 操作。
免责声明: 这两个平台支持的内容比我在这里描述的要多得多,我试图将其缩小到两者之间最实质性的差异。
Cloud Foundry 和 OpenWhisk 是开发人员可以用来为应用程序的工作负载提供支持的两种 Bluemix 计算模型。
我将非常高级总结这两种服务以及我何时使用它们...
Cloud Foundry
- IBM Bluemix 最初基于 Cloud Foundry 的开放技术。它是一个云计算平台即服务,支持从初始开发到所有测试阶段再到部署的完整生命周期。
- Cloud Foundry 有一个名为 cf 的 CLI 程序,它是与 Bluemix 交互的主要工具(或者 Bluemix 为此提供了一个 Web GUI)。
- Cloud Foundry 引入了 Organizations 的概念,其中包含 Spaces,您可以将其视为工作区。不同的空间通常对应于应用程序的不同生命周期阶段。
- Cloud Foundry 引入了 Services 和 Applications 的概念。 Cloud Foundry 服务通常执行特定功能(如数据库服务),应用程序通常绑定服务及其密钥。
OpenWhisk
- OpenWhisk 是 IBM Cloud 开发的全新分布式事件驱动计算模型。
- 它有一个分布式自动扩展无服务器架构,可以在事件上执行应用程序逻辑。
- OpenWhisk 还有一个名为 wsk 的 CLI 程序,可用于 运行 您在 OpenWhisk 上的代码片段或操作。
- OpenWhisk 引入了Triggers、Actions 和Rules.[=74 的概念=]
- 触发器 是由事件源发出的 class 事件。
- Actions封装了实际要执行的代码,支持多种语言绑定,包括Node.js、Swift和封装在[=109=中的任意二进制程序] 集装箱。操作调用开放生态系统的任何部分,包括用于分析、数据、认知或任何其他第 3 方服务的现有 Bluemix 服务。
- 规则 是触发器和操作之间的关联。
Cloud Foundry 与 OpenWhisk
所以问题仍然存在:什么时候应该使用 Cloud Foundry,或者什么时候应该使用 OpenWhisk?
根据我使用 OpenWhisk 的有限经验,以下是我的想法。我喜欢将 OpenWhisk 视为一种易于实现的自动扩展架构,应用程序开发人员无需具备太多后端开发先验知识即可使用。我认为 Cloud Foundry 是软件堆栈中的较低级别,它可以为您提供更多定制,但可能需要更多技能和知识来设置它。
我会使用 Cloud Foundry,如果我...
- 是后端和应用程序开发人员。
- 有一起创建和连接服务的经验。
- 使用 OpenWhisk 可能无法实现的所需功能。
如果我...我会使用 OpenWhisk
- 是一名应用程序开发人员。
- 不想担心服务器。
- 不想学习不同的编程语言等来了解如何设置我的服务器。
- 真的想专注于开发我的应用程序并让后端正常工作。
希望对您有所帮助。
编辑:
这是我发现的一张很酷的图片来说明这一点: