Serverless从入门到进阶:架构、原理与实践
上QQ阅读APP看书,第一时间看更新

1.5 Serverless框架和生态

如图1-4所示,根据CNCF发布的Serverless全景图,可以清晰地看到Serverless的层级、框架和生态构成。

022-1

图1-4 Serverless全景图

CNCF对Serverless生态的定义分为以下几个层级。

  • 工具(Tools):主要包括补齐Serverless周边能力的工具,例如提供监控、排障能力的Dashbird和Thundra等。
  • 框架(Framework):主要包括部署Serverless资源的成熟框架。框架通常遵循某一套规范(如YAML规范)对资源进行抽象描述,通过框架可以进一步降低Serverless的使用门槛,开发人员可以快速开发、构建Serverless应用。主流的框架包括AWS SAM、Serverless Framework等。
  • 托管平台(Hosted Platform):主要指云服务商提供的产品化Serverless计算平台。这类平台提供计算资源的完全托管,同时会进行商业化的计费。例如AWS的Lambda、腾讯云的SCF(Serverless Cloud Function)等。
  • 开放平台(Installable Platform):主要包括开源的Serverless平台,可以提供私有化的安装和部署,支持灵活定制,例如Apache OpenWhisk(IBM Cloud Function基于该开源版提供服务)、Knative和Kubeless等。
  • 安全(Security):该分类下的产品主要为Serverless提供安全相关的解决方案,例如Protego Labs等,提供从Serverless应用到运行时层面的安全防护,如持续的漏洞扫描、攻击检测、权限控制等。