无服务器serverless、FaaS,给技术小白的计算机科普系列

“无服务器/serverless是什么?”

“微服务器是什么?”

“FaaS是什么?”

这是笔者在研究时曾碰到过的一些问题。看了大神们的解答,理解如下。理解可能略有浅薄,之后会不断学习持续更新:


1. 无服务器/serverless是什么?

- 服务器是什么?

1)“高配版”计算机。是计算机的一种,结构差不多,需要cpu、硬盘、内存等。更高配,运算能力、数据存库空间更强,使其能在短时间内完成大量工作及负载大量的文件资料存储。

2)作用:在网络中为其它机器提供计算或应用服务

https://www.jianshu.com/p/e7b992a82dc0

3)配套技术:①服务器需要7*24小时工作,需要稳定性技术RAS(可靠性、可用性和可维护性,Reliability, Availability and Serviceability);②ECC,修正错误存储器;③服务器OS,Linux发行版(红帽企业Linux、SUSE)、Windows Server等

4)分类:网页服务器(Web server)、FTP服务器(FTP server)、邮件服务器(mail server)...


2. 分布式架构是什么?微服务器是什么?无服务器是什么?

一种架构。此外还有分布式架构、微服务架构、单体架构

1)分布式架构:将一个系统分为多个业务模块,不同模块部署在不同的服务器

分布式=多个模块分布在多个server

优点:有负载均衡能力,防高并发;解耦、系统扩展方便

缺点:系统之间需要远程通信,接口开发工作量大

https://www.jianshu.com/p/e7b992a82dc0

现实中架构不会那么简单。稍微复杂一些的话:

https://www.jianshu.com/p/7293b148028f


2)微服务架构:进一步拆解模块,变成很多小应用/微服务。微服务部署在服务器或(同一个服务器的)容器上。代表框架有Spring cloud、Dubbo等

优点:易于开发和维护、开发和交付节奏加快;容易改;易拓展;团队权责清晰

缺点:运维成本高,因为应用实例变多;接口调整成本高;一些功能重复管理

出现微服务治理赛道:微服务之间的通信、调用链的跟踪管理、状态监控、错误跟踪排查等

https://www.jianshu.com/p/e7b992a82dc0

3)Serverless:开发者不用管底层服务器、资源。需要用的时候直接找“平台”,获得计算资源。按调用次数计费

和其它架构的核心区别:别的架构需要申请一定数量、规格(CPU、内存、存储空间)的服务器。serverless不需要用户申请,有需要平台自动分配(“事件驱动”)

不等于没有服务器。而是用户无需在意是否有服务器,以及服务器运维

优点:简化设备运维,应用和服务器解耦,不用维护基础设施;开发速度提高;降低运营成本

缺点:vendor-lock-in,和云厂商绑定。例如用AWS的serverless,只能用AWS的数据库

技术尚不成熟,缺少成功案例和行业标准

https://www.jianshu.com/p/e7b992a82dc0

遗留问题:现在主流的是什么?微服务?


3. Serverless怎么用?FaaS是什么?

Serverless本质上是个“理念”。实现的方法之一是用云厂商提供的FaaS服务

Function-as-a-Service,"函数即服务"

什么是函数?

有个输入,需要一定处理,获得输出。所有应用开发本质上就是写“函数”

https://www.youtube.com/watch?v=EixgGyxbIWY

什么是FaaS?

是个计算平台。写应用/程序的开发者,可以直接写&跑函数,不用管服务器、资源等

https://www.youtube.com/watch?v=EixgGyxbIWY

产品是什么?

包括:AWS Lambda(最早的)、Azure Functions、Google Cloud Functions、腾讯云 Serverless Cloud Fucntion...

给谁用?

绝大多数程序、服务都能改成FaaS


遗留问题:

serverless需要FaaS+BaaS。BaaS是什么?

如何构建一个serverless的应用case?


参考资料:感谢各位大神答疑!

四种软件架构,看看你属于哪个层次,https://www.jianshu.com/p/e7b992a82dc0

【Faas科普】云计算的未来: Serverless/Faas https://www.youtube.com/watch?v=EixgGyxbIWY

你可能感兴趣的:(无服务器serverless、FaaS,给技术小白的计算机科普系列)