- 深入浅出Serverless:技术原理与应用实践
- 陈耿
- 848字
- 2023-07-20 18:08:34
1.7 Serverless的局限
前文我们探讨了Serverless的理念及特点,介绍了许多Serverless的优点和价值。和其他很多的技术一样,世界上没有能解决所有问题的万能解决方案和架构理念。Serverless有它的特点和优势,但是同时也有它的局限。有的局限是由其架构特点决定的,有的是目前技术的成熟度决定的,毕竟Serverless还是一个起步时间不长的新兴技术领域,在许多方面还需要逐步完善。
1.控制力
Serverless的一个突出优点是用户无须关注底层的计算资源,但是这个优点的反面是用户对底层的计算资源没有控制力。对于一些希望掌控底层计算资源的应用场景,Serverless架构并不是最合适的选择。
2.可移植性
Serverless应用的实现在很大程度上依赖于Serverless平台及该平台上的FaaS和BaaS服务。不同IT厂商的Serverless平台和解决方案的具体实现并不相同。而且,目前Server-less领域尚没有形成有关的行业标准,这意味着用户将一个平台上的Serverless应用移植到另一个平台时所需要付出的成本会比较高。较低的可移植性将造成厂商锁定(Vendor Lock-in)。这对希望发展Serverless技术,但是又不希望过度依赖特定供应商的企业而言是一个挑战。
3.安全性
在Serverless架构下,用户不能直接控制应用实际所运行的主机。不同用户的应用,或者同一用户的不同应用在运行时可能共用底层的主机资源。对于一些安全性要求较高的应用,这将带来潜在的安全风险。
4.性能
当一个Serverless应用长时间空闲时将会被从主机上卸载。当请求再次到达时,平台需要重新加载应用。应用的首次加载及重新加载的过程将产生一定的延时。对于一些对延时敏感的应用,需要通过预先加载或延长空闲超时时间等手段进行处理。
5.执行时长
Serverless的一个重要特点是应用按需加载执行,而不是长时间持续部署在主机上。目前,大部分Serverless平台对FaaS函数的执行时长存在限制。因此Serverless应用更适合一些执行时长较短的作业。
6.技术成熟度
虽然Serverless技术的发展很快,但是毕竟它还是一门起步时间不长的新兴技术。因此,目前Serverless相关平台、工具和框架还处在一个不断变化和演进的阶段,开发和调试的用户体验还需要进一步提升。Serverless相关的文档和资料相对比较少,深入了解Serverless架构的架构师、开发人员和运维人员也相对较少,但是也许这在某种程度上而言是一个机会。