【CDS技术揭秘系列 总篇】阿里云的云定义存储来了
简介: 全新发布的云定义存储 CDS 和传统的存储阵列、分布式存储、软件定义存储的区别在哪里?阿里云存储团队如何看待将来存储的发展趋势?本文邀请了 CDS 研发团队的核心技术负责人为大家揭开围绕着阿里云 CDS 的种种谜团。
云定义存储(CDS: Cloud Defined Storage)正式发布
在 2021 年中秋与国庆之际,阿里云存储团队发布了全新的云定义存储 CDS。
这次发布的 CDS 1.0 版本,基于阿里云飞天操作系统和分布式存储底座盘古,是业界首次同时支持对象存储服务 OSS、块存储服务 EBS、日志服务 SLS和灾备服务 HBR,特别是通过盘古全新的QoS框架支持对象存储服务 OSS 和块存储服务 EBS 服务融合部署在同一套物理服务器上面。这次发布的存储服务与公共云上规模化的存储服务做到了代码版本基本一致,弥合了以往混合云版本和公共云版本差距比较大的问题,让客户能够享受到和公共云基本一致的功能。
阿里云存储团队为什么要发布 CDS? CDS 和现在传统的存储阵列、分布式存储、软件定义存储的区别在哪里?阿里云存储团队如何看将来存储的发展趋势?在这里,我们 CDS 研发团队的核心技术负责人们会通过一系列的技术文章为大家揭开围绕着阿里云 CDS 的种种谜团。
为什么要开发云定义存储?
业务的需求
从阿里云存储在 2016 年底成立混合云存储 HCS(Hybrid Cloud Storage)部门以来,内外部业务对规模配置灵活和功能有竞争力的分布式存储产品的需求一直都不少。当时综合考虑产品研发的投入,阿里云在混合云市场尚且缺乏经验,以及国内市场参与厂商比较多和竞争激烈等多方面因素,我们制定的策略是以专有云集成的分布式存储、阵列、灾备一体机等结合起步,先进入传统存储市场的不同细分领域试水,为阿里云了解和摸索这个市场,储备经验和弹药。
自 2018 年开始,随着 IT 基础设施云化的节奏加快,基于云的基础架构或者数据中心已经成为政企客户的首选方案,给新的存储厂商特别是软件定义存储厂商带来了巨大的市场机会,同时随着阿里云在混合云市场的发展,对阿里云存储在混合云场景输出的要求越来越高涨,于是存储团队在 2019 年开始正式启动相关产品的规划、设计和开发。
艰难的决策
在把目标聚焦在分布式存储和 SDS 的方向以后,通过分析和研究,我们发现国内 SDS 产品的的同质化很严重,我们如果脱离公共云技术栈另起炉灶搞一个类似的产品难以构建持久的核心竞争力,同时从技术和工程角度讲,公共云和专有云两套产品架构并行开发,会造成巨大资源浪费,很多相似特性都需要在不同产品上重新做一遍,而且由于架构约束还不能保证都能支持。最后我们决策启动混合云分布式存储 SDS 的自研,技术上坚持公共云和混合云 CDS 共享同一套技术和代码,保持公共云存储服务的弹性、扩展能力和服务托管的差异化竞争力,同时积极补齐企业存储的高级特性。因此混合云 CDS 的架构、功能和用户体验都是和公共云保持一致的, 这也是我们这里所说的云定义存储的“云定义”的由来。
接下来,我们依次介绍一下软件定义存储的特点、云定义存储和软件定义存储的区别。
软件定义存储
软件定义存储的起源
软件定义存储(SDS:Software Defined Storage)的说法最早见于 2012 年 VMware 和 EMC 推动软件定义数据中心(SDDC:Software Defined Data Center)的一系列市场战役,后续一众数据中心/服务器/存储厂商也跟进了这个定义,大家的策略是为了应对越来越明显的企业上云的诉求,以及 AWS/Azure 云计算厂商带来的压力和竞争,于是面向云计算重新定义了企业数据中心和存储的路径和方向。当年 SDS 最热的一段历史过程如下图所示:
软件定义存储的关键特征
软件定义存储有很多特征,业界比较公认的有三大特征:抽象(abstract),池化(pool)和自动化(automate)。这些特征背后的驱动力是企业上云和企业 ICT 基础设施云化。
- 抽象,软硬解耦,管控解耦:云计算厂商和云化的数据中心大量使用了标准化/商业化的服务器来替代EMC/NetApp/IBM 等的专有硬件存储设备,大规模采购、存储/服务器分别招标等促使存储软件和硬件解耦。数据面和管控面解耦,也帮助客户通过统一的管控面来管理不同厂商的不同硬件(数据面)。
- 池化和横向扩展:为了提高资源利用效率,使用存储虚拟化技术池化各种存储和数据烟囱。
- 自动化:通过开发 API,让软件来控制存储资源和服务的增删改查,比人机界面的效率更高,业务弹性伸缩能力更强。
软件定义存储与传统存储阵列/软件的区别
SDS 和传统存储阵列在硬件耦合、节点/控制器扩展方式和规模、交互和管理接口各个层面都有区别:
值得一提的区别是,SDS 的“软件定义”在国外特别强调的是 SDS 是 API/SDK 丰富,可以软件编程驱动,而传统存储更多的人机交互接口,管理员驱动为主。
云定义存储是什么
云定义存储 CDS 是一个全新的软件定义存储,既能够在定制的 CDS 存储服务器上软硬一体优化输出,也有支持 X86 到各个信创平台的软件输出模式。其中最核心的关键词是“云定义”,总结下来有六大能力:
- 云原生(Cloud Native)
CDS 不是重新开发的产品,它是把阿里云公共云的各种存储服务,按照产品规划和市场需求逐步导入发布到统一的 CDS 存储平台,在内部 CDS 里的存储服务例如 OSS 的代码和特性和公共云完全一致;对外部,CDS 集成的各种云存储服务从控制台(GUI)、命令行(CLI)到 Open API/SDK 都和公共云一致,降低了原有阿里云客户和合作伙伴使用和集成的难度。
与此同时,CDS 还天然支持公共云的分层架构:云-区域(Region)-可用区(AZ)-集群(Cluster)。
- 云规模(Cloud Scale)
相对绝大部分分布式存储或者 SDS 厂商,阿里云 CDS 的最大优势就是 CDS 这些代码都是经历了阿里云公共云百万级客户和阿里巴巴集团各种业务(例如双十一)的打磨和验证的,支撑了超大规模和复杂业务的压力。以CDS 的 OSS 存储服务为例,单个桶在生产环境能够支持万亿对象,达到 EB 级容量。
- 云服务(Cloud Service)
CDS 在同一存储平台上同时提供多种云存储服务(一般最常见的有块存储和对象存储服务),支持多租户。前台可以像公共云那样客户自助服务(Self Service),后台可以客户自主运维也可以托管运维(本地驻场或者远程),各种基本存储服务通过 CDS 云管套件统一管控和运维、通过盘古统一数据底座,同时可以选择开通高级存储服务例如日志服务、灾备服务、数据管理和分析服务等。
与此同时,为了加速企业上云,阿里云存储在公共云和 CDS 上同步发布企业存储的功能,例如基于 EBS 的企业级块存储 ESSD ,基于 HBR 的容灾备份功能。
- 云连通(to Cloud)
存储数据在 CDS 和 CDS 以外的云之间通过网络受控的安全的流动。
- 云部署(on Cloud)
CDS 直接部署在云环境里作为云存储服务对外提供服务,这里的云环境可以是公共云、本地云、边缘云和专有云等各种云架构。
- 混合多云(Hybrid Multi Cloud)
除了外部客户的需求,阿里巴巴集团内部也有很多业务单元在对外输出产品或者服务的时候都有对存储的需求,综合这些需求,他们或者他们的客户都有避免被某个供应商锁定的诉求,混合多云已经成为标配。在这里,混合多云有两种不同解读:一种是阿里云的混合多云,包括阿里云公共云、混合云、本地云、边缘云计算等等;另外一种是阿里云和其他的云计算服务商。
CDS 基于统一的盘古 2.0 分布式存储混合多云实现了混合多云、云连通等多态云部署:
重新定义的特性发布模式
阿里云 CDS 不仅重新定义了混合云的 SDS 的新基线,同时也重新定义了阿里云存储产品和特性研发的工程模式,从 CDS 1.0 开始,已经在 CDS 平台发布的云存储服务单品会被要求公共云和混合云场景准同时发布。与此同时,混合云输出特别是无公网连接的场景,依赖客户或者驻场服务人员的技术能力;阿里云 CDS 产品重点打磨智能运维、RAS、和自动诊断能力,这些能力也同时反哺到公共云存储服务中,提高系统运维效率,增强系统稳定性。
CDS 重新定义的工程模式大大加速了混合云存储版本发布的能效,在本财年 CDS 的下一版本里,云存储网关、新的企业级快存储 ESSD 和文件存储 NAS 等重要产品和特性将快速推出。
展望
阿里云 CDS 是一个云定义的存储平台,当前 CDS 1.0 版本支持了多款阿里云存储产品和数据服务(包括块存储 EBS、对象存储 OSS、日志服务 SLS 和灾备服务 HBR)。在接下来的技术连载里我们会逐步介绍 CDS 里平台和管控服务、盘古、EBS、OSS、SLS 等各个产品和关键模块的特点。
阿里云 CDS1.0 的发布,代表着阿里云存储开始以一个原汁原味的云存储的形态进入混合云存储市场,来满足日益增长的云计算的需求。作为国内公共云的领先者,同时又是混合云市场的挑战者,我们有坚定的信心和决心,和高校的专家、友商同行一起推动中国存储技术的发展。
原创作品:阿里云存储 慈湖
原文链接
本文为阿里云原创内容,未经允许不得转载。
【CDS技术揭秘系列 总篇】阿里云的云定义存储来了的更多相关文章
- Android性能优化系列总篇
目前性能优化专题已完成以下部分: 性能优化总纲——性能问题及性能调优方式 性能优化第四篇——移动网络优化 性能优化第三篇——Java(Android)代码优化 性能优化第二篇——布局优化 性能优化第一 ...
- .NET Core技术研究系列-索引篇
随着.NET Core相关技术研究的深入,现在将这一系列的文章,整理到一个索引页中,方便大家翻阅查找,同时,后续也会不断补充进来. .NET Core技术研究-WebApi迁移ASP.NET Core ...
- [七年技术总结系列][理论篇]-RBAC权限模型由浅入深
权限部分将分两章介绍,第一章由浅入深介绍权限理论知识及应用,第二章介绍具体实现.后期再讲述中间件的使用时,还会插入一些权限内容,本质上属于中间件的应用. 权限模块是业务系统最常见.最基本的子集.本章假 ...
- AI加持的阿里云飞天大数据平台技术揭秘
摘要:2019云栖大会大数据&AI专场,阿里云智能计算平台事业部研究员关涛.资深专家徐晟来为我们分享<AI加持的阿里云飞天大数据平台技术揭秘>.本文主要讲了三大部分,一是原创技术优 ...
- Azure IoT 技术研究系列3-设备到云、云到设备通信
上篇博文中我们将模拟设备注册到Azure IoT Hub中:我们得到了设备的唯一标识. Azure IoT 技术研究系列2-设备注册到Azure IoT Hub 本文中我们继续深入研究,设备到云.云到 ...
- Azure IoT Hub和Event Hub相关的技术系列-索引篇
Azure IoT Hub和Event Hub相关的技术系列,最近已经整理了不少了,统一做一个索引链接,置顶. Azure IoT 技术研究系列1-入门篇 Azure IoT 技术研究系列2-设备注册 ...
- 阿里云PolarDB及其共享存储PolarFS技术实现分析(下)
上篇介绍了PolarDB数据库及其后端共享存储PolarFS系统的基本架构和组成模块,是最基础的部分.本篇重点分析PolarFS的数据IO流程,元数据更新流程,以及PolarDB数据库节点如何适配Po ...
- 探索云网络技术前沿,Sigcomm 2019 阿里云参会分享
Sigcomm 2019简介 一年一度的网络顶级学术峰会Sigcomm于8月20日至22日在北京举行.作为ACM Special Interest Group on Data Communicatio ...
- 恒天云技术分享系列5 – 虚拟化平台性能对比(KVM & VMware)
恒天云技术分享系列:http://www.hengtianyun.com/download-show-id-14.html 概述 本性能测试报告将详细陈述各虚拟化平台基准性能测试的主要结论和详细结果. ...
- 恒天云技术分享系列4 – OpenStack网络攻击与防御
恒天云技术分享系列:http://www.hengtianyun.com/download-show-id-13.html 云主机的网络结构本质上和传统的网络结构一致,区别大概有两点. 1.软网络管理 ...
随机推荐
- 在Ubuntu14.04上安装qt5和qtcreator的 两种方式(源代码和xxxxx.run) 和我的感悟-------超级详细版
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文发布于 2014-07-25 12:21:13 ...
- VR虚拟现实原型制作-应用及解决方案的特点
VR虚拟现实原型制作 利用VR虚拟现实软件进行原型制作可以用于增强原型测试期间的沉浸感,减少产品设计迭代次数,并将与产品原型制作相关的成本降低40-65%. VR虚拟现实原型制作市场规模 用于原型制作 ...
- 在 Windows 上利用Qwen大模型搭建一个 ChatGPT 式的问答小助手
本文首发于公众号:Hunter后端 原文链接:在 Windows 上利用Qwen大模型搭建一个 ChatGPT 式的问答小助手 最近 ChatGPT 式的聊天机器人比较火,可以提供各种问答功能,阿里最 ...
- JS实现打开报表时默认为最后一次查询参数
问题描述 普通报表在打开时希望参数面板中的参数控件的值可以默认是上一次页面关闭前最后一次查询所选择的值. 解决方案 每次在页面关闭时将参数值保存到浏览器缓存中(适用用非FS平台),或每次点击查询后将参 ...
- Visual Studio 2022的安装 - 编程手把手系列文章
工欲善其事,必先利其器. 今天讲的是编程开发工具Visual Studio 2022的安装.作为手把手系列的开始,需要先对进行编程所使用的工具进行了解.此博文从下面几个步骤入手,对VS 2022这个开 ...
- Visual Studio快捷键总览,推荐VS+Resharper实现高效开发
VS2022之后,其实还挺好用的,但个人还是习惯VS+Resharper的强强组合,尤其是Ctrl+N快捷键的全局搜,比VS自带的Ctrl+T好用太多了,Ctrl+B还能直接查看反编译之后的dll的方 ...
- #拉格朗日插值,线性筛#洛谷 5442 【XR-2】约定 (加强版)
题目 一个\(n\)个点的完全图, 第\(i\)个点到第\(j\)个点的边权是\((i+j)^k\), 现在把这个完全图变成一棵树, 求这棵树边权和的期望值 \((n\leq 10^{10000},k ...
- #圆方树,树链剖分#P4334 [COI2007] Policija
题目 分析 先建一棵圆方树,必经点\(z\)就是满足\(z\)在\(x\)和\(y\)之间的路径上, 这个直接用树链剖分做,必经边必须要满足不在环上, 那么这个必经边就可以找到一个方点,就可以转换成必 ...
- Git 删除 .gitignore 生成之前上传的文件
清除缓存 git rm -r --cached . git add . 提交记录 git commit -m "chore: 清除缓存." git push
- 关于pwn题的栈平衡中ret的作用
以nssctf里的where_is_my_shell为例 题目提供了一个system函数,和一个buf数组.数组的栈空间如图所示,这里不讨论怎么解题,只说明payload里的ret的作用. 假设没有r ...