倪浩 - 阿里云计算的实践


阿里云计算的实践 倪浩 大纲 阿里云服务体系介绍 弹性计算和存储技术演进分享 最佳实践 Part1 第一部分:阿里云服务体系介绍,技术路线选择 阿里云计算服务体系 1.  云服务器(ECS) 2.  负载均衡(SLB) 3.  云盾 & 云监控 1.  开发存储服务(OSS) 2.  开放结构化数据服务(OTS) 3.  关系型数据库服务(RDS) 4.  未来:Cache/Queue/CDN 1.  开放数据处理服务(ODPS) 一个开放的服务体系 •  公共的基础云计算服务 –  技术上 •  系统内核:一个健壮可以持续发展的平台 •  运维体系:完备的运维机制、迅速的响应机制 •  实施:机房的地域规划、网络的建设,短期和长期的平衡 –  非技术问题 •  在线的使用、支付方式 •  响应迅速的客服、运维体系 •  备案等相关服务 •  对用户的价值:灵活 > 简单 > 成本 为什么我们选择从头做? •  CloudStack, OpenStack, Eucalyptus, Hadoop, Mongo –  非常优秀的开源软件,但是…… •  缺点 –  当你的业务发展大了,缺乏主线的控制力 –  做一个完整的云计算产品体系,用开源软件拼凑起来很困难 –  各种软件几乎不可能共享集群的资源 •  从头走的难点 –  从头做,非常辛苦,很多坑要踩 飞天:阿里云计算的内核 Linux 数据中心 Data Center 分布式文件系统 Distributed File System 任务调度 Job Scheduling 开放存储 服务 ( OSS) 开放结构化数 据服务(OTS) 开放数据处理 服务 (ODPS) 弹性计算 服务 ( ECS) 关系型数 据库服务 ( RDS) Aliyun API Deployment 集 群 布 署 Monitoring 集 群 监 控 资源管理 Resource Management 安全管理 Security Management 远程过程调用 Remote Procedure Call 分布协同服务 Distributed Coordination Service Part2 第二部分:弹性计算和存储技术演进分享 开放服务的技术架构:云服务器为例 •  云服务器 –  稳定性:数据不能丢(或出错) –  一致性:地址不能变 –  安全性:防御攻击 •  数据不能丢:Raid,SAN,KeyValue存储,分布式存储? •  地址不能变:NAT,大二层网络? •  防御攻击:交给用户,自动安全防御? 云服务器的存储:Step 1 •  特点:大量的随机IO,频繁的擦写 •  使用Raid:无法满足需求 –  数据在本地,宕机无法迁移 VMVMVMVM 物理机 Raid 云服务器的存储:Step 2 •  本地存储 + KVEngine (Based on 飞天盘古) –  Runtime的读写发生在本地,同时异步向KeyValue同步(以扇区为单位) –  本地宕机时,通过KVEngine中的数据在另外一台机器上恢复 •  Why KVEngine? –  本身的飞天盘古不支持随机读写 –  KVEngine通过Append的方式解决了随机写的问题 –  KVEngine 本身基于盘古,数据冗余存储 •  带来的问题 –  KVEngine读写的性能 –  异步同步数据仍然可能丢失 –  成本太高 VMVMVMVM 物理机 DISK KVEngine 飞天盘古 异步同步 云服务器的存储:Step 3 •  再次考察云服务器存储的特性: –  大量的随机IO,频繁的擦写 –  任何时候不丢失数据 •  结论:一个分布式(分片+冗余)支持随机读写的存储系统 VMVMVMVM1 物理机 VMVMVMVM2 物理机 VMVMVMVM3 物理机 分布式文件系统 |盘古:分布式文件系统(Append-Only) •  Master-Slave 主从架构 –  Master负责元数据管理,Slave(Chunk Server)负责读写 •  基于Paxos的多Master架构,故障恢复小于一分钟 •  文件分片(chunk),每个chunk存三份副本,分布于不同机架 •  端到端的数据校验 CS CS CS CS CS M M M Paxos RAF:让分布式文件系统支持随机写 •  RAF:Random Access File •  最复杂的问题:数据一致性 Mul Master client cs1 cs2 cs3 P S S csN replicaon read concurrent write ask new chunk sniff RAF一些工程上的经验 1.  一致性是最重要的问题,值得花费最多的精力,首先要在理论模型上成 立 2.  仔细的去设计数据的分布(Placement):例如虚拟机的本地读数据机制 3.  做好流控,绝不失控,避免出现复制风暴 4.  在有的数据拷贝丢失(如磁盘故障)开始数据复制时,平衡好新写入数 据和复制速度之间的关系 云服务器的快照和镜像 •  存储在开放存储服务(OSS)中,便于跨集群、跨地域访问 •  增量快照的机制:计数应用 Snapshot1 (ABC) Snapshot2 (ABD) Block0 (A) Block2 (C) Block1 (B) Block2 (D) Snapshot3 (EFD) Block0 (E) Block1 (F) 云服务器的网络与安全 •  网络:大二层网络设计,避开VLAN的限制 –  网络双活设计 –  对外的连接全部为多线BGP接入 •  安全是用户无法去解决的问题 –  暴力攻击 –  系统漏洞 •  提供一个全面的安全防御体系至关重要 –  不仅仅是防御攻击,还需要告知用户安全设计的重要性 Part3 第三部分:最佳实践 阿里云的最佳实践 •  每个服务被设计为做好一件事情 •  每个服务都有一个SLA •  利用好每个服务的优势,避开它的陷阱 实践 Web Web 负载均衡 RDSOSS ECS CacheCluster 云监控 OTS CDN 云盾 需要知道的事情 •  永远使用云监控来监控你的应用及服务 •  云服务器 –  宿主物理机宕机,故障迁移需要几分钟的时间 –  按月购买的服务器的带宽是受限的,但上行带宽很大 –  如果对磁盘的读写很重,考虑把压力转移到OSS、OTS、RDS –  如果能做到应用无状态,就能够结合SLB做完全水平(session保持) •  OSS –  把它作为一个带宽不受限,空间不受限,并发不受限的在线存储 •  RDS –  具备优越的读写性能(FusionIO),但它的总数据量要小于1TB •  SLB –  考虑好是用HTTP还是TCP,配置非常简单 •  OTS –  如果你能将不需要关系型操作的结构化数据放到OTS,一定能大大减轻数据库的负担 阿里云的用户 谢谢! @InfoQ infoqchina
还剩24页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 3 金币 [ 分享pdf获得金币 ] 6 人已下载

下载pdf

pdf贡献者

醉鱼当道

贡献于2013-05-13

下载需要 3 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf