搜档网
当前位置:搜档网 › 用 Amazon Web Services 进行云计算,第 5 部分 用 SimpleDB 在云中处理数据集

用 Amazon Web Services 进行云计算,第 5 部分 用 SimpleDB 在云中处理数据集

用 Amazon Web Services 进行云计算,第 5 部分  用 SimpleDB 在云中处理数据集
用 Amazon Web Services 进行云计算,第 5 部分  用 SimpleDB 在云中处理数据集

用 Amazon Web Services 进行云计算,第5 部分: 用 SimpleDB 在云中处理数据集

Prabhakar Chaganti, CTO, Ylastic, LLC

简介:学习基本的 Amazon SimpleDB (SDB) 概念,研究 boto(一个用于与 SDB 交互的开放源码 Python 库)提供的一些功能。在这个“用 Amazon Web Services 进行云计算”系列中,学习如何使用 Amazon Web Services 进行云计算。了解这些服务如何为设计和构建可伸缩、可靠的应用程序提供一种可选方案。在本文中,学习一些基本概念和 boto 提供的一些功能。

Amazon SimpleDB

Amazon SDB 是一个快速的可伸缩实时数据集索引和查询框架,基于 Amazon Web Services 的应用程序可以用它轻松地存储和获取结构化数据。它能够与其他Amazon Web Services 很好地协作,比如 Elastic Compute Cloud (EC2) 和Simple Storage Service (S3)。可以使用 SDB 在 Amazon Web Services 环境中构建完整的应用程序组合。只需根据使用量为服务付费。还提供一定的免费使用量。

IBM 和Amazon Web Services

IBM 和 AWS 合作支持在虚拟计算环境中访问 IBM 软件。Amazon EC2 允许用户评估和使用这些软件,而不需要在自己的系统上安装它们。用户可以随时调整计算能力,从而在可靠的高性能环境中构建企业级应用程序。用户只需按照使用的时间和能力付费。IBM 在 EC2 上提供软件包括:

?DB2 Express-C 9.5

?Informix Dynamic Server Developer Edition 11.5

?WebSphere Portal Server and Lotus Web Content Management Standard Edition

?WebSphere sMash

它们是生产级代码,启用了所有特性和选项。在developerWorks 云计算空间上可以找到这些产品的更多信息并下载 Amazon Machine Images。

在 developerWorks 上的云计算空间中可以找到关于云计算的更多参考资料。SDB 提供的特性包括:

可靠性

SDB 跨多个数据中心冗余地存储带索引的数据,保证它们随时可用。

速度

SDB 能够快速地获取数据,尤其是在Amazon Web Services 环境中从EC2 实例发出请求时。

简单性

访问和使用SDB 的编程模型非常简单,而且可以从多种编程语言使用SDB。

安全性

SDB 提供很高的安全水平。只允许授权的用户访问数据。

灵活性

SDB 支持动态地存储数据,不需要预先定义的模式。

低成本

SDB 的费用非常低廉。只需根据实际使用量付费。

下面讨论支撑 SDB 的概念。

域是存储结构化数据和运行查询的容器。在域中存储的数据称为条目。从概念上说,域与电子表格中的工作单标签相似;条目与电子表格中的行相似。可以对域运行查询,但是当前的 SDB 版本还不支持跨域查询。

每个域与下面的元数据相关联:

?最后一次更新元数据的日期和时间

?域中条目的数量

?域中属性名-值对的数量

?域中独特属性名的数量

?域中所有条目名的总大小(字节数)

?域中所有属性值的总大小(字节数)

?域中所有独特属性名的总大小(字节数)

与 Simple Queue Service (SQS) 一样,SDB 也采用“最终一致性”模型。SDB 维护每个域的多个拷贝,从而提供容错能力。对域的每个修改都会传播到所有拷贝。

Amazon CTO Werner Vogels 在他的博客上讨论了最终一致性概念背后的原理。

根据系统负载和网络延时不同,这个操作有时候要花费几秒时间,所以域的消费者可能无法立即看到修改。修改最终会传播到整个SDB,但是在设计基于SDB 的应用程序时一定要考虑到传播延时的影响。

条目

条目代表域中的对象,它们包含属性和值。从概念上说,条目与电子表格中的行相似—属性是列,值是单元格。属性可以包含多个值。无论数据结构是什么样的,SDB 都会自动地为域编制索引。

SDB 还对针对域执行的查询有时间限制。如果查询花费的时间超过 5 秒,SDB 就会停止查询并返回一个错误。

SDB 中的域很灵活,没有任何固定的模式。域中的每个条目可以包含一组独特的属性(不超过 256 个)。属性甚至可以与域中其他条目的所有其他属性完全不同。

限制

当前的 SDB 版本有一些限制,在设计应用程序时应该考虑到这些限制。表 1 给出这些限制(取自 Amazon 的最新文档)。

表1. 当前限制

SDB 入门

要想开始使用 SDB,首先需要注册一个 Amazon Web Services 账户(见参考资料)。本系列的第 2 部分详细介绍了如何注册 Amazon Web Services 账户。创建 Amazon Web Services 账户之后,必须为账户启用 Amazon SDB 服务:

1.登录Amazon Web Services 账户。

2.导航到SDB 主页。

3.单击页面右边的Sign Up For This Web Service。

4.提供必需的信息并完成注册过程。

与任何 Amazon Web Services 的所有通信都要通过 SOAP 接口或查询接口。在本文中,通过一个第三方库使用查询接口与 SDB 通信。

需要获得自己的访问键,可以通过在Web Services 帐户信息页面上选择View Access Key Identifiers获得访问键。现在设置了 Amazon Web Services 并为账户启用了 SDB 服务。

与 SDB 交互

这个示例使用第三方开放源码Python库boto,通过在 Python shell 中运行代码片段熟悉 SDB。

安装 boto 并设置环境

下载boto。撰写本文时的最新版本是 1.6b。把存档文件解压到您选择的目录中。进入此目录并运行 setup.py 把 boto 安装到本地 Python 环境中,见清单 1。

清单1. 安装boto

$ cd directory_where_you_unzipped_boto

$ python setup.py install

设置一些环境变量,引用 Amazon Web Services 访问键。可以从Web Services 帐户信息页面获得访问键。

清单2. 设置环境变量

# Export variables with your AWS access keys

$ export AWS_ACCESS_KEY_ID=Your_AWS_Access_Key_ID

$ export

AWS_SECRET_ACCESS_KEY=Your_AWS_Secret_Access_Key

启动 Python shell 并导入 boto 库,从而确认所有设置都是正确的,见清单 3。清单3. 检查设置

$ python

Python 2.4.5 (#1, Apr 12 2008, 02:18:19)

[GCC 4.0.1 (Apple Computer, Inc. build 5367)] on darwin

Type "help", "copyright", "credits" or "license" for

more information.

>>> import boto

>>>

用 boto 体验 SDB

使用 SDBConnection 类提供与 SDB 交互的主要接口。从 Python 控制台使用boto。示例调用 SDBConnection 对象上的不同方法,然后查看 SDB 返回的响应,这有助于熟悉 API 和体验 SDB 概念。

第一步是使用前面导出到环境中的 Amazon Web Services 访问键,创建一个连接到 SDB 的连接对象。boto 库总是先检查是否设置了这些环境变量。如果设置了这些变量,boto 在创建连接时自动地使用它们。

清单4. 创建到SDB 的连接

>>> import boto

>>> sdb_conn = boto.connect_sdb()

>>>

然后,可以使用上面创建的 sdb_conn 对象与 SDB 交互。可以通过指定域名创建新的域。

清单5. 创建域

>>> d1 = sdb_conn.create_domain('devworks-dom-1')

>>>

获取所有域的列表,这返回一个结果集对象,它实际上是一个 Python 列表,见清单 6。可以循环遍历这个列表并访问每个域的所有相关信息。

清单6. 列出所有域

>>> all_domains = sdb_conn.get_all_domains()

>>>

>>> len(all_domains)

1

>>>

>>> for d in all_domains:

... print https://www.sodocs.net/doc/0915838359.html,

...

devworks-dom-1

还可以按名称获取单一域。

清单7. 列出单一域

>>> my_domain = sdb_conn.get_domain('devworks-dom-1')

>>>

>>> print my_https://www.sodocs.net/doc/0915838359.html,

devworks-dom-1

当然,在添加条目之前,刚创建的域是空的。在域中创建一个新条目,然后在其中添加属性。

清单8. 创建新条目

>>> my_domain = sdb_conn.get_domain('devworks-dom-1')

>>>

>>> i1 = my_domain.new_item('test_item_1')

>>>

>>> i1['cars'] = 'BMW'

>>>

>>> i1['fruits'] = ['apple', 'orange', 'mango']

>>>

可以通过指定条目名从域中获取条目。条目名必须是惟一的,这与关系数据库中的主键概念相似。

清单9. 获取条目及其属性

>>> my_item = my_domain.get_item('test_item_1')

>>>

>>> print my_item

{u'cars': u'BMW', u'fruits': [u'apple', u'mango',

u'orange']}

>>>

返回的条目对象是一个动态的 Item 对象。在访问任何属性时,它会自动地从SDB 获取条目的所有属性。对条目属性值的任何更新会自动保存到 SDB 中。

清单10. 更新属性

>>> my_item['cars']

u'BMW'

>>>

>>> my_item['cars'] = 'Honda'

>>>

>>> my_item['cars']

'Honda'

>>>

还可以通过使用 SDBConnection 类并指定域和条目名来获取条目和属性。

清单11. 使用SDBConnection获取条目

>>>

>>>

sdb_conn.get_attributes('devworks-dom-1','test_item_1')

{u'cars': u'Honda', u'fruits': [u'apple', u'mango',

u'orange']}

>>>

如果一个条目没有任何属性,SDB 就会自动删除它。还可以显式地删除条目及其属性。

清单12. 删除条目及其属性

>>>

sdb_conn.get_attributes('devworks-dom-1','test_item_1')

{u'cars': u'Honda', u'fruits': [u'apple', u'mango',

u'orange']}

>>>

>>>

sdb_conn.delete_attributes('devworks-dom-1','test_item_1')

True

>>>

sdb_conn.get_attributes('devworks-dom-1','test_item_1')

{}

>>>

清单13. 删除域

>>> sdb_conn.delete_domain('devworks-dom-1')

True

>>>

查询 SDB 域

SDB 提供一种用于搜索结构化数据的定制查询语言,可以查询与条目相关联的属性名-值对。查询表达式的基本组成部分称为谓词。每个谓词由方括号限定,其中包含属性、比较操作符和要比较的值。例如,谓词 ['desc' = 'Hello Devworks'] 定义针对 desc 属性的相等比较。每个谓词单独计算并产生一组条目名。可以使用 union 和 intersection 等集操作符组合多个谓词,从而构建复杂的查询。

在查询中使用谓词时,一定要考虑到 SDB 按照词典次序执行所有谓词比较。必须确保数据以适当的字符串形式存储在属性中。注意,如果查询花费的时间超过

5 秒,SDB 就会自动终止它。

清单14. 创建一些测试数据

>>> d2 = sdb_conn.create_domain('devworks-dom-2')

>>>

>>> i1 = d2.new_item('car1')

>>>

>>> i1['make']= 'BMW'

>>> i1['color']='grey'

>>> i1['year']='2008'

>>> i1['desc']='Sedan'

>>> i1['model']='530i'

>>>

>>> i2 = d2.new_item('car2')

>>>

>>> i2['make']= 'BMW'

>>> i2['color']='white'

>>> i2['year']='2007'

>>> i2['desc']='Sports Utility Vehicle'

>>> i2['model']='X5'

>>>

清单15. 包含一个谓词的查询

>>> rs = d2.query("['make' = 'BMW']")

>>> for result in rs:

... print https://www.sodocs.net/doc/0915838359.html,

...

car1

car2

>>>

清单16. 包含多个谓词的查询

>>> rs = d2.query("['make' = 'BMW'] intersection

['year' = '2007']")

>>> for result in rs:

... print https://www.sodocs.net/doc/0915838359.html,

...

car2

>>>

这种查询语言支持多种比较操作符。它允许执行范围查询和多值属性查询。强烈建议您阅读 Amazon Web Services 提供的介绍查询语言的文章,了解它提供的所有功能及创建和调整查询的最佳实践。

还可以获取域的元数据,从而了解域中的条目总数等信息。

清单17. 域的元数据

>>> my_domain = sdb_conn.get_domain('devworks-dom-2')

>>>

>>> my_metadata = my_domain.get_metadata()

>>>

>>> print my_metadata.item_count

2

>>> print my_metadata.item_names_size

8

>>> print my_metadata.attr_value_count

10

>>> print my_metadata.attr_names_size

22

>>> print my_metadata.attr_values_size

56

>>> print my_metadata.timestamp

1231798889

>>>

结束语

本文介绍了 Amazon 的 SDB 服务。您学习了一些基本概念和 boto(一个用于与SDB 交互的开放源码 Python 库)提供的一些功能。

参考资料

学习

?通过developerWorks 云计算空间了解云计算的重要性、如何入门及更多信息。

?阅读这个“用Amazon Web Services 进行云计算”系列的其他部分:

o第1 部分“简介:选择租用而不是购买”

o第2 部分“用Amazon Simple Storage Service (S3) 在云中存储数据”

o第3 部分“用EC2 根据需要提供服务器”

o第4 部分“用SQS 进行可靠的消息传递”

?了解各种Amazon Web Services 的相关信息:

o Amazon Simple Storage Service (S3)

o Amazon Elastic Compute Cloud (EC2)

o Amazon Simple Queue Service (SQS)

o Amazon SimpleDB (SDB)

o Service Health Dashboard由Amazon 团队负责更新,提供每个服务的当前状态。

o博客及时提供Amazon Web Services 的最新动态。

?注册一个Amazon Web Services 账户。

?Amazon Web Services Developer Connection提供开发人员需要的所有参考资料。

?SDB 技术资源向开发人员提供技术文档、用户指南和其他参考资料。

?Amazon SimpleDB 开发人员指南提供SDB 服务的各个组件的相关信息,以及高级使用方法和配置。

?阅读教程“Query 101: Building Amazon SimpleDB Queries”,通过大量实践示例了解如何构造Amazon SimpleDB 查询。

?阅读教程“Query 201: Tips & Tricks for Amazon SimpleDB Query”,学习如何构造高效的查询,包括查询日期和优化查询的性能。

?使用Simple Monthly Calculator工具计算SDB 和其他Amazon Web Services 的每月使用费用。

获得产品和技术

?在Amazon Elastic Compute Cloud (EC2) 虚拟环境中访问IBM 软件产品,马上开始开发应用程序。

讨论

?参与developerWorks blogs并加入developerWorks 社区。

关于作者

Prabhakar Chaganti 是Ylastic 的CTO,这家创业公司正在构建一个对用户的整个

AWS 云计算环境(EC2、S3、SQS 和SimpleDB)进行体系结构设计、管理和监视的统一界面。他是两本新书Xen Virtualization和GWT Java AJAX Programming的作者。他还在VMware Global Virtual Appliance Challenge 上获得了社区评选的最具创意Virtual Appliance 奖。

亚马逊的弹性计算云

云计算实例分析:亚马逊的弹性计算云 第1页:开放的服务 亚马逊是互联网上最大的在线零售商,但是同时也为独立开发人员以及开发商提供云计算服务平台。亚马逊将他们的云计算平台称为弹性计算云(ElasticComputeCloud,EC2),它是最早提供远程云计算平台服务的公司。 开放的服务 与Google提供的云计算服务不同,Google仅为自己在互联网上的应用提供云计算平台,独立开发商或者开发人员无法在这个平台上工作,因此只能转而通过开源的Hadoop软件支持来开发云计算应用。亚马逊的弹性计算云服务也和IBM 的云计算服务平台不一样,亚马逊不销售物理的云计算服务平台,没有类似于“蓝云”一样的计算平台。亚马逊将自己的弹性计算云建立在公司内部的大规模集群计算的平台之上,而用户可以通过弹性计算云的网络界面去操作在云计算平台上运行的各个实例(Instance),而付费方式则由用户的使用状况决定,即用户仅需要为自己所使用的计算平台实例付费,运行结束后计费也随之结束。 弹性计算云从沿革上来看,并不是亚马逊公司推出的第一项这种服务,它由名为亚马逊网络服务的现有平台发展而来。早在2006年3月,亚马逊就发布了简单存储服务(SimpleStorageService,S3),这种存储服务按照每个月类似租金的形式进行服务付费,同时用户还需要为相应的网络流量进行付费。亚马逊网络服务平台使用REST(RepresentationalStateTransfer)和简单对象访问协议(SOAP)等标准接口,用户可以通过这些接口访问到相应的存储服务。 2007年7月,亚马逊公司推出了简单队列服务(SimpleQueueService,SQS),这项服务使托管主机可以存储计算机之间发送的消息。通过这一项服务,应用程序编写人员可以在分布式程序之间进行数据传递,而无须考虑消息丢失的问题。通过这种服务方式,即使消息的接收方还没有模块启动也没有关系。服务内部会缓存相应的消息,而一旦有消息接收组件被启动运行,则队列服务将消息提交给相应的运行模块进行处理。同样的,用户必须为这种消息传递服务进行付费使用,计费的规则与存储计费规则类似,依据消息的个数以及消息传递的大小进行收费。 在亚马逊提供上述服务的时候,并没有从头开始开发相应的网络服务组件,

亚马逊云服务收费明细

亚马逊云服务收费明细 亚马逊的云服务已经商业化运营多年,它的价格水平和价格结构会根据市场反映和自身期望不断进行调整,从它现在不断增加的客户数量来看,亚马逊云服务的价格是为市场所认可的。 亚马逊的云计算服务品牌是AWS(Amazon Web Sevices),其中包含了众多的细分产品服务,满足不同用户的需求,“计算能力”服务是其中最主要的细分服务,它向用户提供伸缩性强高性能的计算能力,满足用户的数据计算和数据吞吐需求。“计算能力”服务包括Elastic Computer Cloud (EC2)、Amazon Elastic MapReduce、Auto Scaling。媒体文章上所说的亚马逊云服务主要是指EC2。 亚马逊的EC2数据中心在全球共有5个。美国有两个,分别是东部的弗吉尼亚和西部的北加利福尼亚。欧洲有一个,在爱尔兰。亚太地区还有两个,分别在东京和新加坡。EC2服务的价格幅度因云计算数据中心所处地区不同会有差别,其中以东京的最贵,新加坡的最便宜。 EC2服务的报价分四个方面:计算实例、数据传输、存储、其他增值服务。前三类构成了IaaS的主要内容,相当于客户IT部门的服务器、带宽接入和存储网络。 计算实例 所谓计算实例,是指亚马逊定义的“逻辑上的计算机”。客户租用这样一台“逻辑上的计算机”,也就可以使用这台计算机上标称配置的计算资源,包括CPU、内存、硬盘、I/O 总线等。 亚马逊提供了11款不同配置的“逻辑上的计算机”,即计算实例,供客户挑选租用,按照不同配置有不同的租金。以下列举的是其中三种有代表性的计算实例:

表格1 三款有代表性的亚马逊EC2计算实例配置 另外,根据租用方式不同,同一款配置的租金也会有很大差别。亚马逊向客户提供三种租用方式:按需租用、预留租用、现场租用。 按需租用(On-Demand),客户完全依据租用的时间就交纳使用金,以每小时为一个计价单位,除此之外没有其他费用。这种租用方式适合需要频繁调整计算资源规模的客户。采用这种方式,客户可以不必过多考虑头疼的IT资源购置计划,将一次性购买的大块费用拆散成为多次购买的零散费用。 预留租用(Reserved),客户另付一笔预留金并承诺使用1年或者3年EC2服务,在承诺使用EC2服务的期间,依据租用的时间就交纳相对低廉的使用金,使用金只有“按需租用”方式的45%,同样以每小时为一个计价单位。 现场租用(Spot)。这种租用方式是针对亚马逊的闲置计算资源设计的,在价格的设置上比较有意思。这种方式下并没有固定的租用价格,亚马逊会根据目前资源的充足情况以及客户需求的强烈程度设定一个“现场价格”,并且随时调整。客户可以根据过往的价格信息以及自身预算给出一个心理价格。如果这个价格高于“现场价格”,客户就可以以这个价格一直租用亚马逊的计算资源,直到“现场价格”上涨超过当前租用价格,或者客户决定不再继续租用。 数据传输 客户租用计算实例的同时,也需要租用EC2的网络连接服务传输数据,该服务按照流量收取费用。使用不同连接线路传输数据,该费用价格会有差异。连接线路分为三种:互联网连接、数据中心之间以及可用性区域之间。 互联网连接的数据传输费用以数据吞吐量(GB)作为计价单位收费,按月结算,这部分占EC2数据传输总收入比重最大。互联网上的大部分服务的上下行流量都是不对等的,下行流量远高于上行流量。对应到EC2的数据吞吐,就是数据传出的流量远高于传入的流量。基于这个情况,亚马逊在数据传输价格上特别做了设计。首先是区分了数据传输是传出还是传入,分别计价,传出的单价要显著高于传入的单价,尽量使销量大的产品同时还能维持着较高的价格,从而提高整体销售的利润率;其次,在数据传出的单价上作了“阶梯价格”的设计,传出数据流量越大,单价越便宜,以鼓励客户多购买数据传输服务;最后,为了培育市场,吸引更多新客户尝试使用EC2服务,低于1GB的数据传出流量是免费的。

亚马逊商业模式分析

亚马逊的商业模式分析 一、亚马逊简介 亚马逊公司(纳斯达克代码:AMZN)是一家“财富500强”公司,总部位于西雅图,成立于1995年7月,目前已成为全球商品种类最多的网上零售商。亚马逊致力于成为全球 最“以客户为中心”的公司,使客户能在公司网站上找到和发现任何他们想在线购买的商品,并努力为客户提供最低的价格。亚马逊和其他卖家提供数百万种独特的全新、翻新及二手商品,类别包括图书、影视、音乐和游戏、数码下载、电子和电脑、家居和园艺用品、玩具、婴幼儿用品、杂货、服饰、鞋类、珠宝、健康和美容用品、体育、户外用品、工具、以及汽车和工业产品等。 亚马逊云计算服务(Amazon Web Services)为亚马逊的开发人员提供基于其自有的后端技术平台的云基础架构服务。开发人员利用该技术平台可以实现几乎所有类型的业务。最新一代Kindle是迄今为止最轻、最便携的Kindle产品,采用最先进的6英寸电子墨水 显示器,即便在强烈的阳光下也能提供如纸质书般的阅读体验。Kindle Touch是Kindle 家族新成员,在兼备最先进的电子墨水技术全部优点的同时,其触摸屏设计让翻页、搜索、购物和记录等功能更加易用。Kindle Touch 3G是最高端的电子阅读器,拥有与Kindle Touch相同的设计和功能,而免费的3G服务则让其具有无可比拟的便捷性。Kindle Fire 是Kindle家族的新成员,支持电影、电视、音乐、书籍、杂志、应用软件、游戏以及网页浏览等多种功能,并可享受亚马逊的免费云存储服务,同时还应用了Whispersync技术、Amazon Silk浏览器(亚马逊最新推出的革命性云加速浏览器),并具备色彩生动的触摸屏和强大的双核处理器。 二、关于亚马逊中国 亚马逊中国(https://www.sodocs.net/doc/0915838359.html,)是全球领先的电子商务公司亚马逊在中国的网站。秉承“以客户为中心”的理念,亚马逊中国承诺“天天低价,正品行货”,致力于从低价、选品、便利三个方面 为消费者打造一个百分百可信赖的网上购物环境。 作为一家在中国处于领先地位的电商,亚马逊中国为消费者提供图书、音乐、影视、手机数码、家电、家居、玩具、健康、美容化妆、钟表首饰、服饰箱包、鞋靴、运动、食品、母婴、户外和休闲等32大类、上千万种的产品,通过“货到付款”等多种支付方式,为中国消费者提供便利、快捷的网购体验。 亚马逊中国拥有业界公认世界一流的运营网络。目前有15个运营中心,主要负责厂商收货、仓储、库存管理、订单发货、调拨发货、客户退货、返厂、商品质量安全等。同时,亚马逊中国还拥有自己的配送队伍和客服中心,为消费者提供便捷的配送及售后服务。

AWS_亚马逊_会议总结

Amazon Web Services 会议总结简要 1AWS服务概览 2AWS存储服务 3AWS计算服务和网络 4AWS管理的服务和数据库 5AWS部署和管理 1 AWS服务概览 ?基本服务 ◆Amazon S3(Simple Storage Service) ◆Amazon EBS(Elastic Block Store) ◆Amazon EC2(Elastic Compute Cloud) ◆Amazon VPC(Virtual Private Cloud) ◆Amazon IAM(Identify and Access Management) ?客户为什么使用AWS ◆敏捷性 ◆平台功能的广度和深度(10区域26可用区52边缘站点) ◆持续的迭代和创想 ◆成本节省和灵活性(以可变费用取代固定资产嵌入规模经济让企业成本更低) ◆帮助中国客户数分钟走向国外(各种定价模式支持变化和稳定的工作负载模型,当 企业的规模增长时有更低的价格)

灵活基础服务架构 ? AWS 针对大企业的更新 ◆ 经验 ◆ 功能广度和深度 ◆ 创新的步伐 ◆ 全球业务 ◆ 价格理念 2 AWS 存储服务 主要选项 Amazon S3(Simple Storage Services)重点介绍 Amazon EBS(Elastic Block Store) Amazon Glacier AWS Storage Gateway AWS Import/Export S3特点 适用于换联网的存储服务本地联机 HTTP 访问 随时随地从WEB 存储和检索任意量的数据 高耐久 高扩展 可靠 快速 客户 更多的使用 应基础设 价格

如何使用亚马逊IOT云平台

Overview The AWS IoT device SDK for embedded C is a collection of C source files which can be used in embedded applications to securely connect to the AWS IoT platform. It includes transport clients MQTT, TLS implementations and examples for their use. It also supports AWS IoT specific features such as Thing Shadow. It is distributed in source form and intended to be built into customer firmware along with application code, other libraries and RTOS. For additional information about porting the Device SDK for embedded C onto additional platforms please refer to the PortingGuide. Features The Device SDK simplifies access to the Pub/Sub functionality of the AWS IoT broker via MQTT and provide APIs to interact with Thing Shadows. The SDK has been tested to work with the AWS IoT platform to ensure best interoperability of a device with the AWS IoT platform. MQTT Connection The Device SDK provides functionality to create and maintain a mutually authenticated TLS connection over which it runs MQTT. This connection is used for any further publish operations and allow for subscribing to MQTT topics which will call a configurable callback function when these topics are received. Thing Shadow The Device SDK implements the specific protocol for Thing Shadows to retrieve, update and delete Thing Shadows adhering to the protocol that is implemented to ensure correct versioning and support for client tokens. It abstracts the necessary MQTT topic subscriptions by automatically subscribing to and unsubscribing from the reserved topics as needed for each API call. Inbound state change requests are automatically signalled via a configurable callback.

亚马逊云服务价格(中文)

亚马逊云服务的价格策略 亚马逊的云服务已经商业化运营多年,它的价格水平和价格结构会根据市场反映和自身期望不断进行调整,从它现在不断增加的客户数量来看,亚马逊云服务的价格是为市场所认可的。 亚马逊的云计算服务品牌是AWS(Amazon Web Sevices),其中包含了众多的细分产品服务,满足不同用户的需求,“计算能力”服务是其中最主要的细分服务,它向用户提供伸缩性强高性能的计算能力,满足用户的数据计算和数据吞吐需求。“计算能力”服务包括Elastic Computer Cloud (EC2)、Amazon Elastic MapReduce、Auto Scaling。媒体文章上所说的亚马逊云服务主要是指EC2。 亚马逊的EC2数据中心在全球共有5个。美国有两个,分别是东部的弗吉尼亚和西部的北加利福尼亚。欧洲有一个,在爱尔兰。亚太地区还有两个,分别在东京和新加坡。EC2服务的价格幅度因云计算数据中心所处地区不同会有差别,其中以东京的最贵,新加坡的最便宜。 EC2服务的报价分四个方面:计算实例、数据传输、存储、其他增值服务。前三类构成了IaaS的主要内容,相当于客户IT部门的服务器、带宽接入和存储网络。 计算实例 所谓计算实例,是指亚马逊定义的“逻辑上的计算机”。客户租用这样一台“逻辑上的计算机”,也就可以使用这台计算机上标称配置的计算资源,包括CPU、内存、硬盘、I/O 总线等。 亚马逊提供了11款不同配置的“逻辑上的计算机”,即计算实例,供客户挑选租用,按照不同配置有不同的租金。以下列举的是其中三种有代表性的计算实例:

表格1 三款有代表性的亚马逊EC2计算实例配置 另外,根据租用方式不同,同一款配置的租金也会有很大差别。亚马逊向客户提供三种租用方式:按需租用、预留租用、现场租用。 按需租用(On-Demand),客户完全依据租用的时间就交纳使用金,以每小时为一个计价单位,除此之外没有其他费用。这种租用方式适合需要频繁调整计算资源规模的客户。采用这种方式,客户可以不必过多考虑头疼的IT资源购置计划,将一次性购买的大块费用拆散成为多次购买的零散费用。 预留租用(Reserved),客户另付一笔预留金并承诺使用1年或者3年EC2服务,在承诺使用EC2服务的期间,依据租用的时间就交纳相对低廉的使用金,使用金只有“按需租用”方式的45%,同样以每小时为一个计价单位。 现场租用(Spot)。这种租用方式是针对亚马逊的闲置计算资源设计的,在价格的设置上比较有意思。这种方式下并没有固定的租用价格,亚马逊会根据目前资源的充足情况以及客户需求的强烈程度设定一个“现场价格”,并且随时调整。客户可以根据过往的价格信息以及自身预算给出一个心理价格。如果这个价格高于“现场价格”,客户就可以以这个价格一直租用亚马逊的计算资源,直到“现场价格”上涨超过当前租用价格,或者客户决定不再继续租用。 数据传输 客户租用计算实例的同时,也需要租用EC2的网络连接服务传输数据,该服务按照流量收取费用。使用不同连接线路传输数据,该费用价格会有差异。连接线路分为三种:互联网连接、数据中心之间以及可用性区域之间。 互联网连接的数据传输费用以数据吞吐量(GB)作为计价单位收费,按月结算,这部分占EC2数据传输总收入比重最大。互联网上的大部分服务的上下行流量都是不对等的,下行流量远高于上行流量。对应到EC2的数据吞吐,就是数据传出的流量远高于传入的流量。基于这个情况,亚马逊在数据传输价格上特别做了设计。首先是区分了数据传输是传出还是传入,分别计价,传出的单价要显著高于传入的单价,尽量使销量大的产品同时还能维持着较高的价格,从而提高整体销售的利润率;其次,在数据传出的单价上作了“阶梯价格”的设计,传出数据流量越大,单价越便宜,以鼓励客户多购买数据传输服务;最后,为了培育市场,吸引更多新客户尝试使用EC2服务,低于1GB的数据传出流量是免费的。

国内外知名的云计算平台简介 .doc

国内外知名的云计算平台简介 中国互联网也已经发展十几年,很多用户都已经将自己的服务部署在国内平台之上,随着云计算的到来,不少用户希望将服务构建在诸如新浪和阿里巴巴等平台之上。 对于国内外云计算在发展方面的差异,以及当前国内外云计算发展的现状,盛大云弹性计算部副总监杜海给出了简单的解释,他认为差异化主要表现在两个方面:1、国内外云计算市场的成熟程度不同;2、用户对云计算和云产品的认知和使用存在差异。 新浪云计算首席架构师丛磊认为,国内外云计算的发展模式大同小异,都是从探索到最终走向成熟。丛磊将云计算的发展分为了初级、中级和高级阶段。目前国外的Iaas平台更加成熟,云平台已经进入到了正轨,而且是走在了商业化的前面,应该说属于中期阶段。国外的创业者一开始创业就会想到使用亚马逊的平台,足以证明这个平台的完善性和较高的用户接受度。 国内的云计算发展正处在一个逐步完善、走向商业化的成长阶段,算是初级阶段。距离完全商业化运营的高级阶段还有一定的时间距离。当前要做的事情就是联合业界的平台商共同推动行业的发展,而不是各自为政,只有行业足够大,大家才能够有更多的利润空间。阿里云计算业务总经理陈金培认为,目前国外真正大规模商用的云计算平台就是亚马逊,谷歌云服务还不成规模。云服务模式上没有本质的差别,阿里云和亚马逊都是采用互联网服务模式,用户只要登录互联网就可以选择并接入云服务。另外根据用户习惯的不同以及本

地带宽和基础设施的差异,平台的计费模式会略有不同。 就阿里云而言,和国外的亚马逊云平台最大的不同就是技术模式上的不同,立足本地化,全方位的满足中国用户的实际需求。[page] 百体国际健康机构CTO李博:目前国内各个云平台都在起步阶段IT培训。差异虽然有,但是不大。同时他也认为无论方向如何,首先重视开发者、团队整体技术能力强是最重要的。对于国内云计算平台的发展,除非政策改变,否则国外云平台在国内完全没有竞争力。作为用户来讲,也想用强大的Amazon,但是我们的网速、我们的各种条条框框,IT培训机构使这个梦想完全变成了只是梦想。 对比国内和国外的云计算平台服务的差异,百体国际健康机构CTO 李博认为:目前除了国内云平台在速度上和政策上有优势外,在本质上完全没有可比性。与Amazon这样的巨头相比,我们落后得不是一点半点。 够快网络蒋烁淼表示:国内云平台各自差异还是比较大的,其中阿里是专心的做云计算平台,而盛大除了做云计算平台之外,还自己开发了很多的产品。阿里云是从他们底层的分布式操作系统飞天衍化而来,而盛大可能是学习美国Amazon部署的。目前国内云计算的不足之处是一方面产品还有很大的改善和提升的空间,另一方面计费的方式方法还比如国外的更灵活,更弹性。 在谈到国内外云平台的优劣时,够快网络蒋烁淼表示:国外云平台最大的问题可能还是带宽以及成本方面,目前看国外的云平台如

Google云计算与Amazon云计算对比

Amazon 与Google 云计算 1. Amazon 1.1.基础架构和服务 客户请求 网页渲染组件 …… 聚集服务 Dynamo 实例其他数据存储 图1 面向服务的Amazon 平台架构 图1显示了Amazon 平台的抽象架构,动态网页的内容是由页面呈现组件生成,该组件进而查询许多其他服务。一个服务可以使用不同的数据存储来管理其状态,这些数据存储仅在其服务范围才能访问。有些服务作为聚合器使用其他一些服务,可产生合成(composite)响应。通常情况下,聚合服务是无状态,虽然他们利用广泛的缓存。 从图1中可知,Dynamo 是Amazon 云计算平台中处于最底层的存储架构,不直接向公众提供服务,但是为整个平台及服务提供最基础的支持。S3就是建立在Dynamo 之上,SimpleDB 也极有可能使用或者借鉴了Dynamo 技术。 Amazon 以Web 服务的形式将云计算产品提供给用户。Amazon Web Services

(AWS)是这些服务的总称。目前AWS提供的服务产品如表1所示。 Amazon EC2属于IaaS(基础设施即服务)。EC2使用Xen虚拟化技术。每个虚拟机,又称作实例,能够运行小、大、极大三种能力的虚拟私有服务器。Amazon利用EC2 Compute Units去分配硬件资源。 EC2简言之。他完全是一部具有无限采集能力的虚拟计算机,用户能够用来执行一些处理任务。然而“无限”并不不意味“无边际”,相反,他是具有上限的。亚马逊的文献阐明,你能同时租用“上百,甚至数以万计”虚拟机。 2.Google GAE 由于发布S3和EC2这两个优秀的云服务,使得Amazon已经率先在云计算市场站稳了脚跟,而身为云计算这个浪潮的发起者之一的Google肯定不甘示弱,并在2008年四月份推出了Google App Engine这项PaaS服务,虽然现在无法称其为一个革命性的产品,但肯定是现在市面上最成熟,并且功能最全面的PaaS

亚马逊AWS的云计算服务有哪些优势

亚马逊AWS的云计算服务有哪些优势 亚马逊AWS作为云计算服务的领军者,AWS对SaaS解决方案的设计提供了一些云计算服务最佳实践。 亚马逊AWS的云计算服务第一个云计算服务最佳实践就是将平台化的功能隔离出来,SaaS产品的更新速度是非常快的,但是我们仍然能够总结出一些核心的功能是基本不变或者能够在很多其他新的产品模块中重用的。我们要将这部分功能分离出来进行平台化改造以服务于更多的其它功能,将这些功能平台化以后也会降低整个系统的耦合性从而支撑更多的SaaS应用的功能。对通用功能的平台服务隔离可以更好的调优和独立扩展,同时重用核心服务并结合应用框架的使用会极大提升应用开发的效率。 亚马逊AWS的云计算服务第二个最佳实践是优化成本和性能,在传统的技术架构下这两者之间往往需要进行一定的平衡,而在AWS云的架构下的SaaS服务云模式下往往可以实现鱼与熊掌兼得。在每个架构层次实现弹性的横向扩展可以让我们实现按使用量付费的模式,而不需要为了获得强大的性能而提前付出大量的资源成本,同时我们在SaaS的AWS架构下可以使用更小的、平行的资源单位进行扩展,从而更为贴近SaaS环境下的实际资源需求,在合适的场景下尽可能的采用完全由AWS托管的服务(比如Amazon DynamoDB等)来降低SaaS合作伙伴的运维成本并提升效率。 亚马逊AWS的云计算服务第三个最佳实践是针对SaaS解决方案设计的。云计算服务,首先对于多租户的设计要针对SaaS应用自身的特点来进行规划,总体的设计原则是系统会有多个帐号,而一个帐号会对应多个用户,一个用户又会对应多个角色;其次是对于系统处理各种请求时要按照优先级进行分级管理,在通过使用AWS各种服务如SQS、SWF等对系统进行解偶后,对AWS 资源集约使用的前提下,对请求分优先级处理会极大提升SaaS架构的处理能力和稳定性;接下

相关主题