Serverless架构基础详解(1)

举报
小云悠悠zZ 发表于 2023/01/24 13:56:11 2023/01/24
【摘要】 从IaaS到FaaS再到SaaS,再到Serverless,云计算的发展在近十余年中发生了翻天覆地的变化,从虚拟空间到云主机,从自建数据库等业务到云数据库等服务,云计算的发展是迅速的,Serverless架构也被诸多人寄予厚望,或许Serverless架构正当时,其已然开启从概念到实践的大规模落地之路,正如 Gartner 报告中的预测,到 2025 年,全球一半的企业将采用 FaaS 部署

从IaaS到FaaS再到SaaS,再到Serverless,云计算的发展在近十余年中发生了翻天覆地的变化,从虚拟空间到云主机,从自建数据库等业务到云数据库等服务,云计算的发展是迅速的,Serverless架构也被诸多人寄予厚望,或许Serverless架构正当时,其已然开启从概念到实践的大规模落地之路,正如 Gartner 报告中的预测,到 2025 年,全球一半的企业将采用 FaaS 部署;或许,时至今日的Serverless架构,依旧不是最终形态的的Serverless架构;或许Serverless的精神也需要进一步的建设和完善,但是不可否定的是,Serverless架构都正在:More and more energetic, more and more fast and powerful.

image.png
Serverless架构迅速发展的过程,其实也映射着云计算领域前进的方向,本节将会通过对Serverless架构的发展历程介绍、概念规范进行探索以及工作原理的研究,生态发展的分析,对Serverless架构进行基础的学习和了解。

1.1.1 发展历程
自1961年约翰·麦卡锡(1971年图灵奖获得者)在麻省理工学院百周年纪念典礼上第一次提出了“Utility Computing”概念:“计算机在未来,将变成一种公共资源,会像生活中的水、电、煤气一样,被每一个人使用”,云计算的“最初的”,“超前的”遐想模型,就逐步的诞生;经历过1984年,SUN公司联合创始人John Gage(约翰·盖奇)提出“网络就是计算机(The Network is the Computer)”的重要猜想,用于描述分布式计算技术带来的新世界,到1996年,康柏(Compaq)公司的一群技术主管在讨论计算业务的发展时,首次使用了Cloud Computing这个词,并认为商业计算会向Cloud Computing的方向转移。这也是“云计算”从雏形到正式被提出的基本过程。

伴随着云计算概念的逐渐完善,云计算的技术也逐渐的完善起来,2003年到2006年间,谷歌发表了The Google File System、MapReduce: Simplified Data Processing on Large Clusters 、Bigtable: A Distributed Storage System for Structured Data等论文,这些论文指明了HDFS(分布式文件系统),MapReduce(并行计算)和Hbase(分布式数据库)的技术基础以及未来机会,至此奠定了云计算的发展方向;

随着云计算的飞速发展,因云而生的产品,技术也越来越多,于是Pivotal公司的Matt Stine在2013年首次提出云原生(CloudNative)的概念;随后的2015年云原生计算基金会(CNCF)成立,并为最初的云原生定义范围:容器化封装、自动化管理、面向微服务;到了2018年,CNCF更新了云原生的定义,把服务网格(Service Mesh)和声明式API给加了进来。直到今天,如图所示,云原生的战略版图越来越宏伟,覆盖的产品越来越多,覆盖的领域也越来越完整。有人说,因云而生的软件、硬件、架构,就是真正的云原生;因云而生的技术,就是云原生技术。确实如此,出生于云,成长在云,因云而生,或许就是真正意义上的云原生。

d0814963a04c561d5dfbef5a40297dd.jpg
在云原生技术发展前后,云计算领域又有一个新的概念诞生,那就是Serverless架构,一个主张降本提效的技术范式,一个主张业务聚焦,把更专业的事情交给更专业的人,开发者可以付出更多精力在自身的业务逻辑上的技术架构。

2012年,Iron.io的副总裁Ken Form在文章Why The Future of Software and Apps is Serverless中,提出了一个新的观点:“即使云计算的已经逐渐的兴起,但是大家仍然在围绕着服务器转。不过,这不会持续太久, 云应用正在朝着无服务器方向发展,这将对应用程序的创建和分发产生重大影响”。并首次将“Serverless”这个词带进了大众的视野。

2014年Amazon发布了AWS Lambda让“Serverless”这一范式提高到一个全新的层面,为云中运行的应用程序提供了一种全新的系统体系结构,至此再也不需要在服务器上持续运行进程以等待HTTP请求或API调用,而是可以通过某种事件机制触发代码执行,通常这只需要在AWS的某台服务器上配置一个简单的功能。

2015年,在AWS的re:Invent大会上,Serverless的这个概念更是反复地出现,其中包括了The Serverless Company Using AWS Lambda和JAWS:The Monstrously Scalable Serverless Framework的这些演讲。随着Serverless这个概念的进一步发酵;此外,Ant Stanley 在2015年7月名为Server are Dead…的文章中更是围绕着AWS Lambda及刚刚发布的AWS API Gateway这两个服务解释了他心目中的Serverless,并说Servers are dead … they just don't know it yet.

2016年10月在伦敦举办了第一届的ServerlessConf,在两天时间里面,来自全世界40多位演讲嘉宾为开发者分享了关于这个领域进展,并且对未来进行了展望,提出来了Serverless的发展机会以及所面临的挑战,这场大会是针对Serverless领域的第一场具有较大规模的会议,在Serverless的发展史上具有里程碑的意义。

2017年,各大云厂商基本上都已经在Serverless进行了基础的布局,尤其是国内的几大云厂商,也都先后在这一年迈入“Serverless时代”。同年,CNCF Serverless WG成立了,并且开始以社区的力量推动Serverless快速前行,包括CNCF Serverless Whitepaper、CloudEvents等相关的立项研究与探索,2017年年末,eWEEK的Chris J. Preimesberger发表文章Predictions 2018: Why Serverless Processing May Be Wave of the Future来表达在“全新的阶段下”大家对Serverless的看法和期盼。

2018年,Serverless的发展速度要比想象中的更加快速,在这一年,Google 发布了 Knative, 一个基于 Kubernetes 的开源 Serverless 框架,具备构建容器、流量调配、弹性伸缩、零实例、函数事件等能力。AWS 发布了 Firecracker,一个开源的虚拟化技术,面向基于函数的服务,创建和管控安全的、多租户的容器。Firecracker 的目标是把传统虚拟机安全性和隔离性,和容器的诉求,资源效率结合起来。在这一年,CNCF也正式发布了Serverless领域的白皮书:CNCF Serverless Whitepaper V1.0,阐明Serverless技术概况、生态系统状态,为 CNCF 的下一步动作做指导,同时CloudEvnent规范,进入CNCF Sandbox;同样在2018年,全球知名IT咨询调研机构Gartner发布报告,将Serverless Computing列为十大未来将影响基础设施和运维的技术趋势之一。

2019年开始,Serverless进入到了一个真正意义上的生产应用,最佳实践快速发展阶段而2019年对Serverless而言是非常关键的一年,也是Serverless具有里程碑式发展的一年,被很多人定义为“Serverless正式发展的元年”。在这一年不仅有KubeCon在中国上海的CloudNativeCon中关于Serverless的“海量主题演讲”,这些演讲包括来自Captial One银行的Kevin Hoffman的WebAssembly、无服务器和云,IBM的Doug Davis的CNCF CloudEvents项目:迈向无服务器互操作的一步等;同年,UC Berkeley在论文Cloud Programming Simplified: A Berkeley View on Serverless Computing表示“Serverless 计算将会成为云时代默认的计算范式”。

2020年,CNCF 发布了2020年度中国云原生调查报告,在报告中明确显示Serverless 正在持续增长,31% 的单位在生产中使用无服务器,41% 在评估,12% 计划在未来12个月使用;同年,Flexera 2020年云状况报告称,Serverless是2020年增长最快的五项PaaS云服务之一;与此同时,Forrester 认为,Serverless 计算的兴起,让 FaaS(Function As A Service)成为继 IaaS、PaaS、SaaS 之后一种新的云计算能力提供方式。预计 2021 年,将会有大量主流企业的核心应用,从原来的主机架构迁移到 Serverless。随着时间的发展,Serverless架构逐渐从

2021年,Serverless架构在权威咨询机构 Forrester 发布的The Forrester Wave™: Function-As-A-Service Platforms, Q1 2021中,开始了新一年的蓬勃发展,在这个报告中,不仅对全球主流的Serverless平台,进行了相对应的评测,对过去的技术发展进行了更为科学的总结,同样也对未来的规划、产品的发展视野进行了展望和探索,作为未来十年云计算的重要趋势之一,Serverless架构已经展示出不俗的潜力。Forrester 认为,Serverless 计算的兴起,让 FaaS(Function As A Service)成为继 IaaS、PaaS、SaaS 之后一种新的云计算能力提供方式。预计 2021 年,将会有大量主流企业的核心应用,从原来的主机架构迁移到 Serverless。

至此,云计算的发展逐渐从IaaS,到PaaS,向Serverless架构升级过渡,同样,Serverless架构也逐渐的从鲜为人知,开始走进寻常百姓家。从2012年,Serverless概念被正式提出之后,2014年AWS带领Lambda开启了Serverless的商业化,再到2017年各大厂商纷纷布局Serverless领域,再到2019年,Serverless成为热点议题在KubeCon中被众多人参与探讨,UC Berkeley发文断言Serverless将引领云计算的下一个十年,Serverless随着时间的不断推进,各种技术部的不断进步,正在逐渐地朝着更完整,更清晰的方向发展,随着5G时代的到来,Serverless将会在更多领域发挥至关重要的作用。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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