在开始话题之前,先来了解一下什么是Serverless?Serverless架构不同之处?
什么是Serverless
Serverless 翻译成中文是无服务器,所谓的无服务器并不是说不需要依靠服务器等资源,而是说开发者再也不用过多考虑服务器的问题,可以更专注在产品代码上,同时计算资源也开始作为服务出现,而不是作为服务器的概念出现,Serverless 是一种构建和管理基于微服务架构的完整流程,允许用户在服务部署级别而不是服务器部署级别来管理用户的应用部署。那么再来说说Serverless架构和传统架构区别。
Serverless架构
Serverless架构与传统架构的不同之处在于,它完全由第三方管理,由事件触发,存在于无状态(Stateless),暂存(可能只存在于一次调用的过程中)在计算容器内,Serverless 部署应用无需涉及更多的基础设施建设,就可以基本实现自动构建、部署和启动服务。同时,Serverless 将进一步释放云计算的能力,将安全、可靠、可伸缩等需求交由基础设施实现,使用户仅需关注业务逻辑而无需关注具体部署和运行,极大地提高应用开发效率。
下面再来谈谈今天的话题。
在图像处理的具体实践中,Serverless架构展现了哪些优势
无服务器(即 Serverless)是一种架构理念,其核心思想是将提供服务资源的基础设施抽象成各种服务,以 API 接口的方式供给用户按需调用,真正做到按需伸缩、按使用收费。那么这一点就非常符合图像处理【对计算资源需求频繁波动且往往伴随着大量并行任务的应用场景】,在图像处理场景下,由于图像处理对计算资源的需求并不是恒定不变的,而是频繁波动的。那么这种情况下如果是传统架构需要提起预估好服务器计算能力,同时还要满足波动峰值对计算资源的需求,那么这无疑就额外增加了企业成本,当对计算资源需求较少时,带来的计算资源闲置的浪费,也是显而易见的。那么这时Serverless架构的弹性伸缩就刚好满足这样的需求,当对计算资源需求较高时,Serverless架构可以自动扩容,而当对计算资源需求较低时,Serverless架构可以自动缩容,这既可以应对图像处理场景下对计算资源需求的频繁波动,又可以通过弹性伸缩为企业节约闲置资源造成的成本浪费。同时,Serverless架构本身是按需按量收费,也就是说你使用了才收费,不使用就不会收费,那么这进一步节省了企业成本。再这样的情况下,Serverless架构无疑是图像处理实践的最佳选择。