Ibm cloud CloudFoundry和OpenWhisk有什么区别?

Ibm cloud CloudFoundry和OpenWhisk有什么区别?,ibm-cloud,cloud-foundry,ibm-mobile-services,openwhisk,Ibm Cloud,Cloud Foundry,Ibm Mobile Services,Openwhisk,我在Bluemix中看到了这两个平台,但它们之间有什么区别?是一个(平台即服务)平台,简而言之,这意味着它承载了供应用程序运行的平台。平台示例包括node.js或JVM 是一个无服务器平台。FaaS(Function-as-a-service)一词似乎也在出现。您上载代码,该代码在事件发生时执行。该事件可能是任何事件,从简单的HTTP请求到数据库中发生的更改 两者的根本区别在于操作方式。PaaS意味着,您仍在运行服务器进程。一旦事件发生,您将有一个长时间运行的进程来侦听事件并执行您的逻辑。其他所

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

是一个(平台即服务)平台,简而言之,这意味着它承载了供应用程序运行的平台。平台示例包括node.js或JVM

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

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

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


免责声明:这两个平台支持的内容比我在这里描述的要多得多,我试图将其归结为两者之间最本质的区别。

Cloud Foundry和OpenWhisk是两种Bluemix计算模型,开发人员可以用来增加应用程序的工作负载

我将对这两项服务以及何时使用它们给出一个非常高级别的总结

云铸造
  • IBMBlueMix最初基于CloudFoundry的开放技术。它是一个云计算平台即服务,支持从初始开发到所有测试阶段再到部署的整个生命周期
  • CloudFoundry有一个名为的CLI程序,它是与Bluemix交互的主要工具(或者Bluemix为此提供了一个web GUI)
  • Cloud Foundry引入了组织的概念,这些组织包含空间,您可以将其视为工作空间。不同的空间通常对应于应用程序的不同生命周期阶段
  • Cloud Foundry引入了服务应用程序的概念。CloudFoundry服务通常执行特定的功能(如数据库服务),应用程序通常绑定服务及其密钥
开拂
  • OpenWhisk是一个全新的IBM云开发的分布式事件驱动计算模型
  • 它有一个分布式自动扩展的无服务器体系结构,可以在事件上执行应用程序逻辑
  • OpenWhisk还有一个名为的CLI程序,可用于在OpenWhisk上运行代码片段或操作
  • OpenWhisk介绍了触发器操作规则的概念
  • 触发器是事件源发出的一类事件
  • 操作封装要执行的实际代码,这些代码支持多语言绑定,包括Node.js、封装在Docker容器中的Swift和任意二进制程序。操作调用开放生态系统的任何部分,包括用于分析、数据、认知或任何其他第三方服务的现有Bluemix服务
  • 规则是触发器和操作之间的关联
Cloud Foundry vs.OpenWhisk 所以问题依然存在:什么时候应该使用CloudFoundry,或者什么时候应该使用OpenWhisk

在我使用OpenWhisk的有限经验中,以下是我的想法。我喜欢将OpenWhisk看作是一种易于实现的自动伸缩体系结构,应用程序开发人员可以使用它,而不需要在后端开发中有太多的先验知识。我认为CloudFoundry是软件堆栈中的一个较低级别,它可以为您提供更多的定制,但可能需要更多的技能和知识来进行设置

如果我

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

  • 他是一名应用程序开发人员
  • 不想担心服务器
  • 我不想学习不同的编程语言等,以了解如何设置我的服务器
  • 我真的想专注于开发我的应用程序,让后端正常工作
希望这有帮助

编辑:

下面是我发现的一张很酷的图片,它说明了这一点:


serverless是一个用词不当的词。您不能说不同之处在于使用PaaS时,您正在托管自己的服务器。事实并非如此。区别在于操作模型,使用FaaS时,函数仅在需要时运行,而使用PaaS时,通常会有多个实例一直在运行,等待执行任务。@christo4ferris这不正是我在第3段和第4段中所说的吗?在PaaS中,您实际上是在运行自己的服务器(软件方面,而不是硬件方面)。区别仅在于操作模型。是的,PaaS将东西打包并创建一个“服务器”,但你真的不“托管”它,平台会。在FaaS,同样的事情也会发生。该函数必须存在于运行时中,等等,您就是无法访问它。对,我将答案编辑为“运行服务器进程”,而不是“托管服务器”。感谢一些人可能认为有用的反馈信息:openwhisk不仅可以自动伸缩,还可以为您提供负载平衡。