说起 Serverless 这个词啊,我估计你应该不陌生,就算你没详细了解过,但我确定你肯定在过去几年时间里听别人说过
作为一名 Serverless 的拥趸者,过去几年时间里,我总是喜欢向朋友和同事推荐 Serverless 技术。不过,在“推销”的过程中,他们经常会问我一些问题,那在今天的开篇词里,我就来统一回答下这些共性的问题吧,我估计你也会问到
Serverless 要解决什么问题?
搭建自己私有博客的朋友应该知道!咱们自己部署一套博客,常见的 Node.js MVC 架构,需要购买云服务商的 Linux 虚拟机、RDS 关系型数据库,做得好的话还要购买 Redis 缓存、负载均衡、CDN 等等,再专业一点,可能还会考虑容灾和备份,这么算下来一年最小开销都在 1 万元左右。但如果你用 Serverless 的话,这个成本可以直接降到 1000 元以下。
Serverless 是对运维体系的极端抽象,就像 iPhone 当年颠覆诺基亚一样,它给应用开发和部署提供了一个极简模型。这种高度抽象的模型,可以让一个零运维经验的人,几分钟就部署一个 Web 应用上线,并对外提供服务。也就是说,你根本不需要再学习怎么在 Linux 上装 Web 服务器,怎么配置负载均衡等等这些繁琐的偏运维方向的工作。
所以,你要问我 Serverless 解决了什么问题,一句话总结就是它可以帮你省钱、省力气。
为什么阿里巴巴、腾讯这样的公司都在关注 Serverless?
首先,Serverless 可以有效降低企业中中长尾应用的运营成本。中长尾应用就是那些每天大部分时间都没有流量或者有很少流量的应用,你可以想想你们公司是不是也有很多。这一点我特别有感触,尤其是企业在落地微服务架构后,一些边缘的微服务被调用的概率其实很低。而这个时候,我们往往又很难通过人工来控制中长尾应用,因为这里面不少应用还是被强依赖的,不可以直接下线处理。Serverless 之前,这些中长尾应用至少要独占 1 台虚拟机;现在有了 Serverless 的极速冷启动特性,企业就可以节省这部分开销。
其次,Serverless 可以提高研发效能。我们专栏会讲到 Serverless 应用架构的设计,其中,SFF(Serverless For Frontend)可以让前端同学自行负责数据接口的编排,微服务 BaaS 化则让我们的后端同学更加关注领域设计。可以说,这是一个颠覆性的变化,它能够进一步放大前端工程师的价值。
最后我想说 Serverless 作为一门新兴技术,未来的想象空间很大。我看到有创业公司用 FaaS 来做基础设施编排和云服务编排;也有外包公司利用 Serverless 应用架构的快速迭代能力,提升开发效率,降低出错率,还可以给自己沉淀领域的解决方案;还有包括风险投资方也在逐渐开始关注 Serverless 领域,毕竟这也是一个新的风口。我讲大企业的使用方式只是希望给你一些灵感,不想过多限制你的想象,Serverless 的疆域边界还在等你去扩展。
为什么我们要学习Serverless?
相对其他工种而言,Serverless 给前端工程师带来的机遇更大,它能让前端工程师也享受到云服务的红利。如果说 Node.js 语言的出现解放了一波前端工程师的生产力,那 Node.js+Serverless 又可以进一步激发前端工程师的创造力。
另外,我觉得学习 Serverless 是成为云开发者的最适合的切入点。无论你是零基础,还是资深服务端运维,都可以从 Serverless 上学习到现代服务端运维体系的重要思想。
网友评论