《云计算与虚拟化技术丛书 深入浅出Serverless:技术原理与应用实践》—1.4.3两种架构的比较

举报
华章计算机 发表于 2019/06/06 14:15:45 2019/06/06
【摘要】 本书摘自《云计算与虚拟化技术丛书 深入浅出Serverless:技术原理与应用实践》一文中的第1章,第1.4.3节,作者是陈耿。

1.4.3 两种架构的比较

       通过对上面两个应用架构图的观察,不难发现Serverless架构下的应用和传统架构下的应用有如下相同的地方:

       两个应用都存在一个逻辑层,负责处理用户请求;

       两个应用的数据都存储在应用外部的数据库中。

       这两个架构不同的地方是:

       传统架构的应用部署在主机之上,而Serverless架构的应用部署于Serverless平台之上,由Serverless平台提供运行所需的计算资源。

       传统架构的应用里,所有的逻辑都集中在同一个部署交付件中。Serverless应用的逻辑层部署运行在Serverless平台的FaaS服务之上。因此,应用的逻辑被打散成多个独立的细颗粒度的函数逻辑。因为业务逻辑运行在FaaS服务之上,所以相关的业务逻辑拥有事件驱动、资源自动弹性扩展、高可用等特性。用户也无须运维业务逻辑所消耗的计算资源。

       Serverless架构的应用所依赖的数据库从具体的特定数据库实例,变成了数据库服务。用户无须关注数据库所消耗的计算资源的运维。

       在Serverless架构下,由于应用的逻辑分散成了若干个函数,推荐通过API网关对这些函数逻辑进行统一的管控(如流量控制、安全管控、版本管理等)。在完备的Serverless平台上,API网关也会作为一种用户可以快速消费的服务而存在。

       在Serverless架构下,具体的主机资源不再是用户关注的对象,不存于应用架构图中。取而代之的是Serverless平台及其子服务,如FaaS和各类BaaS服务。

       Serverless平台的FaaS及BaaS的功能提供了实现Serverless架构理念的技术基础。FaaS是Serverless应用的标准运行环境,BaaS是Serverless应用访问第三方依赖的标准途径。Serverless应用架构的演化其实就是应用为了适应Serverless平台的FaaS和BaaS的一个过程,使得应用的架构可以最大化FaaS和BaaS所带来的价值。

       上面的例子只是一个简化的原型,在实际项目中,根据场景的不同,不同Serverless应用架构的具体实现将会有很大的不同。虽然不同应用的架构不同,但是最终要实现的目标还是一致的,那就是实现Serverless这一理念所强调的“无服务器”化。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。