本文分享自天翼云开发者社区@《serverless与容器优缺点》,作者: 我是小朋友
容器优势 1、可移植性:使用容器,开发人员可以确保他们的应用程序可以在任何云平台或本地服务器上运行。 2、轻量化:容器镜像以层叠加,在本地拥有镜像层缓存;计算资源使用方面,容器也比虚拟机更高效。 3、快速启动:容器启动在镜像只读层上叠加一层读写层,启动快速。
缺点: 1、有状态的程序扩展伸缩复杂 2、容器集群编排的网络、存储性能有一定损耗
无服务器计算 serverless:整个应用程序或应用程序的一部分被解耦为多个函数,每个函数都响应诸如HTTP请求、新消息到达消息队列、或在存储中保存或修改新对象等时间触发的。 平台可以在特定的时间或周期运行这些函数,这对cron jobs(定时任务)很有帮助。
优点: 1、开发逻辑简单:开发人员只需编写功能代码,并将其及其依赖项打包到zip文件中发送到服务器端点,由提供商负责供应和扩展。 2、按需付费:仅按函数的实际执行时间付费。 3、无状态性,自动伸缩。
缺点: 使用无服务器方法不容易实现可观察性、监视和调试。由于应用程序可以被分散到多个部分,而每个部分都有自己的 bug 和错误,所以控制和查看全局变得非常重要。 目前还没有一个统一的平台架构和事件网关标准。(类似之前容器编排kubernetes和mesos之争,现在还有很多serverless框架百花齐放)
容器和无服务器共同之处 1、使开发人员专注代码而不是基础设施。 2、都适合微服务架构和基于组件的体系结构,部署和扩展比传统单体应用更快。
容器的用例 容器适合于长时间运行的应用程序,以及具有特定系统需求的应用程序。 不适用于强烈注重于性能(cpu、内存、网络IO,存储IO)的重负载应用(例如,大数据存储组件)
无服务器的用例 serverless的事件驱动特性使得它对于不总是需要运行的应用程序(或其部分)非常有用。 serverless大部分与微服务类似,都是讲整体拆分一个个组件,不过微服务架构的服务一直处于运行中,即使它不被调用。
———————————————— 版权声明:本文为CSDN博主「wenwenxiong」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/wenwenxiong/article/details/106048165