Serverless AI训练营:课时1:初识 Serverless(上)(二)
课时1:初识 Serverless(上)(二)
这个观点强调了云计算领域的一个重要趋势,即向无服务器架构发展。无服务器架构是指应用程序的创建和分发不再需要关注服务器的管理和配置,而是由云服务提供商来承担这些任务。这种趋势对应用程序开发和分发产生了深远的影响。
“无服务器方向”这个术语在这个背景下变得非常重要,它描述了这一趋势。亚马逊在2014年推动了无服务器计算的商业化,使其变得更加普及。2016年的伦敦大会进一步强调了这一趋势,并提出了发展机会和挑战。
总的来说,无服务器计算是云计算领域的一个重要发展趋势,尽管在2012年提出,但在商业化方面的发展逐渐加速,对应用程序开发和分发产生了深刻影响。虽然这个概念不是全新的,但它在云计算领域的快速发展使其成为一个重要的话题。
无服务器计算的发展历程,包括它在2006年和2011年之前已经存在,但没有被正式命名。随着2014年的商业化,它开始迅速发展。在2016年,在全球举办了大会,全球各大云厂商都投入资源布局无服务器架构,包括IBM、谷歌、微软等。2017年,国内云厂商也开始部署相关服务和布局无服务器计算平台,具有里程碑的意义,这个发展是一个逐渐变快的一个过程。
关于无服务器计算和架构的定义,你提到了在业界没有一个明确的定义,不同人可能会给出不同的解释。这是一个复杂且快速发展的领域,因此确切的定义可能会随着时间和技术的演进而变化。
总之,无服务器计算是一个重要的技术趋势,它正在改变应用程序开发和分发的方式,使开发者能够更专注于代码编写而不必担心底层服务器管理。
Martin Fowler在ServerlessArchitectures一文中认为Serverless
实际上是BaaS与FaaS的组合
· Serverless最早用于描述那些大部分或者完全依赖于第三方
(云端)应用或服务来管理服务器端逻辑和状态的应用,这些应用通常是富客户端应用(单页应)用或者移动端App),建立在云服务
生态之上,包括数据库(Parse Firebase)、账号系统(Aut
th0、AWS Cognito)等。这些服务最早被称为“(Mobile)Backendasa Service”,下文将对此简称为“BaaS”。
· Serverless还可以指这种情况:应用的一部分服务端逻辑依然
然由开发者完成,但是和传统架构不同,它运行在一个无状态的计算容器中,由事件驱动、生命周期很短(甚至只有一次调用)、完
全由第三方管理。这种情况称为Functionsasaservice/FaaS。AWS Lambda是目前的热门FaaS实现之一。
因此,目前从结构的角度来看,这个领域主要由函数服务和后端技术服务组成,如数据库和账号系统。在2019年,UC博客发表了一篇文章,肯定了从结构的角度对架构进行定义是合适的,同时也认同了这种说法。然后,他从特性的角度给出了一个新的定义,即架构被看作是Serverless的服务,必须具备弹性伸缩和按需付费的特性。
总的来说,我认为架构可以从两个角度来定义,一个是从结构,一个是从特性。在之前提到的UC博客的文章中,云计算的经典文章提出了云计算将引领下一个时代的观点,而后来的文章则认为这个时代包括了UC博客这个学派。
UC博客在对新技术或架构的结构上有不同的观点。最初,他们可能认为架构是一种新的计算模式,虽然推动了整个行业的发展,但实际上是在后退,开了历史的倒车。
然后,他们认为架构不是改变传统计算的新架构,而是颠覆传统计算范式的新计算范式。UC博客在一些观点上也有一些转变。他们提到架构向前迈出了一步,通过提供自动缩放功能,云编程方面的产品取得了一定进展。它提供了一个实际上可管理的、看似无限的计算平台。但他们也认为架构实际上是在开启历史的倒车,因为它们忽略了高效数据处理的重要性,并阻碍了分布式系统的开发。
总之,在学术界中,UC博客对架构的观点一开始并不看好,但经过一段时间的研究和深入思考,他们提出了架构真相符合的一个真相定律。在接下来的一年中,他们发表了一篇关于架构观点的新论文,其中提出了一些激进的观点,包括基于Severless计算的价格将低Severful于计算,至少不会高于计算。
2019年UCBerkeley的文章Cloud ProgrammingSimplified:ABerkeleey View on Serverless Computing中也肯定了这一描述:简单地Serverless=FaaS+BaaS。在对于被认人为是Serverless的服务,它必须具备弹性伸缩和按量付费的特点。(Put simplyserverless computing=FaaaS + BaaS. In our definition,for aservice to be considered serverless, it must scale automatically with no need for explicit provisioning,and be billed based on usage.)
Serverless Computing:One Step Forward,Two Steps Back
One Step Forward :
通过提供自动缩放功能,今天的FaaS产品在云编程方面迈出了一大步,它提供了一种实际上可管理的,看似无限的计算平台。
Two Steps Back:
首先,他们忽略了高效数据处理的重要性;其次,它们阻碍了分布式系统的开发。
Cloud Programming Simplified:A Berkeley View on Serverless Computing
新的BaaS存储服务会被发明,以扩展在Serverless计算上能够运行更加适配的应用程序类型。这样的存储能够与本地块存储的性能相匹配,而且具有临时和持久可供选择。
比现有的x86微处理器更多的异构计算机。
更加安全、易用的编程,不仅具有高级语言的抽象能力,还有很好的细粒度的隔离性。