初探Serverless
初探 Serverless
一、 什么是Serverless
要解答什么是 Serverless 这一疑问题,归根结底,首先需要了解 Serverless 所产生的背景以及其具体以什么方式解决了什么样的问题。
1.1 Serverless的背景以及历史
在2020年的今天, Serverless 已经是一个在各大技术论坛或者演讲上,出现频率非常高的技术名词了,在前端也不例外,几乎每个大的前端技术演讲会议,都会或多或少的提到它,并扯扯它和前端的一些交集或者结合的落地场景。
但溯本回源,Serverless 的产生,归根结底是要解决什么问题呢?要回答这个问题,我们不得不去回顾云计算的发展历程。在云计算刚刚兴起的时候,市场上主流的两种云服务方案分别是亚马逊推出的 EC2 和谷歌推出的 App Engine (GAE)。这两种方案分别代表了两种思路:
- EC2 选择了提供底层基础,它的实例使用起来和一台物理服务器十分类似,没有任何的额外功能,你可以在上面运行任何类型、任何语言的服务;
- GAE 则选择了提供高层抽象,包括令人印象深刻的自动缩扩容等能力,但同时对用户能够运行的代码做出了限制 —— 要想获得这些特性,就必须使用google提供的储存和计算服务,遵循相应的规范。
<br />最终市场选择了AWS的 EC2,这主要是因为开发者们更倾向于使用和自己本地开发环境相同的环境来运行服务,这样做,开发好的代码基本不需要什么改动就可以轻易部署到云实例上去。但这种模式虽然极大的给予了开发者自由度,但也意味着几乎所有的运维操作都交由开发者自己去解决,因此大部分的云服务的使用者在使用云服务的同时,不得不承担复杂的运维成本以及较低的硬件使用率。Serverless的产生就是为了解决这些问题而产生的。<br />
image
而正式由于存在以上一些原因,导致复杂的企业级的业务系统无法基于现在这么简单的Faas来实现,只有一些业务场景较为简单的应用才是它现在的落地场景,而一个架构思想想要成为主流,得到快速的发展,必须要应用在企业主要流程的业务系统之中,只有这样,才能体现它在企业中所带来的巨大价值与收益。因此如何结合Serverless 的思想,落地于企业的核心业务场景中去,展现其真正价值,为企业带来降本增效的收益,并沉淀出强大的 Serverless 开发框架以及最佳实践,才能将 Serverless 推向云时代的主流架构这一宝座。
3.3 Serverless 的发展展望
这里直接引用伯克利对与 Serverless 计算在未来十年的发展展望以及趋势的预测:<br />
image.png
<br />其中对我个人印象最为深刻的是最后一条:
Serverless computing will become the default computing paradigm of the Cloud Era, largely replacing serverful computing and thereby bringing closure to the Client-Server Era.
简单来说,他们认为 Serverless Computing 将会成为云时代的默认范例大面积的替换传统的云计算,并革命掉客户端-服务器端的时代。我对这个展望个人是比较认同的,因为从宏观角度来看,技术的发展必定是一个不断降低门槛的过程,抽象底层逻辑,提升开发效率的过程。而 Serverless 架构的核心思想,按照 AWS 的 CTO 的说法, Serverless 作为一个架构模式,要做的到的是:
"Everyone wants just to focus on business logic."
而这也真符合商业发展对降本增效的诉求,因此从这个角度出发,Serverless架构的落地以及推广,未来可期。<br />
<br />参考链接