写点什么

演讲回顾:阿里云存储技术的演进,以及云服务用例最佳实践

  • 2013-06-09
  • 本文字数:2522 字

    阅读完需:约 8 分钟

2013 年 4 月的 QCon 北京会场上,阿里云计算产品总监倪浩带来了主题为《阿里云计算的实践》的分享。在分享中,倪浩介绍了阿里云的服务体系,技术路线的选择,着重介绍了弹性计算和存储技术的演进,并且在最后介绍了使用阿里云服务的一些最佳实践。

InfoQ 编辑从本次分享中获取到一些有意思的信息如下:

云计算对客户最大的价值是什么?

成本不是关键。事实上,使用云计算有时候反而要比较贵,但是盯着省钱不如盯着赚钱。灵活性(可快速变化)和简单性(易于操作)使得云计算能够更好的为客户交付更多的价值,这才是云计算最大的价值。

为什么阿里云(包括其他大型公共云平台)要选择自己从头开发整个底层软件,而没有在现成的 OpenStack、CloudStack、Eucalyptus、Hadoop、MongoDB 等开源软件的基础上构建?

对于阿里云这样规模的业务而言,如果采用各种开源技术拼凑起来的方案,会缺乏主线的控制力,而且拼凑的过程一点都不简单。同时,各种软件几乎不可能共享集群的资源。

阿里云存储在发展过程中遭遇过哪些坑?是如何解决的?

云存储系统的业务特点在于大量的随机 IO,擦写十分频繁。

阿里云的存储系统,到目前经历过三个阶段。

第一个阶段是最原始的:所有的 VM 访问基于 RAID 的共享存储。RAID 本身并不是为了这种大量随机读写的情景设计的,同时因为 RAID 的数据都在本地,一旦宕机是无法迁移的。

第二个阶段采用了异步同步的思路:VM 过来的运行时读写先进入本地存储,同时以扇区为单位,异步向 KVEngine 做同步,KVEngine 挂在(append)阿里的分布式文件存储系统(盘古)上。这样做的好处是可以取巧的利用(不支持随机读写的)飞天盘古的数据冗余,万一本地宕机可以通过 KVEngine 中的数据在另一台机器上恢复;但是,KVEngine 异步同步数据仍然有丢失的可能。

第三个阶段是:支持随机 IO 的分布式存储系统。跟之前的 append-only 不同,这是基于盘古实现的 Random Access File(RAF)。其实现的思路是:

  • Master-slave,Master 负责元数据管理,Slave(Chunk Server)负责读写
  • 基于 Paxos 协议%E7%9A%84%E5%A4%9AMaster%E6%9E%B6%E6%9E%84">http://en.wikipedia.org/wiki/Paxos_(computer_science) 的多 Master 架构
  • 分片(文件切成 chunk 存入 Chunk Server),冗余(每个 chunk 存三个副本)

整个方案最大的挑战在于:如何保持数据一致性。这是所有分布式存储系统面临的最大问题,从理论到实现都非常复杂。

阿里云的服务类型很多,如何选择才能效果最优?

优化云服务用例的根本原则在于:知道每个服务都被设计好做一件事情。

因此,每个服务都有自己的优势,也有自己的陷阱。

比如,阿里云目前提供了不同的存储服务:

  1. 开发存储服务 (OSS)
  2. 开放结构化数据服务 (OTS)
  3. 关系型数据库服务 (RDS)

未来还会提供 Cache/Queue/CDN 等。当然,云服务器(ECS)本身也带有存储。

  • 使用 ECS 的存储当然可以,但如果你的读写很重,把压力转移到 OSS、OTS 或 RDS 上才是正途。
  • OSS 相当于一个带宽不受限、空间不受限、并发不受限的在线存储
  • OTS 适合不需要关系型操作的结构化数据
  • RDS 具备优越的读写性能(FusionIO),但总数据量要小于 1TB

网络方面,负载均衡(SLB)提供 HTTP 和 TCP,分别在不同的层面,需要考虑好自己的业务适合在哪一层做。同时,按月购买的服务器的带宽限制是完全的上行带宽(从服务器流出的带宽),下行带宽(流入服务器的带宽)是千兆规格,相当于没有限制。

InfoQ 编辑就一些读者感兴趣的问题跟倪浩进行了询问,他的回答如下:

InfoQ:阿里云部分基于 XEN,那么在 XEN 被 Citrix 收购后,如果社区活跃度下降,后续更新乏力,那么将来如何解决已经采用 XEN 运行的虚拟服务器这个问题?

倪浩:阿里云目前是基于 XEN,也在对 KVM 进行研究。未来如果 XEN 比 KVM 确实距离太大,一定会有方案能够帮助用户在线迁移。

InfoQ:如果阿里云改造后采用了公网地址沉降的办法,即运行虚拟服务器宿主机直接连接到互联网上的话,针对很多中小企业用户对如何设置防火墙以及应保护哪些端口还不是熟悉的情况以及黑客的扫描性攻击状况,如何应对?

倪浩:阿里云是公网下沉,建设大二层网络;同时提供了云盾来帮助用户抵御公网上的各种攻击,包括端口安全检测、密码破解防御等服务,同时云盾还将提供 Web 防火墙,让用户通过 Web 来配置安全策略包括端口及 IP 限制等。

InfoQ:阿里云如何解决镜像迁出的问题,即用户创建了云服务器后,如果用户长成中大企业有可能希望将云服务器移到企业内部 IT 系统上运行,阿里云的镜像格式可以允许用户随意在企业内部的 Linux 或 Windows 宿主机上运行吗?

倪浩:暂时阿里云的镜像还未能支持用户自己下载,未来会容许用户选择导出的格式(如 VHD 等)。

InfoQ:阿里云存储采用 KVEngine 大概是什么时候?采用 RAF 大概又是在什么时候?对用户来说,在 2013 年感受到的 I/O 相比之前几年,能有多大的提升?

倪浩:RAF 是大概一年半之前(2012 年初)上线的。它的主要优势是数据的高可靠性做的很好,但会损失一定的性能。

InfoQ:对于 RAF 的数据一致性实现,能否简单的介绍一下其理论?有哪些参考资料可以推荐么?

倪浩:RAF 的一致性较为复杂,简单的说,是通过 client 与 chunk server、master 通过协同对 chunk 版本的进行管理,其中,client 是协作者(因为对虚拟机来说只有一个 client 会去操作文件),而 master 是最终的版本持久化、版本决策者。

InfoQ:您在 RAF 的实现思路中提到几个需要注意的问题,如流控、复制风暴等,这是怎样的情况,能简单说明一下么?

倪浩:复制风暴是这样的:假设集群有 1000 台机器,在负载较高的情况下,其中有 1 台机器宕机了(每天都会发生),它上面的数据为了高可靠(虽然只是 N 份拷贝中的一份,但少了这台,拷贝数就变为 N-1,可靠性降低),需要被复制到其他 M 台机器上。而这 M 台机器中可能有些机器已经负载很高了,如果不做流控,那么这些机器页可能会被拖死,这样 1000 台机器的集群可能就有 5 台机器宕机。而这 5 台的机器数据又要被复制到其他机器上。如此恶性循环,可能会把整个集群拖死,这就是复制风暴。

InfoQ:阿里云是否会允许第三方合作伙伴在平台上提供类似云盾、云监控的业务?

倪浩:阿里云未来是容许用户在阿里的平台上提供云盾和云监控的业务,模式是会是和云市场合作。

2013-06-09 00:398597

评论

发布
暂无评论
发现更多内容

Airwallex 基于 Flink 打造实时风控系统

Apache Flink

大数据 flink 实时计算

数据库ChatGPT插件来了,SQL使用体验进一步起飞

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

Lion : 超越 AdamW 的优化算法

Zilliz

模型训练 算法优化

软件测试/测试开发丨app自动化测试之模拟器控制

测试人

软件测试 自动化测试 Android Studio 测试开发 appium

PyTorch 深度学习实战 | Fashion MNIST图片重建实战

TiAmo

深度学习 MNIST

MobPush Android SDK API

MobTech袤博科技

如何用秒验提升用户体验和转换率?

MobTech袤博科技

软件测试/测试开发丨app自动化测试之Capability 使用进阶

测试人

软件测试 自动化测试 测试开发 appium capability

奇怪的翻译

五月的风

翻译软件 ChatGPT

直播预告|一站式MLOps meetup,洞见行业前沿!聆听第四范式、AWS、腾讯、百度的MLOps落地、演进、实践经验

星策开源社区

百度 腾讯 AWS 第四范式 MLOps

IM开发者的零基础通信技术入门(十一):为什么WiFi信号差?一文即懂!

JackJiang

即时通信 即时通讯IM

牛皮!仅凭“阿里爸爸”大厂面试参考笔记,去携程Java三面,已OC

Java面试那些事儿

Java 编程 架构 面试 java面试

人工智能快速发展趋势下,中国该如何应对?

GPU算力

开源项目的演进会遇到哪些“坑”?KubeVela 从发起到晋级 CNCF 孵化的全程回顾

阿里巴巴中间件

阿里云 开源 云原生 KubeVela cncf

智能会计成就价值财务

用友BIP

智能会计 价值财务 业财合一 用友智能财务

玻璃幕墙LED显示屏原理及应用领域指南

Dylan

安装 结构 LED显示屏 屏幕

软件测试/测试开发丨智能遍历测试在回归测试与健壮性测试的应用

测试人

软件测试 自动化测试 测试开发 自动遍历

内网升级“高效安全”利器!统信软件发布私有化更新管理平台

统信软件

安全 操作系统

好用的3D建筑设计软件:Vectorworks 2023激活版

真大的脸盆

Mac Mac 软件 3D建筑设计软件 建筑设计

云原生月报丨值得开发者关注的最新动态

阿里巴巴中间件

阿里云 云原生 月报

2023 年开源现状报告确认安全是首要问题

开源雨林

统计学 开源软件 开源现状

解决方案| anyRTC融合腾讯会议

anyRTC开发者

音视频 视频会议 视频通话 融合会议 腾讯会议

IDEA使用宏实现保存即编译

源字节1号

软件开发 开源治理 小程序开发

模块9设计电商秒杀系统

KING

智能化司库平台助力财资管理升级

用友BIP

用友 智能会计 智能财务 价值财务 全球司库

国内首家!云科通明湖应用交付控制器通过金融信创生态实验室适配验证

通明湖

Milvus 2.3 Massively Accelerates AI-Powered Applications With NVIDIA GPU Support

Zilliz

gpu nvidia 非结构化数据 Milvus 向量数据库

众筹互助模式DApp开发智能合约系统搭建

薇電13242772558

智能合约

手把手教小伙伴们使用 Nginx 部署 TienChin 项目!

江南一点雨

Java nginx Vue 前后端分离 springboot

Open-GeoIP:超简单的开源IP地址位置查询服务

冯骐

golang 开源 网络 ip地理定位 geoip

从 TDengine 存储引擎的变化探讨——为何大家应尽快切换 3.0 版本?

TDengine

tdengine 时序数据库 国产数据库

演讲回顾:阿里云存储技术的演进,以及云服务用例最佳实践_服务革新_sai_InfoQ精选文章