当前位置: 代码迷 >> 综合 >> Serverless OpenwhiskFnProjectOpenFaasFissionKubeless调研
  详细解决方案

Serverless OpenwhiskFnProjectOpenFaasFissionKubeless调研

热度:48   发布时间:2024-01-19 08:19:37.0

文章目录

      • 概述
        • 什么是serverless
        • 原理
        • 发展
      • 优势劣势
        • 原则
        • 优势
        • 局限
        • 应用场景
      • 生态环境
        • 云厂商触发器支持
        • 开源框架比较
        • 开源框架触发器比较
      • 现有的开源解决方案
        • Openwhisk
        • FnProject
        • OpenFass
        • Fission
        • Kubeless
      • 总结

概述

什么是serverless

云计算背景下的serverless

“无服务器架构是基于互联网的系统,其中应用开发不使用常规的服务进程。相反,它们仅依赖于第三方服务,客户端逻辑和服务托管远程过程调用的组合。”

serverless是一种执行模型,其中云提供商负责通过动态分配资源来执行一段代码。并且只收取用于运行代码的资源量。代码通常在无状态容器内运行,可以由各种事件触发,包括http请求,数据库事件,排队服务,监视警报,文件上载,预定事件(cron作业)等。其业务层面的状态则被开发者使用的数据库和存储资源所记录。

serveless架构的意义在于,使得开发者更关注于业务逻辑的核心代码,不必关心IaaS层的基础设施的购买、运维、配置,也不关心自己应用的配置、部署、高可用这些PaaS层的东西。这种架构里,开发者自己并不接触Server,所以有了Serverless这个词。该模式下,开发者的效率是最高的,基本是100%的核心业务+0的业务支撑,而传统的IaaS架构里,我们在用20%的时间开发核心业务 + 80%的时间提供周边业务支撑。

IBM给出的serverless定义为:

  • A cloud-native platform
    云原生应用就是让渡一部分功能给云,以实现弹性,高可用,故障恢复,降低研发运维成本的应用
  • For short-running, stateless computation 短期运行,无状态计算
  • And event-driven applications 事件驱动
  • which scales up and down instantly and automatically 自动缩放、扩容
  • And charges for actual usage at a millisecond granularity 以毫秒粒度收取实际使用费用
原理

以amazon的lambda为例演示

  相关解决方案