Anyscale推出多租户服务应用,采用容器化运行环境

realtime news  Jun 14, 2024 14:05  UTC 06:05

1 Min Read

在最近的更新中,领先的AI应用平台Anyscale宣布引入利用容器化运行环境的多租户服务应用。根据Anyscale的说法,这一发展旨在提升资源管理和操作效率。

多应用支持的进展

在Anyscale的技术项目经理Sam Chan和Cindy Zhang之间的启示性对话中,两人讨论了具有不同依赖项的多应用服务集群的进展和挑战。多应用支持允许不同的应用在同一个集群上运行,每个应用使用相同的运行环境作为容器。这种方法有助于更有效地管理资源并减少操作复杂性,从而实现对不同应用的独立升级。

Zhang提到了之前的限制,用户必须将所有模型依赖项捆绑到一个大的Docker映像中,导致映像臃肿和依赖项混杂。这对于有多个研究团队分别处理不同模型的客户来说尤其具有挑战性。这一新功能允许每个团队在各自的容器中部署代码,提供更清晰的隔离和更容易的维护。

运行环境作为容器的作用

新功能“运行环境作为容器”允许为每个应用指定不同的Docker映像。当Ray需要为某个应用启动副本时,它将从该应用的映像启动一个容器并在其中运行工作进程。这确保了应用之间的清晰隔离并提高了资源共享的效率。

Zhang解释说,这一功能解锁了Ray的多租户能力,允许多个应用更高效地共享同一个集群上的资源。例如,可以将八个应用压缩到一台配备八个GPU的大型虚拟机上,每个Ray Serve应用配置使用一个GPU。这种对GPU容量的细粒度利用最小化了未使用资源,并通过维护单个Ray集群简化了操作管理。

技术实现与挑战

在后台,Ray与Podman集成以拉取映像并启动容器。当需要启动新的Ray Worker时,Ray会调用Podman来协调拉取相关映像并启动容器。然后Ray会协调在该容器内部运行Ray Worker代码。

然而,这一功能仍处于实验阶段。Zhang警告说,第一次拉取映像时可能会有启动延迟,而且这一功能尚未在大规模上测试。此外,其他运行环境字段(如Python环境或工作目录)当前不支持容器化运行环境。

未来计划

展望未来,Anyscale计划优化将容器与其他运行环境字段相结合的用户体验,例如每个应用的特定环境变量。他们正在积极收集用户反馈,以确定应包含哪些字段,并计划进行更多的可扩展性测试。

对于有兴趣探索这一新功能的人,Anyscale提供了一份详细指南,介绍如何开始使用多个Ray Serve应用程序和容器化运行环境。



Read More