- Nuclio实战及源码分析:基于Kubernetes的Serverless FaaS平台
- 李彬 詹煜卓 任胜寒 张晨编著
- 681字
- 2025-02-25 15:23:45
1.1.3 Serverless的优缺点
1.Serverless的优点
1)降低服务器成本:Serverless改变了原来固定服务器成本的计费方式,它采取按需收费模式,只有在真正使用服务器时才进行收费。没有服务器硬件,不需要监控,维护和人工成本相对较低,这些方面都由平台方进行保证,简化了操作。
2)提高生产力:Serverless没有维护硬件及监控等要求,因此开发人员可以把精力聚焦在编码上,从而开发出更好的应用程序;而且开发人员有更多的时间从事其他项目,以锻炼提升自己的技能,从而能更好地服务于工作。
3)具有灵活的可扩展性:Serverless平台具有资源“无限”属性,资源会随着业务流量扩大或缩减而进行相应的扩缩容。
2.Serverless的缺点
1)冷启动:在Serverless中,函数不会一直持续运行,在设置规定的事件内没有请求或资源消耗时,函数关闭。所以当请求再次或首次到达时,需要启动休眠的函数代码再进行处理,这可能会导致延时。尤其对于时延敏感的业务,这会成为一个致命缺点。再有就是第三方供应商会限制资源,这意味着Serverless不太适合高性能计算的操作。
2)安全问题:计费安全问题。开发人员为使用方便,经常将一些函数的API(应用程序接口)公开,这样会导致一些API非正常调用从而获取用户数据。一些黑客会利用DDoS攻击恶意调用函数,引发巨大经济损失。如果开发人员引入的第三方依赖库存在安全漏洞,黑客有可能会利用漏洞攻击系统。
3)配套工具不成熟:用于测试、调试和部署的可用工具不成熟,这是进入无服务器领域的一大障碍。工具短缺是Serverless的一个核心问题,尤其是测试工具和开发人员用于本地调试的IDE(集成开发环境)工具短缺。
对于上面的这些问题,业界在积极探索相关的解决方案,如对于冷启动问题可以采取温启动或者WebAssembly,甚至常驻函数的方式解决。