利用Amazon Web Services(AWS)构建可扩展的WebApp应用

在上次(2008.01.10)简单了写了一篇《RubyOnRails + S3 + EC2 = ? 》至今已经有段时间了,经过一段时间的发展,Amazon Web Services到今天已经相当成熟了,一整套的解决方案可以给Web App带来很多的便利,再一系列的改进措施后,AWS基本上是成熟了。

上面这个图片来源于slideshare上的一个PPT“Using Amazon SimpleDB with Ruby on Rails”,正如我上面截取的这个图片说的:

静态文件存储在S3上; App server使用课余无限扩展的EC2; 结构化数据存储在SimpleDB上; 客户端/服务端的交互使用SQS;

看看AWS的几个应用,正好覆盖了WebApp的整个过程,以下逐一介绍下这几个服务:

1、S3看上去就是一个大的硬盘,你可以把App中的所有数据都放上去,取回来,展示等等,是个比较安全的存储服务,省略了自己买磁盘阵列,维护等等费用,且号称是安全的。

2、EC2的最大卖点就是其可以无限伸缩的,号称可以扩展到“云”上去,不用因为您的服务器压力过重而购买一批一批的机器,免得找机房,等等,可谓相当方便,在其推出固定IP和固态存储之后,使得EC2相当成熟;

3、SimpleDB推出的最早,但是一直没仔细看,以为其和S3差不多,今天仔细看了下,其实不然,看其名字是SimpleDB,是用来替代DB的,但是比普通的DB更加Simple,其实也就是一个结构化的存储,你可以把DB的东西(表,行)组合一下放进去,然后根据其有的API查询和存贮,省了维护数据库的人力物力,但是速度不晓得如何。

4、SQS是前段时间了解的,不晓得这个服务当初推出的典型应用场景是什么样的,就我的理解,其就是一个队列,相当于一个缓冲队列,用在分布式处理或者作用同步上相当不错,有兴趣的可以看我以前的文章“Amazon SQS,分布式作业不再费心”。

总的来说,AWS的几个服务都是将WebApp开发中涉及到的几个方面分拆出来做成服务,以来提供便捷,二来自己赚了一大笔,真是聪明,不过这些应用的维护不晓得Amazon 是怎么处理的,肯定不会是我们常见的人工维护,估计和Google存储差不多的自维护系统。

如果您对AWS感兴趣,如果您和笔者一样使用的是RubyOnRails,你可以使用RightAws插件,其包含了以上4个应用的实现,相当不错。

但是其不足之处依然存在,例如多国内用户,速度不敢恭维;也有人列举了“Top 10 Reasons to Avoid the SimpleDB Hype”,当然也有人针锋相对的回应了这10个问题“ Top 10 Reasons to Avoid Document Databases FUD  4 ”;另外还有其价格是否真的划算(现在支付美刀比较划算),以及其曾经出现过的问题,所以您在决定使用之前还请仔细考量,这几个应用我都有过尝试,虽然没有大规模的使用,但是基本上比较了解了,如果您有问题,或者其他的经验,欢迎和我交流。

时间: 2024-09-17 00:46:49

利用Amazon Web Services(AWS)构建可扩展的WebApp应用的相关文章

利用 Amazon Web Services 集成企业应用程序--使用 Amazon SQS 发送 XML 消息

探索如何利用 XML 和 Amazon Web Services 集成企业应用程序,以及使用Microsoft® .NET (C#) 和 Java 平台构建跨平台应用程序集成功能. 队列 是用于存储等待处理的消息的临时数据结构.Amazon Simple Queue Services (Amazon SQS) 是一个支持 Web 服务的高可用性可伸缩消息队列.Amazon SQS 的主要益处包括: 基于云的解决方案.由 Amazon 管理,不需使用私有基础设施,也不需要专业支持知识. 基于 In

利用Amazon Web Services集成企业应用程序

队列 是用于存储等待处理的消息的临时数据结构.Amazon Simple Queue Services (Amazon SQS) 是一个支持 Web 服务的高可用性可伸缩消息队列.Amazon SQS 的主要益处包括: 基于云的解决方案.由 Amazon 管理,不需使用私有基础设施,也不需要专业支持知识. 基于 Internet.任何连接到 Internet 的客户端都可以通过 Web 服务访问该服务,因此支持业务到业务(B2B)集成. 冗余.该服务在多个服务器上存储所有消息,以提供高可用性和容

用 Amazon Web Services 进行云计算,第 2 部分: 用 Amazon Simple Storage Service (S3) 在云中存储数据

学习基本的 Amazon SimpleDB (SDB) 概念,研究 boto(一个用于与 SDB 交互的开放源码 Python 库)提供的一些功能.在这个 "用 Amazon Web Services 进行云计算" 系列中,学习如何使用 Amazon Web Services 进行云计算.了解这些服务如何为设计和构建可伸缩.可靠的应用程序提供一种可选方案.本文讨论 Amazon Simple Storage Service (S3) 提供的可伸缩.高响应性的服务.了解用于与 S3 交互

Radware推出面向Amazon Web Services和Azure托管应用的DDoS防护措施

日前,全球领先的网络安全和应用交付解决方案提供商Radware(NASDAQ: RDWR)公司通过推出业界首个全面管理DDoS防护服务扩展了云服务产品系列,该服务可以跨数据中心与Amazon Web Services (AWS)和Azure等公有云环境提供完整统一的防护措施.现在,该服务可用于托管在AWS中的应用,并将于2017年第二季度用于托管在Azure中的应用. Radware全新的云端DDoS服务为将应用托管在本地和公有云环境中的企业提供了可以实现一致安全策略和单一虚拟管理平台的统一的D

Amazon Web Services市场:API驱动型生态系统

API驱动型业务的概念近年来逐步兴起.事实上,人们发现在数字化业务领域,应用程序编程接口与产品间的界线正变得愈发模糊. 其基本概念确实非常强大:发布API.允许客户参与.最终利用其实现价值交换. 为了切实完成这项目标,我们当然需要具备一定规模的严肃业务以及与之相匹配的技术架构.举例来说,API最好得到严格定义,否则您的业务可能遭遇意想不到的影响.另外,API必须易于使用,否则将带来噩梦般的客户体验.另外,API必须能够进行成功整合,从而通过切实起效以实现对接.监控及获利. Amazon Web

用 Amazon Web Services 进行云计算,第 1 部分: 简介

学习基本的 Amazon SimpleDB (SDB) 概念,研究 boto(一个用于与 SDB 交互的开放源码 Python 库)提供的一些功能.在这个 "用 Amazon Web Services 进行云计算" 系列中,学习如何使用 Amazon Web Services 进行云计算.了解这些服务如何为设计和构建可伸缩.可靠的应用程序提供一种可选方案.第一篇文章解释虚拟基础设施的构建块的特性.学习如何使用 Amazon Web Services 构建 Web 范围的系统. 什么是云

用 Amazon Web Services 进行云计算,第 4 部分: 用 SQS 进行可靠的消息传递

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

在NetBeans中运行Amazon Web Services

Amazon提供了一个富web服务接口来访问他们的在线内容.为了帮助您理解如何使用这 些Web服务.Amazon还提供了一个全面的示例应用来展示如何使用所有被暴露出的操作.通 过一步步的操作,本文向您展示如何在NetBeans IDE中修改.构建.运行以及调试mazon的 示例应用程序.进而让您了解所有NetBeans的优点,比如代码补全.代码链接以及集成的 Javadoc帮助.还有调试程序的功能,尽管是单步的但监控的变量能够让您深入了解Amazon web服务的运行机制. 配置环境 安装Jav

更趋实用的Amazon Web Services

今天收到AWS邮件列表.继EC2.S3.SimpleDB.SQS等Web Services之后,Amazon推出了内容分发服务CloudFront Beta2版. 如果说EC2是解决计算能力问题.S3是解决存储问题的话,CloudFront就是解决全球分发问题.互联网时代,地球平不平,全系在那几根海底电缆上:访问位于其他国家或地区的web站点,很多时候速度仍然不尽如人意.站在站点服务提供者的角度,就是你的用户可能因为访问慢而放弃.中国有臭名昭著的"南北互通"问题,国家.地区之间何尝没有