1、亚马逊云计算AWS(Amazon Web Service)概述 Amazon的云从哪里来 Amazon提供的云计算服务 AWS的应用案例 AWS的业务流程 AWS的体系架构及关键技术Amazon的云从哪里来?一个简单的想法 IaaS:将硬件设备等基础资源封装成服务供用户使用 主要思想:虚拟 优势:动态申请,资源无限Amazon提供的云计算服务 弹性计算云EC2 简单存储服务S3 简单数据库服务Simple DB 简单队列服务SQS 弹性MapReduce服务 内容推送服务CloudFront 电子商务服务DevPay 灵活支付服务FPSAWS的应用案例SmugMug 为什么选择AWS Smug
2、Mug是一家在线照片存储共享网站,拥有数亿照片资源和几十万付费用户。业务量的急剧增长导致该新兴公司无法承受巨额的基础设施开销,SmugMug选择了Amazon的EC2服务和S3服务。应用AWS后,仅需50人即可完成如此大的业务量。SmugMug的基本架构AWS的业务流程 注册账户 资源申请 创建虚拟节点 将虚拟节点映射到物理节点 分割算法 数据处理 数据同步基础存储架构Dynamo Dynamo在Amazon服务平台中的地位 Dynamo架构的主要技术问题问题采取的相关技术采取的相关技术数据均衡分布改进的一致性哈希算法,数据备份数据冲突处理向量时钟(vector clock)临时故障处理Hin
3、ted handoff(数据回传机制),参数(W,R,N)可调的弱quorum机制永久故障后的恢复Merkle哈希树成员资格以及错误检测基于gossip的成员资格协议和错误检测数据均衡分布的问题 一致性哈希算法 优势:-负载均衡 -屏蔽节点处理能力差异Dynamo的数据冲突处理 最终一致性模型 向量时钟(Vector Clock)Dynamo的临时故障处理机制 读写参数W、R、NN:系统中每条记录的副本数W:每次记录成功写操作需要写入的副本数R:每次记录读请求最少需要读取的副本数。满足R+WN,用户即可自行配置R和W 优势:实现可用性与容错性之间的平衡Dynamo的永久性故障恢复 Merkle
4、哈希树技术Dynamo中Merkle哈希树的叶子节点是存储数据所对应的哈希值,父节点是其所有子节点的哈希值成员资格及错误检测 基于Gossip协议的成员检测机制弹性计算云EC2 EC2是什么 EC2的主要特性 EC2基本架构及主要概念 EC2应用实战EC2是什么 EC2(Elastic Compute Cloud)简言之,EC2就是一部具有无限采集能力的虚拟计算机,用户能够用来执行一些处理任务。EC2的场景描述 EC2的主要特性 灵活性:可自行配置运行的实例类型、数量,还可以选择实例运行的地理位置。可以根据用户的需求随时改变实例的使用数量。低成本:按小时计费 安全性:SSH、可配置的防火墙机制
5、、监控等 易用性:用户可以根据亚马逊提供的模块自由构建自己的应用程序,同时EC2还会对用户的服务请求自动进行负载平衡 容错性:弹性IP EC2的几个重要概念(1)Amazon机器映像AMI(Amazon Machine Image)由一个操作系统和当虚拟机启动时你想要预先载入的任何的应用程序组成。AMI是用户整个云计算平台运行的基础,用户使用EC2服务的第一步就是要创建一个自己的AMI。公共AMI、私有AMI、付费AMI、共享AMI EC2的几个重要概念(2)实例Instance:用户创建好AMI后,实际运行的系统资源资源SmallLargeExtra LargeHigh-CPU Medium
6、High-CPUExtra Large平台平台32位位64位位64位位32位位64位位CPU1ECU4ECU8ECU5ECU20ECU内存内存1.7G7.5G15G1.7G7G存储容量存储容量160G850G1690G350G1690G实例类型名实例类型名m1.smallm1.large m1.xlargec1.mediumc1.xlargeEC2的几个重要概念(3)弹性块存储EBS(Elastic Block Store)卷,每个EBS最多创建20个卷 快照EC2的几个重要概念(4)区域EC2的基本架构EC2应用实战 注册用户,选择支付方式 使用EC2的几个前提条件 Java Runtime
7、 Environment Amazon EC2 command-line tools PuTTY&PuTTYgen 配置工具 运行实例简单存储服务S3 S3(Simple Store Service)的设计思路 数据一致性模型S3的设计思路(1)S3为任意类型的文件提供临时或永久的存储服务 非传统关系数据库存储模式 简单、高效 存储、读取,非查询S3的设计思路(2)基本概念 对象:S3的基本存储单元(数据、元数据),数据类型任意 键:对象的唯一标识符 桶:存储对象的容器(不能嵌套、在S3中名称唯一、每个用户最多创建100个桶)S3的设计思路(3)桶对象对象对象键数据元数据访问控制S3的数据一致
8、性模型 冗余存储 最终一致性模型简单队列服务SQS(1)目标:解决低耦合系统间的通信问题,支持分布式计算机系统之间的工作流 特点:简单、无处不在 “在互联网的所有计算机不用安装任何软件或特殊防火墙配置就可以增加或读消息”处理端:EC2上的AMI简单队列服务SQS(2)机制:冗余存储,基于加权随机分布的消息取样 并发管理和故障排除,消息的可见性超时值与生命周期简单队列服务SQS(3)简单数据库服务SimpleDB SDB与S3的区别 SDB与传统关系数据库的区别 SDB的基本结构及主要概念SDB与S3的区别 S3是专为大型,非结构化的数据块设计的 SimpleDB是为复杂的,结构化数据建立的,支持数据的查找、删除、插入等操作 SDB与关系数据库的区别(1)传统的关系数据库表结构 SDB树状结构SDB的基本结构SDB与关系数据库的区别(2)新特性:无需预定义模式单个属性允许有 多个值支持自动索引 不能完成的操作:没有事务的概念 不支持连接操作 实际存储的数据类型过于单一 查询结果只包含条目名称而不包括相应属性值,返回结果不支持排序操作总结AWS的结合使用