公司新闻

公司新闻

APP开发实战指南 | Serverless 架构下的应用开发

发布时间: 2022-09-23 14:10        有 人围观

UC Berkeley 认为 Serverless 架构的出现过程类似于 40 多年前从汇编语言转向高级语言的过程,在未来 Serverless 架构的使用会飙升,或许服务器式云计算并不会消失,但是将促进 BaaS 发展,以更好地为 Serverless 架构提供支持。
 

Serverless 架构的应用开发流程

Cloud Native

基于 Serverless 架构的应用APP开发流程将会比基于传统架构的应用开发更简单。在 Serverless 架构下进行应用开发,用户通常只需要按照规范编写代码、构建产物,然后部署到线上即可。

如图 1 所示,CNCF Serverless Whitepaper v1.0 指出函数的生命周期从编写代码并提供规范元数据开始,一个 Builder 实体将获取代码和规范,然后编译并将其转换为工件,接下来将工件部署在具有控制器实体的集群上。该控制器实体负责基于事件流量和/或实例上的负载来扩展函数实例的数量。
1)在创建函数时,提供其元数据作为函数创建的一部分,对其进行编译使其具有可发布的特性。接下来启动、禁用函数。函数部署要能够支持以下用例。
  • 事件流(Event Streaming):在此用例中,队列中可能始终存在事件,但是可能需要通过请求暂停/恢复进行处理。
     
  • 热启动(Warm Startup):在任何时候,具有最少实例的函数能使所接收的“第一”事件快速启动,因为该函数已经部署并准备好为事件服务(而不是冷启动),其中函数通过“传入”事件在第一次调用时部署。
      
2)用户可以发布一个函数,这将创建一个新版本(最新版本的副本),发布的版本可能会被标记或有别名。
3)用户可能希望直接执行/调用函数(绕过事件源或 API 网关)以进行调试和开发过程。用户可以指定调用参数,例如所需版本、同步/异步操作、详细日志级别等。