SlideShare a Scribd company logo
亚马逊云计算 AWS
( Amazon Web Service )




      电子工业出版社 刘鹏主编《云计算》教材配套课件 6
概述
•   Amazon 的云从哪里来
•   Amazon 提供的云计算服务
•   AWS 的应用案例
•   AWS 的业务流程
•   AWS 的体系架构及关键技术
Amazon 的云从哪里来 ?
• 一个简单的想法
• IaaS :将硬件设备等基础资源封装成服务供用户
  使用
• 主要思想:虚拟
• 优势:动态申请,资源无限
Amazon 提供的云计算服务
•   弹性计算云 EC2
•   简单存储服务 S3
•   简单数据库服务 Simple DB
•   简单队列服务 SQS
•   弹性 MapReduce 服务
•   内容推送服务 CloudFront
•   电子商务服务 DevPay
•   灵活支付服务 FPS
AWS 的应用案例—— SmugMug
• 为什么选择 AWS
 SmugMug 是一家在线照片存储共享网站,拥有数亿照片资
 源和几十万付费用户。业务量的急剧增长导致该新兴公司
 无法承受巨额的基础设施开销, SmugMug 选择了 Amazon
 的 EC2 服务和 S3 服务。应用 AWS 后,仅需 50 人即可完成
 如此大的业务量。
SmugMug 的基本架构


                     队列服务    EC2

              处理照片


     访问                     存储
用户        SmugMug                  控制器


              存储照片
                     队列服务    S3
AWS 的业务流程
•   注册账户
•   资源申请
•   创建虚拟节点
•   将虚拟节点映射到物理节点
•   分割算法
•   数据处理
•   数据同步
基础存储架构 Dynamo
• Dynamo 在 Amazon 服务平台中的地位
• Dynamo 架构的主要技术
     问题              采取的相关技术

   数据均衡分布      改进的一致性哈希算法,数据备份

   数据冲突处理         向量时钟( vector clock )

   临时故障处理     Hinted handoff (数据回传机制),参数
                 ( W,R,N )可调的弱 quorum 机制
  永久故障后的恢复            Merkle 哈希树

 成员资格以及错误检测   基于 gossip 的成员资格协议和错误检测
数据均衡分布的问题
             计算数据键
             值的哈希值

       节点G
                           计算节点的
                            哈希值
                                                     • 一致性哈希算法
                           节点A                       • 优势:
节点F

                                                       -- 负载均衡
 节点E
                             节点B

                                   键k
                                        虚拟
                                        节点A
                                                       -- 屏蔽节点处
                                              虚拟
                                              节点B      理能力差异
       节点D           节点C

                                                    虚拟
                                                    节点C


                                                    虚拟
                                                    节点D
Dynamo 的数据冲突处理
        • 最终一致性模型
        • 向量时钟
          ( Vector
          Clock )
Dynamo 的临时故障处理机制
• 读写参数 W 、 R 、 N
  N :系统中每条记录的副本数
  W :每次记录成功写操作需要写入的副本数
  R :每次记录读请求最少需要读取的副本数。
• 满足 R+W>N ,用户即可自行配置 R 和 W
• 优势:实现可用性与容错性之间的平衡
Dynamo 的永久性故障恢复
• Merkle 哈希树技术
  Dynamo 中 Merkle 哈希树的叶子节点是存储数据
  所对应的哈希值,父节点是其所有子节点的哈希
  值                           0                                                        11




             1                              2                             1                       15




     3               4                 5             6            3               4          16             6




 7       8       9       10       11       12   13       14   7       8       9       10    17    12   13       14

                         merkle树A                                                 merkle树B
成员资格及错误检测
• 基于 Gossip 协议的成员检测机制

       新节
       点1



                     新节
            种子节点     点2
            (seed)
   A



                          B



             C
弹性计算云 EC2
•   EC2 是什么
•   EC2 的主要特性
•   EC2 基本架构及主要概念
•   EC2 应用实战
EC2 是什么

• EC2 ( Elastic Compute Cloud )

 简言之, EC2 就是一部具有无限采集能力的虚拟
 计算机,用户能够用来执行一些处理任务。

• EC2 的场景描述
EC2 的主要特性
• 灵活性:可自行配置运行的实例类型、数量,还
  可以选择实例运行的地理位置。可以根据用户的
  需求随时改变实例的使用数量。
• 低成本:按小时计费
• 安全性: SSH 、可配置的防火墙机制、监控等
• 易用性:用户可以根据亚马逊提供的模块自由构
  建自己的应用程序,同时 EC2 还会对用户的服务
  请求自动进行负载平衡
• 容错性:弹性 IP
EC2 的几个重要概念 (1)
• Amazon 机器映像 AMI ( Amazon Machine
  Image )
 —— 由一个操作系统和当虚拟机启动时你想要预
 先载入的任何的应用程序组成。

 ——AMI 是用户整个云计算平台运行的基础,用
 户使用 EC2 服务的第一步就是要创建一个自己的
 AMI 。

 —— 公共 AMI 、私有 AMI 、付费 AMI 、共享 AMI
EC2 的几个重要概念 (2)
• 实例 Instance :用户创建好 AMI 后,实际运行
  的系统
                                                High-
                          Extra    High-CPU      CPU
 资源     Small    Large
                           Large     Medium     Extra
                                                 Large
 平台     32 位     64 位     64 位       32 位       64 位
 CPU    1ECU     4ECU     8ECU      5ECU       20ECU
 内存     1.7G     7.5G      15G       1.7G         7G
存储容量    160G     850G     1690G      350G       1690G
实例类型
       m1.small m1.large m1.xlarge c1.medium   c1.xlarge
  名
EC2 的几个重要概念 (3)
• 弹性块存储 EBS ( Elastic Block
  Store )

 —— 卷,每个 EBS 最多创建 20 个卷

 —— 快照
EC2 的几个重要概念 (4)
• 区域
           A




                        EC2
                                           可用区域B3
                                  地理区域B
                                       A


                              可用区域B1
                   可用区域A3
       地理区域A                           可用区域B2


  可用区域A1
               可用区域A2
EC2 的基本架构
         弹性块
                         S3
         存储      快照

通过私钥
使用SSH
                      亚马逊机
方式访问
                      器映像

   EC2   实例              实例              实例
                私有IP地址          私有IP地址


         存储模块

                         防火墙
                              公有IP
                              地址

                      Internet
EC2 应用实战
• 注册用户,选择支付方式
• 使用 EC2 的几个前提条件
  Java Runtime Environment
  Amazon EC2 command-line tools
  PuTTY & PuTTYgen
• 配置工具
• 运行实例
简单存储服务 S3
• S3 ( Simple Store Service )的设计思路

• 数据一致性模型
S3 的设计思路 (1)
• S3 为任意类型的文件提供临时或永久的存
  储服务

• 非传统关系数据库存储模式
 —— 简单、高效
 —— 存储、读取,非查询
S3 的设计思路 (2)
• 基本概念
  —— 对象: S3 的基本存储单元(数据、元
  数据),数据类型任意
  —— 键:对象的唯一标识符
  —— 桶:存储对象的容器(不能嵌套、在
  S3 中名称唯一、每个用户最多创建 100 个
  桶)
S3 的设计思路 (3)
          桶



对象        对象         对象




键    数据        元数据   访问控制
S3 的数据一致性模型
                   • 冗余存储
                   • 最终一致性模型
修   返
改   回
数   原
据   内
    容




            延迟



服务器1                 服务器2

       延迟




            服务器3
简单队列服务 SQS(1)
• 目标:解决低耦合系统间的通信问题,支持分
  布式计算机系统之间的工作流
• 特点:简单、无处不在
 ——“ 在互联网的所有计算机不用安装任何软件或
 特殊防火墙配置就可以增加或读消息”

• 处理端: EC2 上的 AMI
简单队列服务 SQS(2)
• 机制:
 —— 冗余存储,基于加权随机分布的消息取样
 —— 并发管理和故障排除,消息的可见性超时值
 与生命周期
                          消息删除

       消息                        时
                                 间
                                 未
                                 到


            接收   消息未删除                扩展    生命周
       可见                不可见         重新计时   期结束


 未接收             时间到
                 终止计时

                 超过4天
简单队列服务 SQS(3)



            队列
消息1   消息2   消息3   ………   消息n
简单数据库服务 SimpleDB
• SDB 与 S3 的区别

• SDB 与传统关系数据库的区别

• SDB 的基本结构及主要概念
SDB 与 S3 的区别
• S3 是专为大型,非结构化的数据块设计的

• SimpleDB 是为复杂的,结构化数据建立的
  ,支持数据的查找、删除、插入等操作
SDB 与关系数据库的区别 (1)
• 传统的关系数据库——表结构
• SDB 树状结构

                  域


                  条目


                  属性


                   值
SDB 的基本结构
                         用户账户

              域1                          域2
          属性1      属性2
                                        属性3    属性4
条目2 条目1




                              条目4 条目3
          值        值                    值      值
          值        值                    值      值



                         域3
                         ……
SDB 与关系数据库的区别 (2)
• 不能完成的操作     • 新特性:
  :           —— 无需预定义模式
—— 没有事务的概念    —— 单个属性允许有
—— 不支持连接操作      多个值

—— 实际存储的数据类   —— 支持自动索引
型过于单一
—— 查询结果只包含条
目名称而不包括相应属
性值,返回结果不支持
排序操作
总结—— AWS 的结合使用
                  发送消息
            SQS           EC2
   求              返回消息
  请
 送


                         提取        存储
发




      果
     结                   文件        文件
    回
   返



            上传
                              S3
            下载
       查




                               建立
        询




                               指针
返
 回




                  发送消息
  结




            SQS           SDB
   果




                  返回消息

More Related Content

Viewers also liked

Redis介绍
Redis介绍Redis介绍
Redis介绍锐 张
 
网易海量数据存储平台的构建和运维
网易海量数据存储平台的构建和运维网易海量数据存储平台的构建和运维
网易海量数据存储平台的构建和运维锐 张
 
Redis学习笔记
Redis学习笔记Redis学习笔记
Redis学习笔记锐 张
 
Greenplum技术
Greenplum技术Greenplum技术
Greenplum技术锐 张
 
服务器端性能优化 提升Qps、rt
服务器端性能优化 提升Qps、rt服务器端性能优化 提升Qps、rt
服务器端性能优化 提升Qps、rt锐 张
 
07 丛磊
07 丛磊07 丛磊
07 丛磊锐 张
 
人人网互联网产品易用性、Ue设计培训
人人网互联网产品易用性、Ue设计培训人人网互联网产品易用性、Ue设计培训
人人网互联网产品易用性、Ue设计培训锐 张
 
Sun jdk 1.6内存管理 -使用篇-毕玄
Sun jdk 1.6内存管理 -使用篇-毕玄Sun jdk 1.6内存管理 -使用篇-毕玄
Sun jdk 1.6内存管理 -使用篇-毕玄锐 张
 

Viewers also liked (8)

Redis介绍
Redis介绍Redis介绍
Redis介绍
 
网易海量数据存储平台的构建和运维
网易海量数据存储平台的构建和运维网易海量数据存储平台的构建和运维
网易海量数据存储平台的构建和运维
 
Redis学习笔记
Redis学习笔记Redis学习笔记
Redis学习笔记
 
Greenplum技术
Greenplum技术Greenplum技术
Greenplum技术
 
服务器端性能优化 提升Qps、rt
服务器端性能优化 提升Qps、rt服务器端性能优化 提升Qps、rt
服务器端性能优化 提升Qps、rt
 
07 丛磊
07 丛磊07 丛磊
07 丛磊
 
人人网互联网产品易用性、Ue设计培训
人人网互联网产品易用性、Ue设计培训人人网互联网产品易用性、Ue设计培训
人人网互联网产品易用性、Ue设计培训
 
Sun jdk 1.6内存管理 -使用篇-毕玄
Sun jdk 1.6内存管理 -使用篇-毕玄Sun jdk 1.6内存管理 -使用篇-毕玄
Sun jdk 1.6内存管理 -使用篇-毕玄
 

Similar to 亚马逊云计算Aws

分布式Key Value Store漫谈
分布式Key Value Store漫谈分布式Key Value Store漫谈
分布式Key Value Store漫谈
Tim Y
 
分布式Key-value漫谈
分布式Key-value漫谈分布式Key-value漫谈
分布式Key-value漫谈lovingprince58
 
美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统
美团点评技术团队
 
基于MySQL开放复制协议的同步扩展
基于MySQL开放复制协议的同步扩展基于MySQL开放复制协议的同步扩展
基于MySQL开放复制协议的同步扩展Sky Jian
 
阿里云技术实践
阿里云技术实践阿里云技术实践
阿里云技术实践drewz lin
 
张松国 腾讯微博架构介绍08
张松国 腾讯微博架构介绍08张松国 腾讯微博架构介绍08
张松国 腾讯微博架构介绍08drewz lin
 
有道云笔记架构简介
有道云笔记架构简介有道云笔记架构简介
有道云笔记架构简介drewz lin
 
浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华
zhuozhe
 
N-layer design & development
N-layer design & developmentN-layer design & development
N-layer design & development
Xuefeng Zhang
 
Databases on AWS
Databases on AWSDatabases on AWS
Databases on AWS
Chien Chung Shen
 
美团技术沙龙04 美团下一代分布式存储系统
美团技术沙龙04   美团下一代分布式存储系统美团技术沙龙04   美团下一代分布式存储系统
美团技术沙龙04 美团下一代分布式存储系统
美团点评技术团队
 
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
liu sheng
 
大规模网站架构
大规模网站架构大规模网站架构
大规模网站架构drewz lin
 
Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲
84zhu
 
AWS入門
AWS入門AWS入門
AWS入門
ArtyomLiou
 
Ceph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom LabsCeph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Community
 
NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析
iammutex
 
美丽说的架构发展与变迁 New
美丽说的架构发展与变迁 New美丽说的架构发展与变迁 New
美丽说的架构发展与变迁 New
翀 刘
 
合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合
Qiangning Hong
 
mercury
mercurymercury
mercury
moonbingbing
 

Similar to 亚马逊云计算Aws (20)

分布式Key Value Store漫谈
分布式Key Value Store漫谈分布式Key Value Store漫谈
分布式Key Value Store漫谈
 
分布式Key-value漫谈
分布式Key-value漫谈分布式Key-value漫谈
分布式Key-value漫谈
 
美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统
 
基于MySQL开放复制协议的同步扩展
基于MySQL开放复制协议的同步扩展基于MySQL开放复制协议的同步扩展
基于MySQL开放复制协议的同步扩展
 
阿里云技术实践
阿里云技术实践阿里云技术实践
阿里云技术实践
 
张松国 腾讯微博架构介绍08
张松国 腾讯微博架构介绍08张松国 腾讯微博架构介绍08
张松国 腾讯微博架构介绍08
 
有道云笔记架构简介
有道云笔记架构简介有道云笔记架构简介
有道云笔记架构简介
 
浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华
 
N-layer design & development
N-layer design & developmentN-layer design & development
N-layer design & development
 
Databases on AWS
Databases on AWSDatabases on AWS
Databases on AWS
 
美团技术沙龙04 美团下一代分布式存储系统
美团技术沙龙04   美团下一代分布式存储系统美团技术沙龙04   美团下一代分布式存储系统
美团技术沙龙04 美团下一代分布式存储系统
 
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
 
大规模网站架构
大规模网站架构大规模网站架构
大规模网站架构
 
Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲
 
AWS入門
AWS入門AWS入門
AWS入門
 
Ceph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom LabsCeph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom Labs
 
NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析
 
美丽说的架构发展与变迁 New
美丽说的架构发展与变迁 New美丽说的架构发展与变迁 New
美丽说的架构发展与变迁 New
 
合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合
 
mercury
mercurymercury
mercury
 

More from 锐 张

长尾理论(The longtail)版
长尾理论(The longtail)版长尾理论(The longtail)版
长尾理论(The longtail)版锐 张
 
Openstack starter-guide-diablo
Openstack starter-guide-diabloOpenstack starter-guide-diablo
Openstack starter-guide-diablo锐 张
 
基于My sql的分布式数据库实践
基于My sql的分布式数据库实践基于My sql的分布式数据库实践
基于My sql的分布式数据库实践锐 张
 
Redis中文入门手册
Redis中文入门手册Redis中文入门手册
Redis中文入门手册锐 张
 
Redis内存存储结构分析
Redis内存存储结构分析Redis内存存储结构分析
Redis内存存储结构分析锐 张
 
淘宝前端优化
淘宝前端优化淘宝前端优化
淘宝前端优化锐 张
 
Sun jdk 1.6内存管理 -实现篇 -毕玄
Sun jdk 1.6内存管理 -实现篇 -毕玄Sun jdk 1.6内存管理 -实现篇 -毕玄
Sun jdk 1.6内存管理 -实现篇 -毕玄锐 张
 
Sun jdk 1.6内存管理 -调优篇-毕玄
Sun jdk 1.6内存管理 -调优篇-毕玄Sun jdk 1.6内存管理 -调优篇-毕玄
Sun jdk 1.6内存管理 -调优篇-毕玄锐 张
 
Sun jdk-1.6-gc
Sun jdk-1.6-gcSun jdk-1.6-gc
Sun jdk-1.6-gc锐 张
 
Redis深入浅出
Redis深入浅出Redis深入浅出
Redis深入浅出锐 张
 
Green plum培训材料
Green plum培训材料Green plum培训材料
Green plum培训材料锐 张
 
新时代的分析型云数据库 Greenplum
新时代的分析型云数据库 Greenplum新时代的分析型云数据库 Greenplum
新时代的分析型云数据库 Greenplum锐 张
 
新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)
新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)
新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)锐 张
 
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)锐 张
 
Lamp高性能设计
Lamp高性能设计Lamp高性能设计
Lamp高性能设计锐 张
 
09 赵昆
09 赵昆09 赵昆
09 赵昆锐 张
 
05 杨志丰
05 杨志丰05 杨志丰
05 杨志丰锐 张
 
C2c网站运营ppt
C2c网站运营pptC2c网站运营ppt
C2c网站运营ppt锐 张
 
Big pipe backend2
Big pipe backend2Big pipe backend2
Big pipe backend2锐 张
 
数据成就互联网的可能 用技术撬动Roi-好耶
数据成就互联网的可能 用技术撬动Roi-好耶数据成就互联网的可能 用技术撬动Roi-好耶
数据成就互联网的可能 用技术撬动Roi-好耶锐 张
 

More from 锐 张 (20)

长尾理论(The longtail)版
长尾理论(The longtail)版长尾理论(The longtail)版
长尾理论(The longtail)版
 
Openstack starter-guide-diablo
Openstack starter-guide-diabloOpenstack starter-guide-diablo
Openstack starter-guide-diablo
 
基于My sql的分布式数据库实践
基于My sql的分布式数据库实践基于My sql的分布式数据库实践
基于My sql的分布式数据库实践
 
Redis中文入门手册
Redis中文入门手册Redis中文入门手册
Redis中文入门手册
 
Redis内存存储结构分析
Redis内存存储结构分析Redis内存存储结构分析
Redis内存存储结构分析
 
淘宝前端优化
淘宝前端优化淘宝前端优化
淘宝前端优化
 
Sun jdk 1.6内存管理 -实现篇 -毕玄
Sun jdk 1.6内存管理 -实现篇 -毕玄Sun jdk 1.6内存管理 -实现篇 -毕玄
Sun jdk 1.6内存管理 -实现篇 -毕玄
 
Sun jdk 1.6内存管理 -调优篇-毕玄
Sun jdk 1.6内存管理 -调优篇-毕玄Sun jdk 1.6内存管理 -调优篇-毕玄
Sun jdk 1.6内存管理 -调优篇-毕玄
 
Sun jdk-1.6-gc
Sun jdk-1.6-gcSun jdk-1.6-gc
Sun jdk-1.6-gc
 
Redis深入浅出
Redis深入浅出Redis深入浅出
Redis深入浅出
 
Green plum培训材料
Green plum培训材料Green plum培训材料
Green plum培训材料
 
新时代的分析型云数据库 Greenplum
新时代的分析型云数据库 Greenplum新时代的分析型云数据库 Greenplum
新时代的分析型云数据库 Greenplum
 
新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)
新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)
新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)
 
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
 
Lamp高性能设计
Lamp高性能设计Lamp高性能设计
Lamp高性能设计
 
09 赵昆
09 赵昆09 赵昆
09 赵昆
 
05 杨志丰
05 杨志丰05 杨志丰
05 杨志丰
 
C2c网站运营ppt
C2c网站运营pptC2c网站运营ppt
C2c网站运营ppt
 
Big pipe backend2
Big pipe backend2Big pipe backend2
Big pipe backend2
 
数据成就互联网的可能 用技术撬动Roi-好耶
数据成就互联网的可能 用技术撬动Roi-好耶数据成就互联网的可能 用技术撬动Roi-好耶
数据成就互联网的可能 用技术撬动Roi-好耶
 

Recently uploaded

design method and skill course 2024_05_24
design method and skill course 2024_05_24design method and skill course 2024_05_24
design method and skill course 2024_05_24
Winny Wang
 
一比一原版(Langara毕业证书)兰加拉学院毕业证成绩单如何办理
一比一原版(Langara毕业证书)兰加拉学院毕业证成绩单如何办理一比一原版(Langara毕业证书)兰加拉学院毕业证成绩单如何办理
一比一原版(Langara毕业证书)兰加拉学院毕业证成绩单如何办理
708pb191
 
2024.06.03 唐玄輝 自我介紹 / 國立臺灣科技大學 設計系 教授 / 設計思考與創新研究室 總監
2024.06.03  唐玄輝 自我介紹 / 國立臺灣科技大學 設計系 教授 / 設計思考與創新研究室 總監2024.06.03  唐玄輝 自我介紹 / 國立臺灣科技大學 設計系 教授 / 設計思考與創新研究室 總監
2024.06.03 唐玄輝 自我介紹 / 國立臺灣科技大學 設計系 教授 / 設計思考與創新研究室 總監
NTUST
 
The handout of the design method 20240530
The handout of the design method 20240530The handout of the design method 20240530
The handout of the design method 20240530
Winny Wang
 
The handout of service innovation design_20240602
The handout of service innovation design_20240602The handout of service innovation design_20240602
The handout of service innovation design_20240602
Winny Wang
 
The handout of the design method 20240523
The handout of the design method 20240523The handout of the design method 20240523
The handout of the design method 20240523
Winny Wang
 

Recently uploaded (6)

design method and skill course 2024_05_24
design method and skill course 2024_05_24design method and skill course 2024_05_24
design method and skill course 2024_05_24
 
一比一原版(Langara毕业证书)兰加拉学院毕业证成绩单如何办理
一比一原版(Langara毕业证书)兰加拉学院毕业证成绩单如何办理一比一原版(Langara毕业证书)兰加拉学院毕业证成绩单如何办理
一比一原版(Langara毕业证书)兰加拉学院毕业证成绩单如何办理
 
2024.06.03 唐玄輝 自我介紹 / 國立臺灣科技大學 設計系 教授 / 設計思考與創新研究室 總監
2024.06.03  唐玄輝 自我介紹 / 國立臺灣科技大學 設計系 教授 / 設計思考與創新研究室 總監2024.06.03  唐玄輝 自我介紹 / 國立臺灣科技大學 設計系 教授 / 設計思考與創新研究室 總監
2024.06.03 唐玄輝 自我介紹 / 國立臺灣科技大學 設計系 教授 / 設計思考與創新研究室 總監
 
The handout of the design method 20240530
The handout of the design method 20240530The handout of the design method 20240530
The handout of the design method 20240530
 
The handout of service innovation design_20240602
The handout of service innovation design_20240602The handout of service innovation design_20240602
The handout of service innovation design_20240602
 
The handout of the design method 20240523
The handout of the design method 20240523The handout of the design method 20240523
The handout of the design method 20240523
 

亚马逊云计算Aws

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

Editor's Notes

  1.    Jeff Barr 认为,云计算是分层次和类别的,每一类公司提供的云计算的服务都不一样,亚马逊是 IT 基础架构云计算服务提供商。在网络互联的需求之上,直接就是亚马逊的最底层的 IT 基础架构 AWS(Amazon Web Services) ,包括计算、存储、内容分发等;在 AWS 的基础上,用户才可以构建自己的应用层,这些应用层包括构建数据库、应用服务器;最上一层才是应用软件。他表示,目前市场上很多云计算服务提供商所提供的服务,仅仅是不同层面的一部分解决方案。
  2. 完成数据迁移后,由于不需再考虑基础设施问题, SmugMug 将公司的主要精力集中在提高服务质量上。目前 SmugMug 向用户提供了三种照片访问方式 [35] : SmugMug 以代理的身份处理用户访问请求 SmugMug 对用户访问请求进行重定向 利用有关 API 直接对存储在 S3 中的数据进行访问。 在这三种访问方式中,以第一种方式访问的用户超过 99% 。也就是说几乎所有的用户都选择这种访问方式,这也正是 SmugMug 所期待的结果,因为它希望 S3 对于普通用户来说是透明的。 SmugMug 公司还引入了 EC2 服务,使客户可以利用 EC2 来完成图片的在线编辑和处理。 将基础设施部分外包给亚马逊后, SmugMug 的基础架构如图 4‑33 所示。几乎所有的用户都是采用直接访问 SmugMug 的方式处理照片,实际的照片处理过程对于用户是透明的。 SmugMug 的系统后台则如虚线框所示。主要包括三个部分 [37] :队列服务,亚马逊 AWS 和控制器。目前使用的 AWS 包括 EC2 和 S3 。而队列服务和控制器则由 SmugMug 提供。 SmugMug 并没有采用 SQS 而是建立了自己的队列服务 , 控制器每隔固定的时间就会自动决定增加还是减少 EC2 实例。整个 SmugMug 的系统具有高度的智能型,绝大部分操作都会自动完成。这也是为什么 SmugMug 仅用几十人就可以完成如此巨大的工作量。
  3. Dynamo 的冗余副本读写策略比较有趣,它定义了: N,W,R 三个参数。其中 N 代表系统中每条记录的副本数, W 代表每次记录成功写操作需要写入的副本数, R 代表每次记录读请求最少需要读取的副本数。只要 W+R >N 就可以保证数据的一致性。因为 W+R>N 时读写总会有交集——必定最少有 W + R - N 个读请求会落到被写的副本上,所以必然会读到“最后”被更新的副本数据(至于谁 “最后”的判断需采用时间戳或者时钟向量等技术完成——有逻辑关系先后由时钟向量判断,否则简单的用时间戳先后判断 . 详情去看 dynamo 论文吧)。这种做法相比我们最朴素的想法——我们直观的想法一定认为如果系统要求记录冗余 N 份,那么每次就写入 N 份,而在读请求时读取任意一份可用记录即可——要更安全,也更灵活。说其更安全是指数据一致性更能被保证:比如说客户写入一条记录,该记录有三个副本在三个不同点上,但是其中一个点临时故障了,因此记录没有被写入/更新。那么在对该记录再读取时,如果取两点( R=2 )则必然会读取到最少一个正确的值(临时故障点有可能在读是恢复,那么读出的值则不存在或者不是最新的;若临时故障点还未恢复,则读请求无法访问其上副本)。而使用我们传统方法可能读到发生临时故障的那点,此刻就有可能读出现错误记录(旧的或者不存在),因此可以看到加大 W,R 可提高系统安全性;说其更灵活则是指可通过配置 N,W,R 这几个参数以满足包括访问方式、速度和数据安全等迥异需求的各种场景:比如对于写多读少的操作,可将 W 配低, R 配高;想法对于写少读多的操作,则可将 W 配高, R 配低
  4. Dynamo 中的每个节点就是 Dynamo 的一个成员,亚马逊为了使系统间数据的转发更加迅速(减少数据传送时延,增加响应速度),规定每个成员节点都要保存其他节点的路由信息。由于机器或人为的因素,系统中成员的加入或撤离时常发生。为了保证每个节点保存的都是 Dynamo 中最新的成员信息,所有节点每隔固定时间( 1 秒)就要利用一种类似于 gossip (闲聊)机制 [1] 的方式从其他节点中任意选择一个与之进行通信。连接成功的话双方就交换各自保存的包括存储数据情况、路由信息在内的成员信息
  5. 想象一个广阔空间充满了服务器系统,所有网路连结在一起。坐在你的单一工作站,你创建一个虚拟机的形象,它定义了一个 1.2 GHz 主频处理器, 1.7GB 内存和一个 160 GB 的硬盘的虚拟机运行 Linux ,并且预装你特别用来压缩大量待处理数据的软件。你部署他对外服务,并且管理这些服务器。在将来某个时间, 你的数据挖掘操作将获得大量的数据矩阵。你指示服务实例化 50 部虚拟机,并释放每一个数据矩阵中。在几秒钟内, 50 部 1.2 GHz 主频处理器都将积极处理你的的数据。他们完成后,他们的把结果存放在一个预先指定的储存点,然后消失。
  6. 灵活性: EC2 允许用户对运行的实例类型、数量自行配置,还可以选择实例运行的地理位置。可以根据用户的需求随时改变实例的使用数量。 低成本: EC2 使得企业不必为暂时的业务增长而购买额外的服务器等设备。 EC2 的服务都是按小时来收费的,而且价格相当合理。 安全性: EC2 向用户提供了一整套的安全措施,包括基于密钥对机制的 SSH 方式访问,可配置的防火墙机制等。同时允许用户对它的应用程序进行监控。 易用性:用户可以根据亚马逊提供的模块自由构建自己的应用程序,同时 EC2 还会对用户的服务请求自动进行负载平衡。 容错性:利用系统提供的诸如弹性 IP 地址之类的机制, EC2 在最大程度上保证故障发生时用户服务仍能维持在稳定的水平。
  7. 它没有目录和没有文件名 - 只是一个大空间
  8. S3 中元数据存储的是对象数据内容的附加描述信息,这些信息可以是系统默认定义的系统元数据( system metadata ),也可以是我们自定义的用户元数据( user metadata )。其中用户元数据的大小不得超过 2048 字节。 元数据是通过一对键 - 值( name-value )集合来定义的。 S3 中元数据的处理由用户自己完成,系统并不干预。亚马逊对于对象存储的内容没有限制,但每个对象最大容量目前被限制在 5GB ,且在使用 UTF-8 编码时对象名不能超过 1024 字节。重命名操作在对象中无效。对象数据的实际存储方式对于用户来说是不透明的,也就是说一旦用户对象被创建并添加数据,我们就无法对数据的某一子部分直接进行修改。间接的修改办法就是重新创建对象并向其中添加新的数据。
  9. 在数据被充分的传播到所有的存放节点之前返回给用户的仍是原数据
  10. 要想构建一个灵活且可扩展的系统,低耦合度是很有必要的。因为只有系统各个组件之间的关联度尽可能低才可以根据系统需要随时从系统中增加或者删除某些组件。但松散的耦合度也带来了组建之间的通信问题,如何实现安全、高效的通信是设计一个低耦合度的分布式系统所必须考虑的问题。简单队列服务( Simple Queue Service ,以下简称 SQS )是亚马逊为了解决其云计算平台之间不同组件的通信而专门设计开发的