为什么 FaaS 系统的复杂性不会随着规模的增长而指数增长?
爆爆奢的后端完全基于 FaaS 架构,支撑了整个企业从前端到后端的业务。
接下来分几篇文章,跟大家聊聊爆爆奢从 FaaS 架构获得的收益,抛砖引玉以供探讨。
今天先说 FaaS 在系统复杂性方面的收益:为什么 FaaS 系统的复杂性不会随着规模的增长而指数增长?
大部分企业随着规模增长,需要经历从单体应用到微服务的重构历程。
通过拆分复杂的业务的模块,把一个大型复杂的系统,变成一个个相对简单易维护的小系统。但随着规模的进一步增长,这些初期的小系统,也会逐渐变成庞然大物,然后面临再一次的拆分。
而 FaaS 是以函数为单位的系统,每个函数只处理一个单一的业务流程,如果业务流程变复杂了,可以原子化的将一个函数扩展成多个函数,每个函数依然只处理一个单一的业务流程。
随着规模的增长,会沉淀下大量的云函数,但因为云函数部署时会锁定当时的依赖项等信息,因此这些云函数几乎可以永久正常工作而无需运维。
也就是说,FaaS 开发人员只需专注于增量部分的开发,无需关注存量的维护。
进一步假设,当增长量是线性稳定的时,那开发的工作量也是稳定的。
于是同样的开发投入,在 FaaS 架构下可以有持续稳定的产出,而在微服务架构下,产出会随着时间的增长而逐渐下降。
反过来说,为了得到持续稳定的产出,FaaS 架构只需要持续稳定的投入即可,而微服务则需要不断增加投入。
更何况随着开发投入的增加,技术管理、人员管理的成本和难度,都会指数级的增加。
曾经的企业不得不承担这块额外的风险,而在云时代,FaaS 成为了切实可行的基础架构,你跟不跟?
版权声明: 本文为 InfoQ 作者【朱峰 Ben】的原创文章。
原文链接:【http://xie.infoq.cn/article/8a1f84b4bd07e99ac9c0c0947】。
本文遵守【CC BY-ND】协议,转载请保留原文出处及本版权声明。
评论