serverless 架构
- 对计算资源更细粒度的划分
- Serverless是对代码执行的抽象,而不是分配资源来执行代码。
- 多租户之间的计算资源是隔离的,从而保证可用性。
- 横向扩展是完全自动的、有弹性的、且由服务提供者所管理。
serverless 的价值
- 减低运维成本。Serverless将用户的服务器,数据库,中间件委托于BaaS/FaaS,用户将不需要再参与基础设施的维护。
- 减少开发成本。Serverless平台会集成大量服务化的组件,可以缩短开发周期,降低开发难度。
为什么 serverless 是未来
通用计算资源的发展正在变得越来越慢,摩尔定律早已失效,而计算需求却从未停止增长。我们需要更高效的计算资源分配的方式。而 serverless 对底层的计算资源进行了抽象,用户只需专注于业务,无需关心底层资源的分配。这也使得 serverless 平台能够对硬件资源进行针对性的优化。比如针对领域的特殊需求进行优化。比如可以在 GPU 上跑 CUDA 的代码,在 TPU 上跑 tensorflow 的代码,提升执行效率。
serverless 现阶段的局限性
serverless 的未来
- 动态的分析 function 对资源的需求,并且选择最合适的硬件平台执行。
- 现阶段各个 serverless 服务并没有一个标准化的接口,迁移成本很高。