Serverless真的是云计算未来发展方向吗?

本文已参与好文召集令活动,点击查看:后端、大前端双赛道投稿,2万元奖池等你挑战!

前言

前几天一个非常偶然的机会,通过线上直播听了GMTC峰会上几个互联网头部大厂的大神对Serverless落地实践的分享,不说收获颇丰,起码摆脱了先前对Servlerless只有肤浅的概念层次的认知。后续又对腾讯云的SCF做了个大致了解,突然有了一个很特立独行的想法,Serverless真的如大神所说的是云计算未来发展的方向吗?本人目前接触Servless不是太深,可能见解有些片面甚至主观,以下纯属个人观点:对症则为良方,反之或为毒药

到底什么是Serverless?

从字面也可以做个大概了解,Serverless=Server+Less也就是无服务器。这里的无服务器不是真的没有服务器,只是不需要有自己运维的服务器。为了便于理解,这里的简要说下服务器的一个发展历程,从最开始物理机部署,到vm虚拟机,Docker容器,到云计算,再到当下的Serverless

2.png
云原生的概念裹挟着k8s汹涌而来,当下云主机,云服务,Xaas概念也相当火爆。从云计算的三大结构层IAAS,PAAS,SAAS看,其本质实际上是硬件,基本组件和中间件的不断下沉融合的云化过程,似乎就差最后一个业务层的云化了,所以Serverless横空出世,并且带了主角光环。那什么是Serverless呢?更被业内广泛接受的解释是Faas和Baas的组合。Faas云函数,提供逻辑处理,而 Baas云后台,提供数据&文件的存储,消息推送等中间件服务,结合后俨然一个云微服务。Serverless以其粒度更细,更廉价更便捷,按需提供服务备受各大云计算厂商推崇!

Serverless到底能给我们带来什么?

1.开发者不再需要关心底层的服务器资源和运维

2.快速搭建服务上线,按需使用资源,降低服务器成本

3.提升前后端协作的效率

我们是否真的需要或什么时候需要Serverless?

降本提效的主旨,水到渠成的发展过程,似乎预示着Serverless将大行其道。的确对于个人开发者或者规模较小的初创公司,初期缺乏强大的资金实力的支撑加上新业务模式的市场预期的不明朗,贸然投入大量服务器资源和运维成本,很可能成为压倒骆驼的最后一根稻草,导致产品倒在了黎明前的黑暗里。而Serverless的支撑快速搭建应用,并且有多少流量付多少钱,不再需要公司投入高昂的服务器成本,帮助技术配合业务快速迭代试错,加快抢占市场的先机,终于迎来了黎明的曙光,产品也进入快速成长期。随之而来的产品的各种业态,操作模式层出不穷,业务复杂度的几何级上升。而Serverless的函数云化特性,起码目前来看对后端工程化特别是整体架构设计不够友好,很容易形成烟囱式的代码结构,稍有不慎就会给后续优化和迭代挖坑。

另外就是目前来看Serverless本身存在一个比较致命的问题,那就是没有形成统一的业内标准。各大厂商都发力提供更快速的加载,覆盖更多的语言,提供更便捷的SDK等等用以快速抢占用户,扩大市场份额。在商言商无可厚非,但某些方面看这增加了兼容的壁垒,更难形成统一的标准。一旦使用了A厂商的Serverless服务,因为标准不统一就不能无损使用B厂商的服务了,而且Serverless云函数内部出于安全考虑不允许相关外网络操作。而达到一定规模的公司,各种云的混部非常常见,无论从经济上还是从安全上考虑也不会把自己强捆绑到一艘船上,一损俱损是不能接受的。

写在最后

以上纯属个人的一些看法,Serverless作为新兴的理念,随之云计算的普及和发展,必定未来可期!