今天注册了Amazon AWS账户,还被扣了1美元,觉得有必要了解一下它提供的各种服务。在IBM developerworks找到了一篇文章——原文链接,摘过来涨涨知识。另外这是一系列文章,系列地址
Amazon Web Services 是一组服务,它们允许通过程序访问 Amazon 的计算基础设施。Amazon 多年来一直在构建和调整这个健壮的计算平台,现在任何能够访问 Internet 的人都可以使用它。Amazon 提供几个 Web 服务,但是本系列只关注满足大多数系统的核心需求的基本服务:存储、计算、消息传递和数据集。
通过在 Amazon 提供的可靠且经济有效的服务上构建功能,可以实现复杂的企业应用程序。这些 Web 服务本身驻留在您的环境之外的云中,具备极高的可用性。只需根据使用的资源付费,不需要提前付费。因为硬件由 Amazon 维护和服务,所以您也不需要承担维护费用。
这个虚拟的基础设施大大降低了当今 Web 环境中的 “贫富差异”。您可以在几分钟内快速地获得一个基础设施,而这在真实的 IT 工作室中可能会花费几周时间。要点在于这个基础设施是弹性的,可以根据需求扩展和收缩。世界各地的公司都可以使用这个弹性的计算基础设施(见边栏)。
公司不再需要承担高额的基础设施投资和维护成本,这为创新提供了更大的机会。现在,您可以把注意力集中在业务思想上,而不需要为服务器操心,不需要担心磁盘空间不足等问题。根据 Amazon 的估计,企业把大约 70% 的时间花在构建和维护基础设施上,在推动企业发展的思想上实际上只花费 30% 的时间。Amazon 会处理与硬件和基础设施相关的繁琐工作,并确保其高可用性,您只需关注如何把您的思想变成现实。
下面是这个全 Web 范围的基础设施的主要元素,它们提供几乎所有应用程序最常用的构建块:
[存储](http://www.ibm.com/developerworks/cn/web/ar-cloudaws1/#Storage with Amazon S3)
所有应用程序都需要存储文件、文档、用户下载或备份。可以把应用程序需要的任何东西存储在 Amazon Simple Storage Service (S3) 中,从而实现可伸缩、可靠、高可用、低成本的存储。
[计算](http://www.ibm.com/developerworks/cn/web/ar-cloudaws1/#Elastic computing with Amazon EC2)
Amazon Elastic Compute Cloud (EC2) 能够根据需要扩展或收缩计算资源,非常方便地提供新的服务器实例。
[消息传递](http://www.ibm.com/developerworks/cn/web/ar-cloudaws1/#Reliable messaging with Amazon Simple Queue Service)
Amazon Simple Queue Service (SQS) 提供不受限制的可靠的消息传递,可以使用它消除应用程序组件之间的耦合。
[数据集](http://www.ibm.com/developerworks/cn/web/ar-cloudaws1/#Dataset processing with Amazon SimpleDB)
Amazon SimpleDB (SDB) 提供可伸缩、包含索引且无需维护的数据集存储,以及处理和查询功能。
可以根据需要结合使用这些服务;它们能够很好地相互协作。因为这些服务在 Amazon 环境中运行,它们之间的所有通信通常非常快。
企业家可以利用这个虚拟基础设施构建可伸缩且可靠的应用程序,与传统的应用程序主机托管平台相比可以大大降低成本,因为为了应对服务量的波动和高峰,主机托管平台需要大量服务器。它还提供很高的冗余水平。
Amazon Web Services 的用户可以使用两个支持级别:
基于免费论坛的支持,由监视 Amazon 论坛的 Amazon 人员提供这种支持。
付费的支持包,提供一对一和电话支持,这是更慎重的求助方法。
Amazon 在一个所有人都可访问的 指示板 上公布所有 Web 服务的健康状态;当服务出现任何问题时,都会更新这个指示板。在任何服务停止运行期间,Amazon Web Services 团队会每隔 15-30 分钟发布更新信息,直到问题被解决。
Amazon 为与每个服务进行交互提供了基于标准的 SOAP 和 REST 接口。Amazon 和第三方提供多种语言的开发人员库,包括 Ruby、Python、Java™、Erlang 和 PHP,可以使用这些库与服务通信。还可以使用命令行工具管理 EC2 上的计算资源。REST 接口很容易使用;可以用任何编程语言编写客户机,通过 HTTP 向 Web 服务发出请求。
用 S3 进行存储
Amazon Simple Storage Service (S3) 提供一个用于数据存储和获取的 Web 服务接口。数据可以是任何类型的,可以从 Internet 上的任何地方存储和访问数据。可以在 S3 中存储任意数量的对象;存储的每个对象的大小可以从 1 字节到 5 GB。存储本身位于美国或欧盟。在创建 bucket(与操作系统中的文件夹概念相似)时,可以选择对象的存储位置。使用与 Amazon 电子商务网站的全球网络相同的数据存储基础设施存储数据,确保安全性。
对于存储在 S3 中的每个对象,可以指定访问限制,可以用简单的 HTTP 请求访问对象。甚至可以让对象可通过 BitTorrent 协议下载。
S3 让用户完全不必为存储空间、数据访问或数据安全性操心。甚至不必承担维护存储服务器的成本。
Amazon 确保您的文件的高可用性,在任何时候都可以使用它们。Amazon 为 S3 提供的服务水平协议承诺 99.9% 的正常运行时间,每月度量一次。
用 EC2 实现弹性计算
Amazon EC2 是一个 Web 服务,它让用户可以在几分钟内获得虚拟机器,根据需要轻松地扩展或收缩计算能力。您只需为实际使用的计算时间付费。如果需要增加计算能力,可以快速地启动虚拟实例;当需求下降时,可以马上终止它们。
这些实例基于 Linux®,可以运行您需要的任何应用程序或软件。您可以控制每个实例。EC2 环境本身基于在剑桥大学开发的开放源码的 Xen 系统管理程序。Amazon 允许创建 Amazon 机器映像 (AMI) 作为实例的模板。可以通过指定权限控制对实例的访问。可以用这些实例做任何事;惟一的限制是,它们必须是基于 Linux 的映像。最近,Amazon 宣布与 Sun Microsystems 合作提供 Open Solaris 支持,但是 EC2 可用的大多数免费和商业预构建映像是基于 Linux 的。
Amazon EC2 提供真正全 Web 范围的计算,很容易扩展和收缩计算资源。您可以完全控制在 Amazon 数据中心中运行的这个计算环境。Amazon 提供五种服务器类型;可以选择适合自己应用程序需要的服务器类型。服务器的范围从普通的单核 x86 服务器直到八核 x86_64 服务器。可以把实例放在不同的地理位置或可用性区中,从而确保对抗故障的能力。Amazon 最近还引入了弹性 IP 地址的概念,弹性 IP 地址可以动态地分配给实例。
用 Amazon Simple Queue Service 实现可靠的消息传递
Amazon Simple Queue Service (SQS) 允许访问 Amazon 提供的可靠的消息传递基础设施。可以使用简单的基于 REST 的 HTTP 请求在任何地方发送和接收消息。不需要安装和配置任何东西。可以创建任意数量的队列,发送任意数量的消息。Amazon 把消息存储在多个服务器和数据中心中,从而提供消息传递系统所需的冗余和可靠性。每个消息最多可以包含 8KB 的文本数据。可以在消息中使用的 Unicode 字符只包括 #x9 | #xA | #xD | [#x20 to #xD7FF] | [#xE000 to #xFFFD] | [#x10000 to #x10FFFF]。
每个队列可以有一个可配置的可见性超时周期,用来控制多个读者对队列的访问。一个应用程序从队列中读取一个消息之后,其他读者就看不到这个消息,直到超时周期期满为止。在超时周期期满之后,消息重新出现在队列中,另一个读者进程就可以处理它。
SQS 与其他 Amazon Web Services 很好地集成。可以使用 SQS 构建松散耦合的系统;在这种系统中,EC2 实例可以通过向 SQS 发送消息相互通信并整合工作流。还可以使用队列为应用程序构建一个自愈合、自动扩展的基于 EC2 的基础设施。可以使用 SQS 提供的身份验证机制保护队列中的消息,防止未授权的访问。
用 Amazon SimpleDB 进行数据集处理
Amazon SimpleDB (SDB) 是一个用于存储、处理和查询结构化数据集的 Web 服务。它并不是传统意义上的关系数据库,而是一个高可用的模式,是云中的非结构化数据存储,可以使用它存储和获取包含键的值。每组包含键的值需要一个惟一的条目名;条目本身划分为域。每个条目可以包含最多 256 个键-值对。可以在每个域中对自己的数据集执行查询。SDB 当前还不支持垮域查询。
SDB 便于使用,提供关系数据库的大多数功能。SDB 的维护比典型的数据库简单得多,因为不需要设置或配置任何东西。Amazon 负责所有管理任务。Amazon 自动地为数据编制索引,可以在任何时候任何地方访问索引。不受模式限制的关键优点是,能够动态地插入数据和添加新的列或键。
SDB 是 Amazon 基础设施的组成部分,会在幕后自动地扩展。您可以把注意力放在更重要的方面。同样,只需为实际使用的数据集资源付费。