FaaS 和 IaaS、PaaS 的区别
如下图所示,FaaS 不仅给用户提供了标准的 Runtime,同时在应用层也帮用户管理了请求的调度。开发者只需要聚焦在核心业务逻辑开发,按照函数的粒度去编写代码。而与底层硬件相关的资源维护,则交给更加专业的云厂商来搞定。
因此,对于用户来讲,可以把更多的精力和时间放在业务上。而 IaaS 和 PasS,则均需要用户去运维云主机或者容器集群、搭建业务所需的运行环境。
Serverless的应用场景
虽然 Serverless 的应用很广泛,但是也有使用上的局限性,Serverless 比较适合的场景有以下一些: - 异步的并发,组件可独立部署和扩展 - 应对突发或服务使用量不可预测(主要是为了节约成本,因为 Serverless 应用在不运行时不收费) - 短暂、无状态的应用,对冷启动时间不敏感 - 需要快速开发迭代的业务
基于此,我们发现,Serverless非常适合做实时文件处理、周期性的数据处理和移动及 Web 应用后端等。下面,我们通过一个游戏应用为例来说明什么是 Serverless 应用。
通常,一款移动端游戏至少包含如下几个特性: - 移动端友好的用户体验 - 用户管理和权限认证 - 关卡、升级等游戏逻辑,游戏排行,玩家的等级、任务等信息