Serverless架构基础详解(1)

本文涉及的产品
简介: 从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将会在更多领域发挥至关重要的作用。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
17天前
|
运维 安全 Serverless
Serverless架构在图像处理中的优势探讨
Serverless架构在图像处理中的优势探讨
16 1
|
9天前
|
弹性计算 安全 Serverless
图像处理场景下的Serverless架构
【4月更文挑战第15天】图像处理场景下的Serverless架构
|
11天前
|
人工智能 Serverless 数据处理
利用阿里云函数计算实现 Serverless 架构的应用
阿里云函数计算是事件驱动的Serverless服务,免服务器管理,自动扩展资源。它降低了基础设施成本,提高了开发效率,支持Web应用、数据处理、AI和定时任务等多种场景。通过实例展示了如何用Python实现图片压缩应用,通过OSS触发函数自动执行。阿里云函数计算在云计算时代助力企业实现快速迭代和高效运营。
46 0
|
4月前
|
运维 Serverless API
四大软件架构:掌握单体、分布式、微服务、Serverless 的精髓
如果一个软件开发人员,不了解软件架构的演进,会制约技术的选型和开发人员的生存、晋升空间。这里我列举了目前主要的四种软件架构以及他们的优缺点,希望能够帮助软件开发人员拓展知识面。
|
1月前
|
敏捷开发 jenkins Serverless
Serverless 应用架构转型
【2月更文挑战第29天】
|
1月前
|
机器学习/深度学习 人工智能 Serverless
20行代码,Serverless架构下用Python轻松搞定图像分类和预测
本文将AI项目与Serverless架构进行结合,在Serverless架构下用20行Python代码搞定图像分类和预测。
111831 127
|
3月前
|
机器学习/深度学习 弹性计算 Serverless
引领未来科技发展的无服务器架构(Serverless)
无服务器架构(Serverless)是一种革命性的云计算模式,它将开发者从传统服务器管理的繁琐中解放出来,提供了更高效、灵活和可扩展的应用开发和部署方式。本文将介绍无服务器架构的概念、原理及其在各个领域的应用,并展望其对未来科技发展的巨大影响。
|
3月前
|
存储 物联网 Serverless
无服务器架构(Serverless)的革命性应用
无服务器架构是一种全新的云计算模型,它将传统的基于服务器的架构转变为以事件驱动的、按需自动化的架构。本文将探讨无服务器架构的定义、特点以及在现代应用开发中的应用。
156 2
|
4月前
|
运维 Cloud Native Serverless
MSE Serverless 正式商用,构建低成本高弹性的微服务架构
MSE Serverless 正式商用,构建低成本高弹性的微服务架构
70477 77
|
4月前
|
Cloud Native 安全 Serverless
阿里云重磅亮相信通院 2023 云原生产业大会,持续推动 Serverless 架构落地 | 报名启动
阿里云重磅亮相信通院 2023 云原生产业大会,持续推动 Serverless 架构落地 | 报名启动

热门文章

最新文章

  • 1
    Serverless 应用引擎产品使用之数据文件(例如sdxl)超过了OSS(对象存储服务)的单个上传大小限制(5GB)如何解决
    7
  • 2
    Serverless 应用引擎产品使用之在函数计算中,数据库访问失败如何解决
    12
  • 3
    Serverless 应用引擎产品使用之在阿里云函数计算中发现没有NAC(Native Application Component)选项,且无法自己上传MOD(模块)如何解决
    14
  • 4
    Serverless 应用引擎操作报错合集之在阿里函数计算中,sd部署启动报错CAExited 报错信息“operation not permitted”如何解决
    11
  • 5
    Serverless 应用引擎操作报错合集之在阿里函数计算中,SD Controlnet Depth 运行过程中出现错误“urllib3 v2.0 only supports OpenSSL 1.1.1+”如何解决
    11
  • 6
    Serverless 应用引擎操作报错合集之在阿里云函数计算中,laravel zip包使用示例的start.sh脚本启动时出现错误代码如何解决
    13
  • 7
    Serverless 应用引擎操作报错合集之在阿里云函数计算中,服务器调用FC函数时出现 "[Errno -3] Temporary failure in name resolution)" 错误如何解决
    11
  • 8
    Serverless 应用引擎操作报错合集之在Serverless 应用引擎中,部署过程中遇到错误代码如何解决
    13
  • 9
    Serverless 应用引擎操作报错合集之在 Serverless 应用引擎中,遇到“没法通过 head 传递灰度标识”如何解决
    13
  • 10
    Serverless 应用引擎操作报错合集之在阿里函数计算中,函数执行超时,报错Function time out after如何解决
    12
  • 相关产品

  • 函数计算