




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用 Amazon Web Services 进行云计算,第 1 部分: 简介选择租用而不是购买Prabhakar Chaganti, CTO, Ylastic, LLCPrabhakar Chaganti 是 Ylastic 的 CTO,这家创业公司正在构建一个对用户的整个 AWS 云计算环境(EC2、S3、SQS 和 SimpleDB)进行体系结构设计、管理和监视的统一界面。他是两本新书 Xen Virtualization 和 GWT Java AJAX Programming 的作者。他还在 VMware Global Virtual Appliance Challenge 上获得了社区
2、评选的最具创意 Virtual Appliance 奖。简介: 学习基本的 Amazon SimpleDB (SDB 概念,研究 boto(一个用于与 SDB 交互的开放源码 Python 库)提供的一些功能。在这个 “用 Amazon Web Services 进行云计算” 系列中,学习如何使用 Amazon Web Services 进行云计算。了解这些服务如何为设计和构建可伸缩、可靠的应用程序提供一种可选方案。第一篇文章解释虚拟基础设施的构建块的特性。学习如何使用 Amazon Web Services 构建 Web 范围的系统。什么是云计算?云计算(Cloud computi
3、ng)可以粗略地定义为根据需要使用在用户环境之外以服务形式提供的可伸缩计算资源。用户只使用需要的资源,只为使用的资源付费。在任何时候,在 Internet 上的任何地方,都可以访问 “云” 中的任何资源。不需要关心云中的资源在幕后是如何维护的。云计算源于 Internet 或 IP 可用性的技术体系结构图中常常把结构描述为云。云计算在 2007 年受到关注,成为解决水平可扩展性问题的流行解决方案。 云负责提供高可用性并响应您的应用程序的需要。云计算也称为效用计算(utility computing)或网格计算(grid computing)。 云计算影响了我们设计和交付可伸缩应用程序的方式。在
4、过去,公司要花费宝贵的时间和资源构建基础设施,从而提供竞争优势。常常是 “构建它,它们就来了”。在大多数情况下,这种方式有以下缺点: 有相当一部分计算能力未被使用,它们会占用数据中心中的空间。 需要有人照顾服务器。 有相关联的能源成本。未使用的计算能力被浪费了,其他公司或用户可能愿意付费购买多余的计算周期,但是无法实现。 有了云计算,就能够把多余的计算能力销售给客户。这就把计算和 IT 基础设施转换为一种实用工具,就像球场一样,可供所有人使用。这使竞争取决于创新思想而不是计算资源。 应用程序和 IT 系统需要的资源(为了满足日益增长的存储、计算、消息传递和数据库需求)本质上是 “日用品”。可以
5、从价格最优惠、服务最好的卖家那里租用这种基础设施。很简单,不是吗?这是一个简单但革命性的思想,尽管它并不是完全的新概念。它现在之所以成为技术潮流,是因为 Amazon 引入了大范围的云计算环境。 Amazon Web ServicesAmazon Web Services 是一组服务,它们允许通过程序访问 Amazon 的计算基础设施。Amazon 多年来一直在构建和调整这个健壮的计算平台,现在任何能够访问 Internet 的人都可以使用它。Amazon 提供几个 Web 服务,但是本系列只关注满足大多数系统的核心需求的基本服务:存储、计算、消息传递和数据集。 通过在 Amazon 提供的可
6、靠且经济有效的服务上构建功能,可以实现复杂的企业应用程序。这些 Web 服务本身驻留在您的环境之外的云中,具备极高的可用性。只需根据使用的资源付费,不需要提前付费。因为硬件由 Amazon 维护和服务,所以您也不需要承担维护费用。Amazon Web Services 成功案例SmugMug 是一个在线照片存储应用程序,它把超过 0.5 PB 的数据存储在 S3 上,由此节约的服务和存储成本接近 100 万美元。它是 Elastic Compute Cloud (EC2 计算资源的 重要用户,它使用 EC2 应对需求的变化。37Signals 是流行的在线项目管理软件 Basecamp 的开发
7、商,它使用 S3 满足存储需求。纽约时报展现了 EC2 的强大能力,它在 36 小时内使用数百个 EC2 实例处理了数 TB 的存档数据。Animoto 是一个在线视频生成程序,需要用非常大的计算能力处理视频。最近出现了一次会压垮大多数公司的系统的 Web 通信高峰,Animoto 使用 EC2 快速地扩展了处理能力,从而 成功地度过了这次高峰。当时,它曾经使用 3,500 个同时运行的虚拟实例。这个虚拟的基础设施大大降低了当今 Web 环境中的 “贫富差异”。您可以在几分钟内快速地获得一个基础设施,而这在真实的 IT 工作室中可能会花费几周时间。要点在于这个基础设施是弹性的,可以根据需求扩展
8、和收缩。世界各地的公司都可以使用这个弹性的计算基础设施(见边栏)。 公司不再需要承担高额的基础设施投资和维护成本,这为创新提供了更大的机会。现在,您可以把注意力集中在业务思想上,而不需要为服务器操心,不需要担心磁盘空间不足等问题。根据 Amazon 的估计,企业把大约 70% 的时间花在构建和维护基础设施上,在推动企业发展的思想上实际上只花费 30% 的时间。Amazon 会处理与硬件和基础设施相关的繁琐工作,并确保其高可用性,您只需关注如何把您的思想变成现实。下面是这个全 Web 范围的基础设施的主要元素,它们提供几乎所有应用程序最常用的构建块: 存储 所有应用程序都需要存储文件、文档、用户
9、下载或备份。可以把应用程序需要的任何东西存储在 Amazon Simple Storage Service (S3 中,从而实现可伸缩、可靠、高可用、低成本的存储。计算 Amazon Elastic Compute Cloud (EC2 能够根据需要扩展或收缩计算资源,非常方便地提供新的服务器实例。消息传递 Amazon Simple Queue Service (SQS 提供不受限制的可靠的消息传递,可以使用它消除应用程序组件之间的耦合。数据集 Amazon SimpleDB (SDB 提供可伸缩、包含索引且无需维护的数据集存储,以及处理和查询功能。 可以根据需要结合使用这些服务;它们能够很
10、好地相互协作。因为这些服务在 Amazon 环境中运行,它们之间的所有通信通常非常快。 这个 “用 Amazon Web Services 进行云计算” 系列中的文章详细讨论这些 Web 服务和用来访问它们的库。企业家可以利用这个虚拟基础设施构建可伸缩且可靠的应用程序,与传统的应用程序主机托管平台相比可以大大降低成本,因为为了应对服务量的波动和高峰,主机托管平台需要大量服务器。它还提供很高的冗余水平。 Amazon Web Services 的用户可以使用两个支持级别: 基于免费论坛的支持,由监视 Amazon 论坛的 Amazon 人员提供这种支持。 付费的支持包,提供一对一和电话支持,这是
11、更慎重的求助方法。Amazon 在一个所有人都可访问的 指示板 上公布所有 Web 服务的健康状态;当服务出现任何问题时,都会更新这个指示板。在任何服务停止运行期间,Amazon Web Services 团队会每隔 15-30 分钟发布更新信息,直到问题被解决。 Amazon 为与每个服务进行交互提供了基于标准的 SOAP 和 REST 接口。Amazon 和第三方提供多种语言的开发人员库,包括 Ruby、Python、Java、Erlang 和 PHP,可以使用这些库与服务通信。还可以使用命令行工具管理 EC2 上的计算资源。REST 接口很容易使用;可以用任何编程语言编写客户机,通过 H
12、TTP 向 Web 服务发出请求。 用 S3 进行存储 Amazon Simple Storage Service (S3 提供一个用于数据存储和获取的 Web 服务接口。数据可以是任何类型的,可以从 Internet 上的任何地方存储和访问数据。可以在 S3 中存储任意数量的对象;存储的每个对象的大小可以从 1 字节到 5 GB。存储本身位于美国或欧盟。在创建 bucket (与操作系统中的文件夹概念相似)时,可以选择对象的存储位置。使用与 Amazon 电子商务网站的全球网络相同的数据存储基础设施存储数据,确保安全性。对于存储在 S3 中的每个对象,可以指定访问限制,可以用简单的 HTTP
13、 请求访问对象。甚至可以让对象可通过 BitTorrent 协议下载。S3 让用户完全不必为存储空间、数据访问或数据安全性操心。甚至不必承担维护存储服务器的成本。“第 2 部分:用 Amazon Simple Storage Service (S3 在云中存储数据” 详细讨论 S3。Amazon 确保您的文件的高可用性,在任何时候都可以使用它们。Amazon 为 S3 提供的服务水平协议承诺 99.9% 的正常运行时间,每月度量一次。 用 EC2 实现弹性计算Amazon EC2 是一个 Web 服务,它让用户可以在几分钟内获得虚拟机器,根据需要轻松地扩展或收缩计算能力。您只需为实际使用的计算
14、时间付费。如果需要增加计算能力,可以快速地启动虚拟实例;当需求下降时,可以马上终止它们。 这些实例基于 Linux®,可以运行您需要的任何应用程序或软件。您可以控制每个实例。EC2 环境本身基于在剑桥大学开发的开放源码的 Xen 系统管理程序。Amazon 允许创建 Amazon 机器映像 (AMI 作为实例的模板。可以通过指定权限控制对实例的访问。可以用这些实例做任何事;惟一的限制是,它们必须是基于 Linux 的映像。最近,Amazon 宣布与 Sun Microsystems 合作提供 Open Solaris 支持,但是 EC2 可用的大多数免费和商业预构建映像是基于 Lin
15、ux 的。 Amazon EC2 提供真正全 Web 范围的计算,很容易扩展和收缩计算资源。您可以完全控制在 Amazon 数据中心中运行的这个计算环境。Amazon 提供五种服务器类型;可以选择适合自己应用程序需要的服务器类型。服务器的范围从普通的单核 x86 服务器直到八核 x86_64 服务器。可以把实例放在不同的地理位置或可用性区中,从而确保对抗故障的能力。Amazon 最近还引入了弹性 IP 地址的概念,弹性 IP 地址可以动态地分配给实例。用 Amazon Simple Queue Service 实现可靠的消息传递 Amazon Simple Queue Service (SQS
16、 允许访问 Amazon 提供的可靠的消息传递基础设施。可以使用简单的基于 REST 的 HTTP 请求在任何地方发送和接收消息。不需要安装和配置任何东西。可以创建任意数量的队列,发送任意数量的消息。Amazon 把消息存储在多个服务器和数据中心中,从而提供消息传递系统所需的冗余和可靠性。每个消息最多可以包含 8KB 的文本数据。可以在消息中使用的 Unicode 字符只包括 #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF。每个队列可以有一个可配置的可见性超时周期,用来控制多个读者对队列的访问。
17、一个应用程序从队列中读取一个消息之后,其他读者就看不到这个消息,直到超时周期期满为止。在超时周期期满之后,消息重新出现在队列中,另一个读者进程就可以处理它。 SQS 与其他 Amazon Web Services 很好地集成。可以使用 SQS 构建松散耦合的系统;在这种系统中,EC2 实例可以通过向 SQS 发送消息相互通信并整合工作流。还可以使用队列为应用程序构建一个自愈合、自动扩展的基于 EC2 的基础设施。可以使用 SQS 提供的身份验证机制保护队列中的消息,防止未授权的访问。用 Amazon SimpleDB 进行数据集处理Amazon SimpleDB (SDB 是一个用于存储、处理
18、和查询结构化数据集的 Web 服务。它并不是传统意义上的关系数据库,而是一个高可用的模式,是云中的非结构化数据存储,可以使用它存储和获取包含键的值。每组包含键的值需要一个惟一的条目名;条目本身划分为域。每个条目可以包含最多 256 个键-值对。可以在每个域中对自己的数据集执行查询。SDB 当前还不支持垮域查询。 SDB 便于使用,提供关系数据库的大多数功能。SDB 的维护比典型的数据库简单得多,因为不需要设置或配置任何东西。Amazon 负责所有管理任务。Amazon 自动地为数据编制索引,可以在任何时候任何地方访问索引。不受模式限制的关键优点是,能够动态地插入数据和添加新的列或键。 SDB
19、是 Amazon 基础设施的组成部分,会在幕后自动地扩展。您可以把注意力放在更重要的方面。同样,只需为实际使用的数据集资源付费。 可伸缩的体系结构 Amazon Web Services 通过提供以下特性帮助实现可伸缩的系统:可靠性服务在经过充分测试的高可用的 Amazon 数据中心中运行,这些数据中心也运行 Amazon 自己的业务。安全性提供开箱即用的基本安全性和身份验证机制,可以根据需要在服务之上实现应用程序特有的安全措施,从而增强安全性。节约成本没有固定的成本或维护成本。只需为使用的服务付费,可以根据需要扩展资源和预算。容易部署可以通过简单的 API 使用这个虚拟基础设施和库的所有功能
20、,可以在使用最广泛的编程语言中使用这些 API。弹性可以根据需要扩展或收缩计算资源。可以快速地从一个服务器扩展到任意数量的服务器,从而满足应用程序的需要。内聚性 四个核心服务(存储、计算、消息传递 和 数据集)能够非常好地协作,为各种应用程序提供一个完整的解决方案。 社区Amazon Web Services 社区非常活跃,这会促进世界各地的用户采用这些 Web 服务,有助于在这个基础设施上创建独特的应用程序。准备为了通过这个 “用 Amazon Web Services 进行云计算” 系列中的其他文章详细了解这些服务,需要注册一个 Amazon Web Services 账户(见 参考资料)
21、。它会提供公共和私有安全访问密钥以及 x.509 安全证书,在 “第 2 部分:用 Amazon Simple Storage Service (S3 在云中存储数据” 中开始使用各种库时需要这些密钥和安全证书。 用于与这些 Web 服务进行交互的工具和库有用多种语言编写的不同版本。本系列中的文章力求与语言无关,提供多种语言的示例,但是熟悉 Java、Ruby 或 Python 会有帮助。 结束语在本文中,介绍了 Amazon 的云计算环境,概述了这个基础设施的四个主要部分。本系列的后续文章详细讨论每个 Amazon Web Service,以及用于利用这个虚拟基础设施构建应用程序的各种库和工
22、具。参考资料 学习 阅读本系列的其他部分: o 第 2 部分 “用 Amazon Simple Storage Service (S3 在云中存储数据”o 第 3 部分 “用 EC2 根据需要提供服务器”o 第 4 部分 “用 SQS 进行可靠的消息传递”o 第 5 部分 “用 SimpleDB 在云中处理数据集” 了解各种 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 由 Amazon 团队负责更新的 Service Health Dashboard 提供关于服务遇到的各种问题的信息。 注册 一个 Amazon Web Services 账户。 Amazon Web Services Developer Connection 提供开发人员需要的所有参考资料。 博客 及时提供 Amazon Web Services 的最新动态。 阅读许多公司提供的 case studies and suc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 委托试验检测技术服务合同
- 制造行业自动化生产与质量管理方案
- 钢煤斗施工方案
- 施工方案对比
- 玻璃钢离心风机施工方案
- 陕西模板支撑施工方案
- 光伏双拱大棚施工方案
- 油气配管施工方案
- 别墅外墙回纹腰线施工方案
- 龙岩硅pu篮球场施工方案
- 2025江西吉泰庐陵开发投资集团有限公司及下属子公司招聘26人笔试参考题库附带答案详解
- 2025年开封文化艺术职业学院单招职业倾向性测试题库含答案
- 高中英语丨高考核心高频词汇
- 《数智化技术应用与创新》课件 第1章 走进数智化时代
- 2025中煤电力限公司面向中煤集团内部招聘15人易考易错模拟试题(共500题)试卷后附参考答案
- 二零二五年阿里巴巴电商平台代销代运营合同书模板3篇
- 2024年江西青年职业学院高职单招职业技能测验历年参考题库(频考版)含答案解析
- 培训机构校长聘任协议证书
- 四川省成都市高新区2024-2025学年八年级(上)期末物理试卷(含答案)
- 2025年浙江嘉兴桐乡市水务集团限公司招聘10人高频重点提升(共500题)附带答案详解
- 《现场采样培训》课件
评论
0/150
提交评论