01 云计算与数字化
迄今为止,云计算已经不是一个新鲜的概念,云厂商的攻城略地,已经将这股春风吹向了互联网的边边角角。而国家看在云计算降低用户创业门槛和增加社会资源利用率的份上,也实打实的给到了政策支持。
云计算到底什么,用专业术语来说,那就是云计算不仅实现了 IT 池化、提升性能、降低成本和简化管理,更重要的是为企业的数字化转型提供了丰富服务和资源协同。
而数字化为什么有这么大的魔力?让企业这几年都在纷纷提倡和转型。
这是因为大家都看到了数据的力量,寄希望于改变传统的生产模式,用数据驱动研发。这其中,数字化转型最关键的就是打通企业内部的信息孤岛,增加组织效率,从而实现用数字化增强和创新业务。
埃森哲出过一份报告,其中调研了中美企业CEO 对于数字化价值认识的侧重点。
不出所料,对于各大企业的 CEO 来说,最为关注还是成本与效率。
而在近几年,既 AWS 的Lambda推出 5 年后,Serverless 终于在国内逐渐有了声音。而在之前,尽管云计算被誉为信息时代的水电煤,但是实际使用场景中却无法做到即开即用(有几分钟的开启时间),计费灵活(最小计费粒度为 1 小时)。而 Serverless 却真正让云计算从原始时代步入了“水电煤”时代。
02 云计算与 Serverless
Serverless 不是凭空诞生的,相反,是经历了云计算技术发展必然技术。这里用一张图展示下:
当然,看完图后,你肯定会疑惑一件事情,Serverless 在哪里呢?
到目前为止,整个云计算行业的发展离不开有几个比较关键的节点:
- 2001年 vmware 的发布的 ESX 和 GSX
- 2006 年 AWS 的发布的 IaaS 产品 EC2 和 S3
- 2009年 HEROKU 推出 Paas 平台
- 2011 年推出开源的 OpenStack(国内云在这之后陆续崛起)
- 2013 年Docker发布
- 2014 年 AWS 又推出了 FaaS 产品 Lambda
- 2017 年 Docker 宣布支持 K8S 容器编排。
而其中,从基础设施服务IaaS、平台服务PaaS,再到如今的函数即服务 FaaS。云计算的发展经历了种种变化,最终,用户侧关注的事情越来越少。
Serverless 是实现基于函数即服务 FaaS 的产品形态。在如今,FaaS 已经不再是一个新鲜和小众的理念,据《Serverless 2020年现状研究报告》表明,用 AWS Web Services 的 Datadog 客户中有近一半已经采用了 AWS 的 Lambda。
这里看两个单词,Serverless和Serverful。讲到对于Serverless的定义,离不开Serverful。
众所周知,一个产品的上线离不开几个角色:前端、后端、运维、测试和产品(嗯,打杂的)。
简单来说,Serverfull 则是研发(前后端)和运维一起负责将服务上线且保证服务稳定。Serverless 则重新定义了服务边界,让研发(前后端)更少关心服务端,专注于业务本身。
从广义来讲,Serverless shi无服务器架构,当然,这里指的无服务器不是无需服务器就可以运行,而是用户无须关注支撑应用服务运行的底层主机。
而从狭义来讲,FaaS 承载代码片段(即函数),可随时随地创建、使用、销毁,无法自带状态。所以必须和 BaaS(后端即服务)搭配使用。两者合在一起,才最终实现了完整行为的 Serverless 服务。
03 Serverless 的优势
Serverless 总共有三大核心优势:
这里借助下阿里云的介绍来描述下 Serverless 优势,毕竟这也是所有Serverless产品的核心优势。
Serverless 因为即开即用,无需用户提前购买,真正意义实现了用户按需使用资源。且对于研发阶段,只需要将自己的代码部署的代码仓库。
当有用户访问时,触发了事件才会启动 Serverless 应用提供服务。打个比方,Serverless 就相当于声控灯,当有人夜晚走动时才会亮,其他时间,全都是关灯状态。自然而言也会更省成本。
而极致弹性又从何而来呢?
还是以用户访问为例,Serverless 凭什么无需常驻后台,即开即用。归根究底,这得益于 Serverless 极快的启动过程。在过去的云服务器时代,尽量也是弹性按需使用,但是这个都是一个限度。就比如云服务器的启动时间一般在 1-5 分钟之间。而在Serverless上,这个启动时间可以降低到 100 毫秒 到 800 毫秒。而于用户而言,或者想想你自己,打开一个网页,1 秒算很快,2 – 3 s 还能接受。
所以,在 Serverless 的极速启动基础上,Serverless 也可以真正意义上实现极致弹性,可以在用户无感知的情况下轻松扩容,无需担心突发流量。
04 Serverless 解决了什么问题
一场交易,会涉及到三个因素:供给侧、交易方式、消费侧。对于云计算厂商而言,无论是 AWS 的 EC2,还是阿里云的 ECS,又或者是腾讯云的 CVM。多达百万计数的服务器疯狂的消耗着大量资源,而云计算的之所以能够廉价,在于其规模效应,当资源池达到一定数量级时边际成本将无限接近于零。
但是现有物理机在云操作系统下虚拟化成一台台云服务器,利用率却无法达到极致,各种碎片的资源被闲置。
而对于企业而言,一个企业会有着各种不同的应用,其中,80%的服务属于长尾应用,即大部分时间都没有流量或者有很少流量的应用。这些中长尾应用不可避免的要常驻后台,至少要独占 1 台虚拟机。
在这里,Serverless 的作用就体现了。
于供给侧即云厂商,Serverless 可以让将闲置碎片化的计算资源进一步虚拟化出计算资源出售。
于消费侧即企业,对于大企业而言,可以减少中长尾应用的运营成本。而对于创业者而言,则可以获得比云服务器更少的 IT 成本。
于交易方式,由云服务器时代的最小计费粒度 1 小时,细化到了最小计费粒度 1s 。
说到底,在企业的竞争博弈中,只有更好的控制成本,才能在博弈中取得优势,而另外一方,Serverless 能够很好的帮助企业减少可见的成本,还能更有效率的让企业快速部署应用上线并提供服务。
当然,在国内,更多的场景还在不断扩展中,各大云厂商的 Serverless 也基本处于公测阶段,未能真正商业规模化,
但是,我相信,在 Serverless 的基础上,云计算最终会实现了最初的愿望,成为信息时代的“水电煤”。
云计算 “拍了拍” Serverless。