Serverless架构介绍

今天介绍一种新的后台架构,看名字Serverless像是不需要服务器的一种架构,其实不然,Serverless的目标是减少服务器运维成本,让开发者将精力集中在业务逻辑上,而不是成天处理监控服务器容量与扩容等事宜上。

Serverless架构的核心思想就是把功能拆分地足够小,每一个小功能都可以做成一个独立的小服务Function,而一个逻辑业务是由多个小功能拼装起来的。比如说一个上传照片的功能,可以由三个小功能组成,它们分别是账户鉴权、接收图片数据、存储在云端,每个功能都相对独立,只有被使用时才会被激活。

而Serverless大多部署在云服务商处,那么Function只会在被调用时按需收费,不会因为你的部署时长而计费。这种能力也被称为FAAS(Function as a Service)。这样做的好处之一,就是不用再去维护一台单独的服务器了,虽然云服务器的出现,帮我们解决了服务器硬件维护的问题,但是目前大家使用的如EC2等云服务器,也是需要自己去安装系统软件,维护系统安全,以及扩容时服务等部署,使用FAAS之后,每个功能都是部署在云服务器商的环境里,如AWS Lambda,当大量用户访问一个功能时,可以自动的快速部署出N份,同时也可以在访问量回落后回收一部分,这些伸缩性都是无需开发者关心的。

Serverless最适合的场景是什么呢?一是低频使用缺又不可或缺的功能,比如采集日志上报的服务,一般的客户端是一天上报一次日志,这样低频的操作,如果放在FAAS就能降低大量成本。还有就是有突发流量猛增的功能,比如中午吃饭时,大家都喜欢玩手机刷新闻,这时流量猛增,而到了3~4点钟,都在专心处理工作,这时流量回落,普通的架构就是必须有流量最高峰时那么多机器撑着,而使用FAAS就可以从容的伸缩了。

支持Serverless的云服务商除了AWS Lambda 之外,还有Aliyun Function Compute、Azure Function、Google Cloud Functions,相信未来会有更多的云服务加入。

来源:给产品经理讲技术,本文观点不代表自营销立场,网址:https://www.zyxiao.com/p/88147

发表评论

电子邮件地址不会被公开。 必填项已用*标注

侵权联系
分享本页
返回顶部