何为Serverless?为何Serverless?

特点

• 事件驱动
• 细粒度调用,大部分以函数为单位
• 实时性弹性伸缩,实现“绿色”计算
• 无序管理服务器等底层资源

意义

• 开发者部署代码时不需要担心服务器等底层问题,也不用关心业务逻辑、路由等,只需要关心业务逻辑
• 没有绑定HTTP模型
• 闲置时不需要付费

提供函数即服务(FaaS)

• 写的一切都是函数,相互独立,方便重组
• 不同函数可以采用不同语言编写
• 针对每个请求启动和停止整个应用程序
• 在需要的时候自动扩展
• 两次调用间不能共享内存状态,存储数据需要从云端数据库进行,增加了额外的开销。

目前存在的问题

• 进程的启动延时(冷启动)
• 无法用于高并发应用,因为在短时间内为每一个请求启动一个进程的开销太大
• 应用无法常驻内存,运行的时间是受限的
适用场景
• 应用负载有明显的波峰波谷
• 单个企业由于业务内容区别可能会有明显的波峰波谷
• 云服务提供商如果服务用户的技术足够大可能不会有明显的波峰波谷
• 基于事件的数据处理
• 通用计算任务,有函数计算执行
• 开发者需要自己写出实现逻辑,再将任务按照控制流程连接起来,每个人物的具体执行有云厂商来负责
• 函数本身是无状态的,如果要持久化数据则需要适用OSS等存储服务

serverless带来的改变

• 冲击传统PaaS
• 开发模式和开发者的职责

你可能感兴趣的:(serverless,知识笔记)