首页 > 其他分享 >Serverless工作流程

Serverless工作流程

时间:2023-01-25 16:55:17浏览次数:43  
标签:Serverless 步骤 流程 工作 图中 客户端 服务端 FaaS

在实际生产中,Serverless架构通常都是FaaS与BaaS的结合,并且具备弹性伸缩和按量付费的特性。如下所示,当开发者想要开发一个项目的时候,通常只需要根据FaaS提供商所提供的Runtime,选择一个熟悉的编程语言,然后进行项目开发、测试(图中步骤1);

完成之后将代码上传到FaaS平台(图中步骤2);

上传完成之后,只需要通过API/SDK(图中步骤3)

或者一些云端的事件源(图中步骤3)触发上传到FaaS平台的函数,FaaS平台就会根据触发的并发度等弹性执行对应的函数(图中步骤4),

最后用户可以根据实际资源使用量进行按量付费(图中步骤5)。

 

Serverless工作流程

来看一个Web应用的例子。如下所示,通常情况下一些Web应用都是传统的三层C/S架构,例如一个常见的电子商务应用,假设它的服务端用Java,客户端用HTML/JavaScript。

 

传统Web应用三层C/S架构

在这个架构下,服务端仅为云服务器,其承载了大量业务功能和业务逻辑,例如,系统中的大部分逻辑(身份验证、页面导航、搜索、交易等)都在服务端实现。把它改造成Serverless应用形态,简图如下所示。

 

Serverless应用形态简图

在Serverless应用形态下,移除了最初应用中的身份验证逻辑,换用一个第三方的BaaS服务(图中步骤1);

允许客户端直接访问一部分数据库内容,这部分数据完全由第三方托管,会用一些安全配置来管理客户端访问相应数据的权限(图中步骤2);

前面两点已经隐含了非常重要的第三点:先前服务端的部分逻辑已经转移到了客户端,如保持用户Session、理解应用的UX结构、获取数据并渲染出用户界面等。客户端实际上已经在逐步演变为单页应用(图中步骤3);

还有一些任务需要保留在服务器上,比如繁重的计算任务或者需要访问大量数据的操作。这里以“搜索”为例,搜索功能可以从持续运行的服务端中拆分出来,以FaaS的方式实现,从API网关(后文做详细解释)接收请求并返回响应。这个服务端函数可以和客户端一样,从同一个数据库读取产品数据。原始的服务端是用Java写的,而AWS Lambda(假定用的这家FaaS平台)也支持Java,那么原先的搜索代码略作修改就能实现这个搜索函数(图中步骤4);

还可以把“购买”功能改写为另一个FaaS函数,出于安全考虑,它需要在服务端而非客户端实现。它同样经由API网关暴露给外部使用(图中步骤5)。

在整个项目中,Serverless用户实际关心的也就只剩下函数中的业务逻辑,至于身份验证逻辑、API网关以及数据库等原先在服务端的一些产品/服务统统交给云厂商提供。

在整个项目开发、上线以及维护的过程中,用户并不需要关注服务器层面的维护,也无须为流量的波峰波谷进行运维资源的投入,这一切的安全性、弹性能力以及运维工作都交给云厂商来统一处理/调度,用户所需要关注的就是自己的业务代码是否符合自己的业务要求,同时在Serverless架构下,用户也无需为资源闲置进行额外的支出,Serverless架构的按量付费模型以及弹性伸缩能力、服务端低运维/免运维能力,可以让Serverless用户的资源成本、人力成本、整体研发效能得到大幅度提升,让项目的性能、安全性、稳定性得到极大的保障。

 

标签:Serverless,步骤,流程,工作,图中,客户端,服务端,FaaS
From: https://www.cnblogs.com/muzinan110/p/17067061.html

相关文章

  • 四个步骤,教你落地稳定性保障工作
     序-好记性不如烂笔头 稳定性是个啥?第一次接触稳定性这个词是在加入阿里第一年的双十一KO会上。接触到限流、扩容、压测等词汇,只觉得稳定性工作是琐碎的、繁......
  • 这20个Pandas函数可以完成80%的数据科学工作
    Pandas是数据科学社区中使用最广泛的库之一,它是一个强大的工具,可以进行数据操作、清理和分析。本文将提供最常用的Pandas函数以及如何实际使用它们的样例。我们将涵盖从......
  • k8s控制流程
    Kubernetes的控制流程即Kubernetes集群中资源的增、删、改、查流程。这里的资源包括集群基础设施层面的资源和集群中应用负载层面的资源。集群基础设施层面的资源的控制流......
  • Hadoop MapReduce介绍、官方示例及执行流程Apache Hadoop概述
    Hadoop离线是大数据生态圈的核心与基石,是整个大数据开发的入门。本次分享内容让初学者能高效、快捷掌握Hadoop必备知识,大大缩短Hadoop离线阶段学习时间,下面一起开始今天的学......
  • Hadoop技术之HDFS工作流程与机制Apache Hadoop概述
    一、HDFS集群角色与职责官方架构图 主角色: namenodeNameNode是Hadoop分布式文件系统的核心,架构中的主角色。NameNode维护和管理文件系统元数据,包括名称空间目录树结构、......
  • PyTorch图像分类全流程实战--迁移学习训练图像分类模型03
    教程同济子豪兄:https://space.bilibili.com/1900783斯坦福CS231N【迁移学习】中文精讲:https://www.bilibili.com/video/BV1K7411W7So斯坦福CS231N【迁移学习】官方笔记:h......
  • Hive SQL Join关联查询Apache Hadoop概述Hadoop YARN架构、组件及其交互流程Apache Hi
    Hadoop离线是大数据生态圈的核心与基石,是整个大数据开发的入门。本次分享内容让初学者能高效、快捷掌握Hadoop必备知识,大大缩短Hadoop离线阶段学习时间,下面一起开始今天的学......
  • 缤纷汇工作日记
    缤纷汇工作日记2023-01-2409:43:09处理北门被风吹倒的年桔10:15:11重新固定北门被风吹下来的大灯笼......
  • 离线安装selenium全流程
    安装selenium的安装包以及环境包地址链接:https://pan.baidu.com/s/1c5tsb7f9hfGLnZ58Jnn7zg?pwd=iorj提取码:iorj1.安装python,需要注意安装前,选取加入环境安装完成标志......
  • 工作这么多年,我总结的数据传输对象 (DTO) 的最佳实践
    前言数据传输对象(DTO)是一种设计模式,常用于软件开发不同层或者不同系统之间传输数据。DTO的主要目的是封装数据并防止它被其他层或系统直接访问或修改。通过遵循一组......