镜像加速的技术创新 阿里巴巴容器规模化部署的挑战
阿里巴巴容器规模化部署主要面临的挑战体现在以下几个方面:
1、业务体量大 。集群规模大,高达十万量级;所有应用全部容器化,并且应用镜像大,通常以数十 GB 大小为主 。
2、更快的部署速度 。业务规模持续增长,要求云平台可以快速的部署应用,才能够处理业务增长,尤其双十一大促时紧急扩容,难以事前对各服务准确预估容量 。
3、然而大规模的创建或者更新容器集群依然很慢,主要原因是容器部署镜像的下载和解压很慢,主要的技术挑战如下:
时间开销大:时间开销 ∝ 镜像大小 * 节点数;一千节点就需要存一千份镜像;CPU 时间开销大:gzip解压慢,且只能串行解压;I/O 压力大:下载、解压两轮写盘,包括众多节点同时写盘,对云盘产生“共振”;内存占用扰动:对宿主机 page cache 产生严重扰动;但是有效数据占比少:启动时平均仅需镜像数据的6.4% 。应对以上技术挑战,大规模容器部署的关键需求抽象总结为三点:
1、按需:下载解压速度足够快、数据按需访问和按需传输 。
2、增量分层:数据解耦,通过 OCI-Artifacts 标准 overlayfs 把层次做划分,增量数据,时间资源使用更有效 。
3、Remote Image :采用远程镜像技术,改变镜像格式,同时减少本地资源的消耗 。
Remote Image 技术方案对比 Remote Image 主要有两种技术实现的方式,一种是基于文件系统,第二种是基于块设备 。Remote Image 技术方案对比如下图所示:
基于文件系统的 Remote Image 技术的主要特点是直接提供文件系统接口,是容器 Image 的自然扩展 。复杂度高,稳定性、优化和高级功能的实现难度大 。在通用性上,和操作系统绑定,能力固定,不一定匹配所有应用 。同时攻击面较大 。行业代表主要是 Google CRFS,Microsoft Azure Project Teleport,AWS SparseFS 。
基于块设备实现的 Remote Image 技术的主要特点是可配合常规文件系统一起使用,如 ext4;普通容器、安全容器、虚拟机均可直接使用 。复杂度、稳定性、优化和高级功能更容易实现 。在通用性上,与操作系统和文件系统解绑,应用可自由选择最合适的文件系统,如 NTFS,作为依赖打包进 Image 。并且攻击面较小 。
阿里巴巴选择了 Date Accelerator for Disaggregated Infrastructure (简称为 DADI),同时进行了规模性验证 。
阿里巴巴自研容器镜像加速技术 DADI DADI 是阿里巴巴的独创性的技术方案 。DADI 镜像服务是一种可以做到敏捷又弹性部署应用的分层块级镜像服务 。DADI 彻底摒弃了传统容器启动的瀑布类型(即下载、解包、启动),实现了远程镜像的细粒度按需加载,容器启动前不在需要部署镜像,容器在创建后可以立即启动 。
推荐阅读
- 苹果电脑键盘失灵 解决技巧
- 秦川凉盘怎么做 秦川凉盘简单做法
- 描写天气为多云的谚语
- 养比熊犬的禁忌 盘点养比熊犬的禁忌
- 云闪付怎么绑定银行卡
- 紫檀手串怎么盘好 紫檀盘玩方法
- 吃榴莲要注意什么 盘点吃吃榴莲的注意事项
- 茶有什么好处 盘点喝茶的好处
- 古龙小说风云第一刀到底有几章?
- 王者荣耀盘古如何变身