《云计算与虚拟化技术丛书 深入浅出Serverless:技术原理与应用实践》—2.3.2Serverless与容器
2.3.2 Serverless与容器
容器和Serverless在技术上有相同的地方,如结合容器的特点和Kubernetes这种容器编排平台,用户可以实现对容器应用的自动弹性伸缩。Kubernetes对底层的主机资源进行抽象,在一般场景下,用户也不关注容器应用具体运行在什么主机上。与Serverless类似,容器应用的部署和扩容的效率也很高。不同的地方在于,容器架构中最小的运行单元是容器,而Serverless中则是函数。容器应用一般是预先部署,然后持续在线。而在Serverless架构中,应用是按需加载和执行的。这意味着理论上Serverless的资源使用效率更高。
其实,容器技术可以是Serverless架构实现的一个基础。容器平台的最小运行单元为容器,虽然目前容器内一般运行的是一个完整的应用,但是将容器内运行的对象变成函数显然并无技术困难。Kubernetes上默认没有事件触发的支持,无法做到按需部署容器应用。但是通过Kubernetes叠加上一些FaaS框架运行包含函数逻辑的容器,用户很容易使Kubernetes具备FaaS服务的能力,如图2-6所示。同时,Kubernetes也可以作为基础平台实现各类应用所依赖的服务(如缓存、图像处理、数据库及AI等)的云化。当服务足够丰富时,可形成一个完备的BaaS平台。笔者相信,容器必将是未来私有云构建Serverless能力的一个重要实现基础。
Kubernetes是Google开源的一个容器编排项目,为用户提供一个跨平台的容器部署和管理解决方案。有关Kubernetes的更多详细信息可以参考其主页:https://kubernetes.io。
图2-6 基于Kubernetes的Serverless平台架构
- 点赞
- 收藏
- 关注作者
评论(0)