首页 > 其他分享 >Serverless 基础

Serverless 基础

时间:2023-10-27 11:35:58浏览次数:29  
标签:Serverless 开发人员 BaaS 基础 API 服务器 FaaS

Serverless的基础概念

云原生开发模型的一种,可使开发人员专注于构建和运行应用,而无需管理服务器。
Serverless方案中仍然需要服务器,但它们已从应用开发人员的关注中抽离了出来。
  云提供商负责置备、维护和扩展服务器基础架构等例行工作
  开发人员可以简单地将代码打包到容器中进行部署
  部署之后,无服务器应用即可响应需求,并根据需要自动扩容
用户为实际占用的资源付费,而不再是固定的带宽或者服务器数量。

Serverless与其它云计算模型的核心区别

由云服务商负责管理基础架构和应用扩展
应用部署于容器中,这些容器在被调用时将会自动按需启动
  出现能够触发应用代码运行的事件时,云架构才会为这一代码分配资源
  代码执行结束后,占用的大部分资源便即释放
  帮助公司避免服务器等资源的过渡采购,提高资源效益
操作系统、文件系统、安全补丁、负载均衡、容量管理、扩展、日志和监控等例行任务都由底层的云服务完成,从而将开发人员从应用扩展和服务器置备相关的琐碎日常任务中解放出来

Serverless产品

BaaS(Backend as a Service)

云服务端将后端需要的各种服务,例如认证服务、数据库、消息队列、文件存储、代码构建等各种后端功能封装为API提供给用户。
用户只需要根据BaaS的API编写并提交代码即可自动完成应用构建、部署、运行、扩缩容等功能。

FaaS(Function as a Service)

由事件驱动计算执行的应用架构模型
开发人员编写逻辑代码,并将其部署到完全由平台(云服务商)管理的容器中,然后按需执行
  开发人员通过API调用Serverless应用
  FaaS服务商通过API网关来处理API调用请求
运行Serverless代码的容器的特点
  无状态 - 让数据集成变得更加简单
  寿命短 - 可以只运行非常短的时间
  由事件触发 - 可在需要时自动运行
  完全由云提供商管理

BaaS与FaaS的区别与联系

BaaS与FaaS的区别

BaaS处理整个后端功能,而FaaS仅处理应用程序中支持响应的事件。

BaaS与FaaS的联系

IaaS=数据中心+服务器+存储+网络
PaaS=IaaS+部署+管理+扩展
BaaS=PaaS+自动化构建

Serverless的优缺点

优点

1. 较低的运维成本
2. 较低的开发成本
3. 自动化弹性扩展
4. 较高的计算资源利用率

缺点

1. 仅支持无状态服务
2. 延迟问题
   1. 高度分布式导致延迟增大
   2. 冷启动存在延迟
3. 尚未形成统一标准
4. 存在厂商锁定的可能性

Serverless的主流产品

云厂商的FaaS产品

1. AWS Lambda
2. Google Cloud Functions
3. Microsoft Azure Functions (open source)
4. Aliyun Function Compute
5. Huawei Cloud FunctionGraph(函数工作流)

开源解决方案

1. Apache OpenWhisk
2. OpenFaaS
3. Fission
4. Kubeless
5. Knatvie



标签:Serverless,开发人员,BaaS,基础,API,服务器,FaaS
From: https://blog.51cto.com/wangguishe/8051985

相关文章

  • 软件工程基础知识
    1、软件生存周期可行性分析与项目开发计划--生成可行性分析报告与项目开发计划;需求分析--生成软件需求说明书;概要设计--主要设计软件的结构--生成概要设计说明书;详细设计--生成详细设计文档;编码;测试--生成软件测试计划、测试用例、软件测试报告;维护--软件生存周期中时间最......
  • 金蝶KIS VB插件 老单据如何插入多行值,老单获取基础资料内码、代码、名称
    转自:https://blog.csdn.net/ssyyll/article/details/16804273WhileNotrs.EOF '填充对应的行 Withm_BillTransfer '如果超过两行以上的值,需要先用 .BillForm.InsertRow '插入一行 .SetGridTextLRow,dicFieldEntry("FItemID"),rs("FNumber") .SetGridText......
  • Vim 基础使用命令
    1.1HelloWorld1.1.1vim进入编辑模式编辑模式:一般模式下不可以修改某个字符,若要修改字符,只能进入编辑模式。从一般模式进编辑模式,只需按i、I、a、A、o、O、r和R中某个键即可。当进入编辑模式时,在屏幕尾部会显示INSERT或REPLACE字样(若你的centos支持中文,则会显示“插入”)。从编......
  • C语言基础
     关于二维数组https://blog.csdn.net/weixin_45332776/article/details/116613485    全局变量和静态本地变量关于static  https://blog.csdn.net/qq_43194080/article/details/125686287......
  • web基础漏洞-额外
    1、介绍这里阐述除了web基础漏洞之外的漏洞大全,简要列举,以供快速查询。分为几大类:服务器容器、cms、前端api、后端api、操作系统和端口服务2、服务器容器tomcat后台弱口令war包上传tomcatput漏洞tomcatajp漏洞nignx目录穿越漏洞apache解析顺序漏洞apache.htaccess配置......
  • JS加密/解密之那些不为人知的基础逻辑运算符
    不多说,直接上干货使用逻辑非运算符!和双重逻辑非运算符!!:例如![]、!![]、!0、!!0和!""、!!""。空字符串的转换:!""和!!""。数组和对象的类型转换:[]+[]、[]-[]、{}+[]和[]+{}。对象和原始值的自动拆箱:例如({valueOf:()=>5})+3。减法运算符的字符串转换:例如......
  • Java基础 多线程
    进程:进程是程序的基本执行实体(简单理解就是,一个软件运行之后,它就是一个进程)线程:线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。简单说,线程就是应用软件中互相独立的、又可以同时运行的功能。如果这样的功能比较多,就形成了多线程 ......
  • python进阶知识体系md笔记14大体系200页,第2章:linux基础命令学习
    本文从14大模块展示了python高级用的应用。分别有Linux命令,多任务编程、网络编程、Http协议和静态Web编程、html+css、JavaScript、jQuery、MySql数据库的各种用法、python的闭包和装饰器、mini-web框架、正则表达式等相关文章的详细讲述。完整版笔记直接地址:请移步这里共14......
  • 数据库基础操作3
    今日内容详细python操作MySQL(重要)MySQL本身就是一款C/S架构,有服务端、有客户端,自身带了有客户端:mysql.exepython这门语言成为了MySQL的客户端(对于一个服务端来说,客户端可以有很多)"""SQL的由来"""操作步骤: 1.先链接MySQL host、port、username、password、charset......
  • Java基础 Commons-io
    Commons-io是apache开源基金组织提供的一组有关IO操作的开源工具包,是用来提高IO流的开发效率的   ......