Cloud Foundry和OpenWhisk有什么区别?

han*_*ans 9 cloud-foundry openwhisk ibm-cloud ibm-mobile-services

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

joe*_*joe 14

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

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

希望有所帮助.

编辑:

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

对照


mar*_*mes 7

CloudFoundry是一个 PaaS(平台服务)平台,简而言之,它承载着运行应用程序的平台.平台的示例包括node.js或JVM.

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

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

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

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