软件|阿里云徐立:面向容器和 Serverless Computing 的存储创新( 四 )


拥抱开源 , 释放云原生技术红利
现在 , DADI 正在通过贡献社区的方式更好地释放云原生技术红利 , 也希望与更多企业和开发者共建容器镜像标准 。
目前 DADI 已经开放了支持 Contained(docker 尚不支持 remote image) , 支持节点直连 Registry + 本地缓存技术 , 支持构建、转换镜像 。
未来还会开放 P2P 按需传输:将 P2P 子系统重新设计为 Registry 的延伸 , 将支持共享存储 , 如 nfs、hdfs、ceph、glusterfs 等 , 全局 Registry +机房共享存储 + 节点本地缓存 + P2P 数据传输 , 构建机房内缓存 。
大家可通过查看以下 Github 的链接了解更多信息:
控制平面 (for containerd): https://github.com/alibaba/accelerated-container-image
数据平面(overlaybd): https://github.com/alibaba/overlaybd
容器持久存储的技术演进 存储接入技术面临的挑战

上面我们谈到了 Serverless 应用架构的新范式 , 现在我们看到一个趋势 , 从虚拟机到普通容器 , 再逐渐演变为神龙裸金属部署安全容器 。 从存储的布局角度来看 , 其面临的显而易见的挑战是更加高密和多租户 。
容器接入技术趋势:计算层基于 ECS + 普通容器的架构向基于神龙 + 安全容器架构演进 , 单节点密度达到 2000 , 单实例规格最小粒度内存 128MB , 1/12 CPU 。 容器接入技术的趋势 , 带来了 I/O 资源放大的挑战 。
阿里云存储在端接入上有自己的思考 , 存储分为内置存储(镜像和临时存储)和外置存储(文件系统/共享文件系统、大数据文件系统、数据库文件系统等) 。
存储系统如何和底层更好的连接?存储接入容器的方式是通过 virtio 的能力卸载到神龙Moc 卡上 , 神龙 Moc 卡 + virtio 的通路和底层存储服务更好的联动 。
持久存储 - 面向现代化应用的弹性供给云盘 ESSD
ESSD 云盘为用户提供高可用、高可靠、高性能的块级随机访问服务 , 并提供原生快照数据保护和跨域容灾等丰富的企业特性 。
面向现代化应用的弹性供给云盘 ESSD 具备两个关键特性:
云盘挂载密度提升 4 倍 , 单实例最大支持 64 块云盘 性能与容量完全解耦 , 用户需求不需要预先设定 , 按需而定 。举例来说 , 为了应对很多用户面临的问题:无法准确预估业务峰值 , 在性能配置上难以做好精准规划 。 如果性能配置预留过高 , 会造成日常资源的大量闲置浪费;而如果性能预留不足 , 业务突发洪峰会造成业务受损 。 我们推出了 ESSD Auto PL 云盘 , 它支持性能指定配置的同时 , 支持按业务负载自动伸缩 , 单盘可以自动提升到最高 100 万 IOPS 性能 , 为不可预期的突发访问提供安全便捷的性能自动配置 。
持久存储 - 容器网络文件系统 CNFS 针对容器中使用文件存储的优势和挑战 , 阿里云存储团队与容器服务团队共同推出了容器网络文件系统 CNFS , 内置在阿里云托管的 Kubernetes 服务 ACK 中 。 CNFS 通过将阿里云的文件存储抽象为一个 K8s 对象(CRD)进行独立管理 , 包括创建、删除、描述、挂载 , 监控及扩容等运维操作 , 使用户可以在享受容器使用文件存储带来的便捷的同时 , 提高文件存储的性能和数据安全 , 并提供容器一致的声明式管理 。

CNFS 在可访问性、弹性扩容、性能优化、可观测性、数据保护、声明式等六个方面针对容器存储进行了深度优化 , 使其与开源方案相比具有以下明显优势:
在存储类型方面 , CNFS 支持文件存储 , 目前支持阿里云文件存储 NAS 支持 Kubernetes 兼容的声明式生命周期管理 , 可以一站式管理容器和存储 支持 PV 的在线扩容、自动扩容 , 针对容器弹性伸缩特性优化 支持更好的和 Kubernetes 结合的数据保护 , 包括 PV 快照、回收站、删除保护、数据加密、数据灾备等 支持应用级别的应用一致性快照 , 自动分析应用配置和存储依赖 , 一键备份、一键还原 支持 PV 级别监控 支持更好的访问控制 , 提高共享文件系统的权限安全 , 包括目录级 Quota、ACL 提供性能优化 , 针对文件存储的小文件读写 , 提供更优化的性能 成本优化 , 提供低频介质及转换策略 , 降低存储成本 最佳实践 数据库容器化使用 ESSD 云盘高密挂载的最佳实践