当前位置: 首页 > 能源互联网 > 云计算

云计算未来的发展趋势之无服务器架构简介

TechWeb发布时间:2020-06-01 11:51:46

  无服务器计算(Severless computing,简称 Serverless)现在是软件架构圈中的热门话题,三大云计算供应商(Amazon、Google 和 Microsoft)都在大力投入这个领域,涌现了不计其数的相关书籍、开源框架、商业产品、技术大会。但是什么是无服务器,为什么值得考虑?我希望在本文中对这些问题有所启发。

  什么是Serverless?

  就像软件行业中的很多趋势一样,Serverless 的界限并不是特别清晰,尤其是它还涵盖了两个互相有重叠的概念:

  1)Serverless 最早用于描述那些大部分或者完全依赖于第三方(云端)应用或服务来管理服务器端逻辑和状态的应用,这些应用通常是富客户端应用(单页应用或者移动端 App),建立在云服务生态之上,包括数据库(Parse、Firebase)、账号系统(Auth0、AWS Cognito)等。这些服务最早被称为 “(Mobile) Backend as a Service”,下文将对此简称为 “BaaS”。

  2)Serverless 还可以指这种情况:应用的一部分服务端逻辑依然由开发者完成,但是和传统架构不同,它运行在一个无状态的计算容器中,由事件驱动、生命周期很短(甚至只有一次调用)、完全由第三方管理。这种情况称为 Functions as a service / FaaS。AWS Lambda 是目前的热门 FaaS 实现之一,下文将对此简称为 “FaaS”。

  界面驱动的应用(UI-driven applications)

  我们来设想一个传统的三层C/S 架构,例如一个常见的电子商务应用(比如在线宠物商店),假设它服务端用 Java,客户端用 HTML/JavaScript:

  

  在这个架构下客户端通常没什么功能,系统中的大部分逻辑——身份验证、页面导航、搜索、交易——都在服务端实现。

  把它改造成Serverless 架构的话会是这样:

  这是张大幅简化的架构图,但还是有相当多变化之处:

  我们移除了最初应用中的身份验证逻辑,换用一个第三方的BaaS 服务。

  另一个BaaS 示例:我们允许客户端直接访问一部分数据库内容,这部分数据完全由第三方托管(如 AWS Dynamo),这里我们会用一些安全配置来管理客户端访问相应数据的权限。

  前面两点已经隐含了非常重要的第三点:先前服务器端的部分逻辑已经转移到了客户端,如保持用户Session、理解应用的 UX 结构(做页面导航)、获取数据并渲染出用户界面等等。客户端实际上已经在逐步演变为单页应用。

  还有一些任务需要保留在服务器上,比如繁重的计算任务或者需要访问大量数据的操作。这里以“搜索”为例,搜索功能可以从持续运行的服务端中拆分出来,以 FaaS 的方式实现,从 API 网关(后文做详细解释)接收请求返回响应。这个服务器端函数可以和客户端一样,从同一个数据库读取产品数据。 我们原始的服务器端是用 Java 写的,而 AWS Lambda(假定我们用的这家 FaaS 平台)也支持 Java,那么原先的搜索代码略作修改就能实现这个搜索函数。

  最后我们还可以把“购买”功能改写为另一个 FaaS 函数,出于安全考虑它需要在服务器端,而非客户端实现。它同样经由 API 网关暴露给外部使用。

  消息驱动的应用(Message-driven applications)

  再举一个后端数据处理服务的例子。假设你在做一个需要快速响应UI 的用户中心应用,同时你又想捕捉记录所有的用户行为。设想一个在线广告系统,当用户点击了广告你需要立刻跳转到广告目标,同时你还需要记录这次点击以便向广告客户收费。

  传统的架构会是这样:“广告服务器”同步响应用户的点击,同时发送一条消息给“点击处理应用”,异步地更新数据库(例如从客户的账户里扣款)。

 

  在Serverless 架构下会是这样:

  这里两个架构的差异比我们上一个例子要小很多。我们把一个长期保持在内存中待命的任务替换为托管在第三方平台上以事件驱动的FaaS 函数。注意这个第三方平台提供了消息代理和 FaaS 执行环境,这两个紧密相关的系统。

评论

用户名:   匿名发表  
密码:  
验证码:
最新评论0

相关阅读

云计算的技术优势和商业优势是什么?

近年来,云计算发展迅猛,同时随着大数据、人工智能等研究的不断深入,云计算作为其重要技术和支撑,未来仍会有巨大的发展空间。下面和千锋广州小编一起来看看吧。
云计算2020-05-26

2020年云计算产业链现状及发展趋势

中国云计算市场处于快速发展阶段,容器、微服务等技术的不断成熟,推动着云计算的变革。随着云计算的应用场景的不断拓展,云计算的应用已深入达到政府、金融、工业、交通、物流等传统行业。
行业分析2020-05-14

云计算战火再燃,企业级市场能否成就金山云?

金山云专注于为企业提供云服务。从2014年提出“All in Cloud”开始,金山云已经成长为中国第三大互联网云服务提供商,以及最大的独立云服务提供商。眼下,金山云更是成功登陆纳斯达克,股票代码为“KC”。
云计算2020-05-09

大数据、云计算…34亿的新基建,怎么才能薅到这波“数字红利”

十年前,我们错过了传统基建这一风口上的红利,十年后,新基建带着新的风口向我们招手,没薅到传统基建的羊毛,这次就一定要薅到新基建的羊毛,但是我们应该怎么才能薅到这波“数字红利”?
深度阅读2020-04-30

云计算冲刺2020:华为云跻身前三 HAT争霸赛开启

都说华为进入一个行业,就将重构产业格局。云计算领域延续了这一定律,新晋者华为云在三年内,就跻身国内前三、全球排名进入前六。
云计算2020-04-24

新基建有望拉动10万亿投资 中外巨头争夺云计算市场

新冠疫情令全球经济陷入了一场空前危机。经济学家预计,今年全球经济将出现衰退,中国将是为数不多的仍然实现增长的经济体。对新基建等领域的投资将成为拉动中国经济增长的重要驱动力。
产经信息2020-04-23

3年投2000亿加码新基建,阿里云还欲在沪落地新经济发展

 4月20日,阿里云宣布,未来3年再投2000亿元,用于云操作系统、服务器、芯片、网络等重大核心技术研发攻坚和面向未来的数据中心建设。
产经信息2020-04-21

腾讯云全面拥抱工业互联网 助力数字新基建

 在垂直行业领域,腾讯与富士康、三一重工等领军企业深度合作,并协助企业推出了各自的工业互联网平台,一方面满足集团内部集约化管理和服务,实现IT基础资源弹性伸缩、工业软件服务共享、软件开发敏捷化、数据互联互通、业务场景创新等
产经信息2020-04-20

国家发改委发文:构建产业互联网平台助力经济高质量发展

日前,国家发改委发布《关于推进“上云用数赋智”行动,培育新经济发展实施方案》(以下简称《方案》),为加快数字产业化和产业数字化,助力建设现代化产业体系,实现经济高质量发展,提出了多项举措。
焦点头条2020-04-14

国家发改委发文:构建产业互联网平台助力经济高质量发展

日前,国家发改委发布《关于推进“上云用数赋智”行动,培育新经济发展实施方案》(以下简称《方案》),为加快数字产业化和产业数字化,助力建设现代化产业体系,实现经济高质量发展,提出了多项举措。