Cloud Foundry和OpenWhisk有什么区别?

时间:2016-06-19 20:34:20

标签: ibm-cloud cloudfoundry ibm-mobile-services openwhisk

我在Bluemix中看到了这些,但它们之间有什么区别?

2 个答案:

答案 0 :(得分:12)

Cloud Foundry和OpenWhisk是两个Bluemix Compute模型,开发人员可以使用它来为应用程序的工作负载提供动力。

我会给出两个服务的非常高级摘要以及何时使用它们......

Cloud Foundry

  • IBM Bluemix最初基于Cloud Foundry的开放技术。它是一个云计算平台,作为一种服务,支持从初始开发到所有测试阶段到部署的整个生命周期。
  • Cloud Foundry有一个名为cf的CLI程序,它是与Bluemix交互的主要工具(或者Bluemix为此提供了一个Web GUI)。
  • Cloud Foundry介绍了组织的概念,其中包含 Spaces ,您可以将其视为工作区。不同的空间通常对应于应用程序的不同生命周期阶段。
  • Cloud Foundry介绍了服务应用程序的概念。 Cloud Foundry服务通常执行特定功能(如数据库服务),应用程序通常具有服务及其绑定的密钥。

OpenWhisk

  • OpenWhisk是一个全新的IBM Cloud开发的分布式事件驱动的计算模型。
  • 它具有分布式自动扩展无服务器架构,可在事件上执行应用程序逻辑。
  • OpenWhisk还有一个名为wsk的CLI程序,可用于在OpenWhisk上运行代码片段或操作。
  • OpenWhisk介绍了触发器操作规则的概念。
  • 触发器是事件源发出的一类事件。
  • 动作封装了要执行的实际代码,支持多种语言绑定,包括封装在Docker容器中的Node.js,Swift和任意二进制程序。动作调用开放生态系统的任何部分,包括用于分析,数据,认知或任何其他第三方服务的现有Bluemix服务。
  • 规则是触发器和操作之间的关联。

Cloud Foundry与OpenWhisk

所以问题仍然存在:何时应该使用Cloud Foundry,或者何时应该使用OpenWhisk?

在我使用OpenWhisk的有限经验中,这是我的想法。我喜欢将OpenWhisk视为一种易于实现的自动扩展架构,应用程序开发人员可以使用它而无需后端开发中的任何先验知识。我认为Cloud Foundry是软件堆栈中的较低级别,可能会为您提供更多自定义功能,但可能需要更多技能和知识来进行设置。

如果我......我会使用Cloud Foundry。

  • 是后端&应用程序开发人员。
  • 有创建和连接服务的经验。
  • 使用OpenWhisk可能无法实现所需的功能。

如果我......我会使用OpenWhisk。

  • 是应用程序开发人员。
  • 不想担心服务器。
  • 不想学习不同的编程语言等,以弄清楚如何设置我的服务器。
  • 真的很想专注于开发我的应用程序并让后端正常工作。

希望有所帮助。

修改

这是我发现的一个很酷的图像,说明了这一点:

comparison

答案 1 :(得分:7)

CloudFoundry PaaS(平台即服务)平台,简而言之,它主持您的应用程序运行的平台。平台的示例包括node.js或JVM。

OpenWhisk 无服务器平台。 FaaS(功能即服务)一词似乎也在出现。您上传代码,该代码在事件发生时执行。该事件可能是任何事情,从简单的HTTP请求到数据库中发生的更改。

两者的根本区别在于操作方式。 PaaS意味着,您仍在运行服务器进程。一旦事件发生,您将有一个长时间运行的进程来监听事件并执行您的逻辑。所有其他时间,进程都处于空闲状态,仍然需要CPU周期和内存来实际监听事件。

在无服务器中,平台承担“倾听事件”的负担。事件发生后,您的代码将被实例化并执行。该代码之后关闭,因此不再需要任何资源。这也解释了为什么OpenWhisk动作的时间限制为5分钟。它并不意味着长期运行。

免责声明:这两个平台都比我在此描述的更多支持,我试图将其保持在两者之间最大的差异。