我目前正在像AWS这样的私有云上工作,并且正在使用AWS lambda实现无服务器。这是非常酷的框架,这就是为什么我做了一些研究来寻找开源替代品。我出了一些名字:OpenWhisk,OpenFaas。 这些框架使用 Docker 来监督在其中执行代码的容器。 我是这些技术的新手,所以我在某些方面仍然感到困惑。
我的观点是:我不明白这些框架是否需要与像 Kubernetes 这样的 orchestartor 一起使用。如果是,它如何与业务流程协调程序配合使用?
如果你有一些信息,链接或文档,那就太好了!
谢谢。
OpenWhisk实际上绕过k8s来调度运行用户函数的容器(在OpenWhisk中称为操作)。函数容器完全由调用程序管理,调用程序是为处理函数而定制的 OpenWhisk 编排器。
OpenWhisk 系统组件由 Kubernetes 管理。但是 Kubernetes 本身对于短期函数容器来说通常太慢了,并且可能需要几秒钟才能启动一个。对于可能执行毫秒的函数来说,这是一个非启动器。Kube 并不是真正设计用来高速度搅动数万个集装箱的。
你可能还想看看 Knative,它相对较新,但与 Kubernetes 非常紧密地保持一致。
以下是可能对您有所帮助的 3 篇文章:
-
调用者在OpenWhisk中做什么:https://link.medium.com/MrhGj6RVrV 和 https://link.medium.com/pifBTkQVrV
-
无服务器合约提供了一些上下文来了解底层平台对用户功能的性能影响: https://link.medium.com/2EMzs0FVrV
最后,值得注意的是,OpenWhisk可以部署在裸机和虚拟机上,Mesos DC/OS或Docker Compose上,为您提供了许多自定义部署选项。