`
dank
  • 浏览: 27732 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

基于日常工作对亚马逊云计算平台的一点认识

阅读更多

      这两年在业界关于云计算应该是一个很热门的名词,但是国内的云计算一直都在谈论概念却还没有能够提供实质产品给用户使用,而在国外亚马逊的“云”却已经提供服务很久并还在不断的增加可供使用的功能。因为现在作供职的公司有些外资背景,从09年开始构建自身系统时就将硬件基础和部分软件服务都选择架构在亚马逊云计算平台上。经过2年的开发,在不断修正对云的认识中,算是对亚马逊的云计算平台有些许初步理解,拿出来与大家分享。

 

      亚马逊的云平台是由许多服务组合而成的,我们现在开发的项目中,主要使用EC2S3,EBS和将要使用MapReduce,SQS服务。在2年的开发和运营中这些服务使用的便利性和服务的健壮性为我们节约了许多时间和人力,但同时因为对这些服务理解的错误,而使用方法不当导致运营事故。

 

     S3全称是Simple Storage Service,主要用于长久存储数据。S3服务会对用户上传的数据,作多备份存储,基本上可以保证用户数据的不丢失。我们公司所有web服务器中记录的apache log信息等都会压缩后保存在S3中。

 

     EC2全称是Elastic Compute Cloud,可以根据需要灵活定义计算能力。在EC2中预定了许多种instance types,每种类型定义虚拟cpu主频和虚拟内存数量。每种类型可以作为模板启动instance,对这个instance你拥有完整的控制权就好像原来一台单独放在机房机架中的服务器。从选择instance types到启动这台instance只需要几分钟,费用是按照使用小时数计算。这种灵活性的好处就是当前系统原有计算能力不足时,可以迅速启动一台更高计算能力的instance顶替原有instance来增加计算能力,或者是启动一台与原有instance相同类型的instance,与原有instacne形成群集来增加计算能力。一旦峰值过后,就可以换回原有类型或关闭不再需要的机器,释放不需要的计算能力。如果在系统设计之初就充分考虑到这样的灵活性,所运行程序有自我监控和自我扩展能力,一旦某台instance出现不可修复错误时,系统通过新起instance 获得修复。

 

     EBS全称Elastic Block Store,这个服务作为EC2的补充,增加更多的灵活性。EC2虽然可以方便启动使用再随时关闭,但是如果一台instance被关闭,所有与其有关包括虚拟硬盘数据都将被清除,如果希望这台instance虚拟硬盘上的数据能够被重复利用,那么最好方法就是在启动这台instance时选择使用EBS服务作为虚拟硬盘挂载在instance上,当这台instance被关闭后,可以将这个EBS块挂载到其他instance上。

 

     EC2EBSS3服务组合起来,完全就替代了原来的服务器租用或者托管需求。基于这样的理解,我们在最初架构应用时将EC2的每个instance完全当作一台服务器来使用,在很长一段时间里这样的使用都没有问题,SA搭建服务器群集非常迅速简捷。但后来出现有instance在管理界面上显示正常,实际却已经不能提供正常服务的情况,人工启动新instance修复服务的方式导致出现短时间的服务中断事故。所以在使用EC2时应该增加程序状态检查,服务器状态检查,以及当instance故障时自动启动新instance等功能 ,这样才能充分利用到EC2的特性。

 

      后来随着数据运算量的增加,我们在作部分数据运算时使用了高阶instance类型。这样的计算在一天24小时中大概只进行23小时,如果始终运行着这样的高阶instance将会造成很大的浪费。所以我们选择了按需开启instance的方式,这台 instance操作系统与程序代码等都放置在EBS上,另外有一台instance负责在需要时间点启动这台高阶instance,并挂载EBS,然后将当天需要运算的数据从S3拷贝到EBS上,计算结束后,程序代码检查结果数据,确认正确,返回正确结束码,高阶instance关闭自己。

 

     以上就是目前我对亚马逊云计算平台的应用。MapReduceSQS在目前新项目中将被大量使用,我会在下篇博客中介绍。

分享到:
评论
33 楼 deeravenger 2011-06-30  
不过做PaaS平台的话禁用部分函数是不可避免的,google的appengine也是有一堆禁用的类。
对于已存在的应用,要往PaaS平台上迁移是不太可能的。但如果是新应用倒是可以考虑。我倒是觉得,它有些禁止使用的东西,其实从可扩展性上来讲是应该避免的...
32 楼 dank 2011-06-30  
deeravenger 写道
dank 写道
renzhen 写道
EC2的确是做数据挖掘的首选,相比国内的VPS,更适合做网站的托管。

如果作海量数据分析的话使用亚马逊的MapReduce更好。通过MapReduce服务,选择需要启动的instance类型和数量,可以非常方便的获得需要的计算能力。
只所以把这篇文章发到这里,因为我们现在对亚马逊云的应用程序,基本上都是在PHP上开发的。对PHP的应用已经不只是简单的WEB程序了,更多是作为命令行计算脚本来运行的。希望也有这样开发经验的PHPer可以有一个交流。

最近新浪弄了一个appengine,支持php的,你开发php的话直接用那个不是更好?


恩,不过新浪SAE里有一个超长的禁用函数列表,很多函数是在我们的开发中是需要用到的。有兴趣的可以看看这个http://sae.sina.com.cn/?m=devcenter&catId=39,新浪SAE的服务限制等说明,这样的服务对于流量少且功能简单的网站来说还是够用,但是对我们来说不太合适。而且因为我们服务的流量主要在美国,所以从访问速度上考虑,亚马逊的云平台是最好的选择了。
31 楼 deeravenger 2011-06-30  
dank 写道
renzhen 写道
EC2的确是做数据挖掘的首选,相比国内的VPS,更适合做网站的托管。

如果作海量数据分析的话使用亚马逊的MapReduce更好。通过MapReduce服务,选择需要启动的instance类型和数量,可以非常方便的获得需要的计算能力。
只所以把这篇文章发到这里,因为我们现在对亚马逊云的应用程序,基本上都是在PHP上开发的。对PHP的应用已经不只是简单的WEB程序了,更多是作为命令行计算脚本来运行的。希望也有这样开发经验的PHPer可以有一个交流。

最近新浪弄了一个appengine,支持php的,你开发php的话直接用那个不是更好?
30 楼 dank 2011-06-29  
alang 写道
这个AWS的怎么发在php区了?浪费这么好的一个话题。
我搞定了ssh了,一个破论坛欢快的跑在免费的AWS EC2上。东京数据中心。爽利。

呵呵,因为我们主要开发的语言是用的PHP了,所以对亚马逊的云平台感受更多是在PHP开发中获得的。
29 楼 alang 2011-06-28  
这个AWS的怎么发在php区了?浪费这么好的一个话题。
我搞定了ssh了,一个破论坛欢快的跑在免费的AWS EC2上。东京数据中心。爽利。
28 楼 alang 2011-06-16  
楼主。非常感谢分享。我也用了一段时间。但是最近ssh登录不上东京的ec2了,我在内地,在网上也问了,据说是我们这旮瘩block了这个数据中心,或者说block了ssh,登录都登录不小,跟不谈应用了。你在那个城市,情况怎么样?
27 楼 wmcoo 2011-06-09  
dank 写道
wmcoo 写道
dank 写道
wmcoo 写道
Asia Pacific (Tokyo), Asia Pacific (Singapore),US East (Virginia)
这几个地区哪一个国内访问速度会比较快呢。

Tokyo和Singapore没有试过的。我们用Virginia的,从国内SSH连接上去,直接在线写代码速度有时候会非常慢。但是WEB网站访问速度还可以的。

牛,直接连SSH写代码,不过比我在淘宝上人气最高的店铺买的VPS速度快一倍,我用US East (Virginia)的Instance,PING 大概300MS左右,等会建两个其它区的比较下

恩。希望可以看到你的测试结果了。用VIM来写程序,连在开发服务器上更方便的。

比较结果在附件里
175.41.135.217 Singapore
175.41.249.208 Tokyo
175.41.249.208 Virginia
Tokyo最快,看起来很舒服啊
26 楼 dank 2011-06-09  
suhuanzheng7784877 写道
国内想做到亚马逊那么大,还有很远的路啊~~~~~~现在各个公司都在观望+摸着石头过河。谁也说不好云计算在中国是怎么个呈现方式和推广。

关键是国内网站的审批制度了。现在好像开通一个网站,租用虚拟主机、主机租用或者托管都要经过复杂和费时的备案审批过程。云计算这样可以方便的更新服务器,随意解析域名等等特性,在国内怎么可能会被允许呢。
25 楼 suhuanzheng7784877 2011-06-09  
国内想做到亚马逊那么大,还有很远的路啊~~~~~~现在各个公司都在观望+摸着石头过河。谁也说不好云计算在中国是怎么个呈现方式和推广。
24 楼 dank 2011-06-08  
wmcoo 写道
dank 写道
wmcoo 写道
Asia Pacific (Tokyo), Asia Pacific (Singapore),US East (Virginia)
这几个地区哪一个国内访问速度会比较快呢。

Tokyo和Singapore没有试过的。我们用Virginia的,从国内SSH连接上去,直接在线写代码速度有时候会非常慢。但是WEB网站访问速度还可以的。

牛,直接连SSH写代码,不过比我在淘宝上人气最高的店铺买的VPS速度快一倍,我用US East (Virginia)的Instance,PING 大概300MS左右,等会建两个其它区的比较下

恩。希望可以看到你的测试结果了。用VIM来写程序,连在开发服务器上更方便的。
23 楼 wmcoo 2011-06-08  
dank 写道
wmcoo 写道
Asia Pacific (Tokyo), Asia Pacific (Singapore),US East (Virginia)
这几个地区哪一个国内访问速度会比较快呢。

Tokyo和Singapore没有试过的。我们用Virginia的,从国内SSH连接上去,直接在线写代码速度有时候会非常慢。但是WEB网站访问速度还可以的。

牛,直接连SSH写代码,不过比我在淘宝上人气最高的店铺买的VPS速度快一倍,我用US East (Virginia)的Instance,PING 大概300MS左右,等会建两个其它区的比较下
22 楼 dank 2011-06-08  
wmcoo 写道
Asia Pacific (Tokyo), Asia Pacific (Singapore),US East (Virginia)
这几个地区哪一个国内访问速度会比较快呢。

Tokyo和Singapore没有试过的。我们用Virginia的,从国内SSH连接上去,直接在线写代码速度有时候会非常慢。但是WEB网站访问速度还可以的。
21 楼 wmcoo 2011-06-08  
Asia Pacific (Tokyo), Asia Pacific (Singapore),US East (Virginia)
这几个地区哪一个国内访问速度会比较快呢。
20 楼 wmcoo 2011-06-08  
<div class="quote_title">方便大家了解</div>
<div class="quote_title"><span style="color: #e47911; font-family: verdana, arial, helvetica, clean, sans-serif; font-size: 15px; line-height: 18px;">AWS Free Usage Tier (Per Month):</span></div>
<p><span style="font-family: verdana, arial, helvetica, clean, sans-serif; line-height: 18px;">
<ul style="margin-top: 1em; margin-right: 1em; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px;">
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 13px; background-position: 0px 0.5em;">750 hours of <a style="color: #004b91; text-decoration: none;" href="https://aws.amazon.com/ec2">Amazon EC2</a> Linux Micro Instance usage (613 MB of memory and 32-bit and 64-bit platform support) – enough hours to run continuously each month<code style="font-style: normal; font-weight: normal; font-family: monospace; line-height: 12px; padding: 0px; margin: 0px;">*</code>
</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 13px; background-position: 0px 0.5em;">750 hours of an <a style="color: #004b91; text-decoration: none;" href="https://aws.amazon.com/elasticloadbalancing/">Elastic Load Balancer</a> plus 15 GB data processing*</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 13px; background-position: 0px 0.5em;">10 GB of <a style="color: #004b91; text-decoration: none;" title="EBS" href="https://aws.amazon.com/ebs">Amazon Elastic Block Storage</a>, plus 1 million I/Os, 1 GB of snapshot storage, 10,000 snapshot Get Requests and 1,000 snapshot Put Requests<code style="font-style: normal; font-weight: normal; font-family: monospace; line-height: 12px; padding: 0px; margin: 0px;">*</code>
</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 13px; background-position: 0px 0.5em;">5 GB of <a style="color: #004b91; text-decoration: none;" href="https://aws.amazon.com/s3">Amazon S3</a> standard storage, 20,000 Get Requests, and 2,000 Put Requests<code style="font-style: normal; font-weight: normal; font-family: monospace; line-height: 12px; padding: 0px; margin: 0px;">*</code>
</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 13px; background-position: 0px 0.5em;">30 GB per of internet data transfer (15 GB of data transfer “in” and 15 GB of data transfer “out” across all services except Amazon CloudFront)<code style="font-style: normal; font-weight: normal; font-family: monospace; line-height: 12px; padding: 0px; margin: 0px;">*</code>
</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 13px; background-position: 0px 0.5em;">25 <a style="color: #004b91; text-decoration: none;" href="https://aws.amazon.com/simpledb">Amazon SimpleDB</a> Machine Hours and 1 GB of Storage<code style="font-style: normal; font-weight: normal; font-family: monospace; line-height: 12px; padding: 0px; margin: 0px;">**</code>
</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 13px; background-position: 0px 0.5em;">100,000 Requests of <a style="color: #004b91; text-decoration: none;" title="SQS" href="https://aws.amazon.com/sqs">Amazon Simple Queue Service</a><code style="font-style: normal; font-weight: normal; font-family: monospace; line-height: 12px; padding: 0px; margin: 0px;">**</code>
</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 13px; background-position: 0px 0.5em;">100,000 Requests, 100,000 HTTP notifications and 1,000 email notifications for <a style="color: #004b91; text-decoration: none;" title="SNS" href="https://aws.amazon.com/sns">Amazon Simple Notification Service</a><code style="font-style: normal; font-weight: normal; font-family: monospace; line-height: 12px; padding: 0px; margin: 0px;">**</code>
</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 13px; background-position: 0px 0.5em;">10 <a style="color: #004b91; text-decoration: none;" href="https://aws.amazon.com/cloudwatch">Amazon Cloudwatch</a> metrics, 10 alarms, and 1,000,000 API requests<code style="font-style: normal; font-weight: normal; font-family: monospace; line-height: 12px; padding: 0px; margin: 0px;">**</code>
</li>
</ul>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px;">In addition to these services, the <a style="color: #004b91; text-decoration: none;" href="https://aws.amazon.com/console">AWS Management Console</a> is available at no charge to help you build and manage your application on AWS.</p>
</span></p>
19 楼 logicgate 2011-06-08  
<div class="quote_title">wmcoo 写道</div>
<div class="quote_div">
<p>现在已经开始试用了,创建实例时都是用的默认的,不会扣费吧,听说免费一年,SSH连接的时候搞了半天,后面不会的可以先看看EC2的帮助文档</p>
</div>
<p> </p>
<p>免费一年是有限制的,你要看清楚了,只有使用某些amazon linux ami启动<span style="color: #ff0000;">micro instance</span>的时候才可以免费一年。免费项目包括750小时/月ec2 running time。。。你如果运行两个micro instance,就要交钱了。ip是免费的,但如果你没有bind ip to instance,也是要收钱的。RDS服务,没有任何免费。</p>
18 楼 dank 2011-06-08  
sky_dream 写道
  robbin赶快看看吧,这排版什么么,感谢楼主发现eye这个bug。

这个应该是我的错误了。贴进来的表格数量超过了一次可以提交的字符上限,然后表格代码就被截断了。然后我想去修改好像又不行,结果就这样了。真是不好意思哦。
17 楼 sky_dream 2011-06-08  
  robbin赶快看看吧,这排版什么么,感谢楼主发现eye这个bug。
16 楼 wmcoo 2011-06-08  
<div class="quote_title">dank 写道</div>
<div class="quote_div">
<div class="quote_title">wmcoo 写道</div>
<div class="quote_div">
<div class="quote_title">dank 写道</div>
<div class="quote_div">
<p>以上是从Amazon 上摘抄下来的价格表,详细信息可以到http://aws.amazon.com/ec2/pricing/这里浏览。每个区的价格也不同,亚太区的价格会比欧美贵一些,但是如果作国内服务,放在日本或新加坡访问速度会比在美国或欧洲的好。</p>
<p>因为我们从一开始就是使用了Amazon的服务,所以没有办法给出成本比较。但是从SA的工作量来看,使用EC2后服务器硬件维护不需要了,增加instance效率也是极大的提高。但是因为是虚拟服务器,所以SA需要编写必要的程序来维护虚拟服务器状态。同时为了充分利用EC2的特性,也需要SA和程序员配合,在需要动态启用和关闭instance时提供可以调用的脚本。所以在使用EC2后,对SA的要求与以往不同了。</p>
</div>
<br>GOOGLE的云被墙,这个不会被墙吗</div>
<p> 可能性会比较小吧。Amazon EC2的instance启动后可以绑定一个外网IP地址,这样直接作域名解析就好了,使用起来完全和我们托管主机一样。 google的云似乎是给一个二级域名了,然后你的主域名再转发到这个二级域名上。</p>
</div>
<p>现在已经开始试用了,创建实例时都是用的默认的,不会扣费吧,听说免费一年,SSH连接的时候搞了半天,后面不会的可以先看看EC2的帮助文档</p>
15 楼 dank 2011-06-07  
renzhen 写道
如果是做中文的PHP应用,个人比较看好新浪的SAE平台。

又去看了一次新浪的SAE,似乎比之前增加了不少的功能。这个如果简单的作网站应用应该是完全满足需要了。
14 楼 renzhen 2011-06-06  
如果是做中文的PHP应用,个人比较看好新浪的SAE平台。

相关推荐

    亚马逊云计算技术介绍

    介绍亚马逊相关云计算技术:包括EC2,S3.SimpleDB等基本功能,对于了解Amazon云计算技术有很大的帮助

    亚马逊云计算.pptx

    亚马逊主要开展历程 1995年 1997年 2008年 1999年 2001年 2002年 2005年 2006年 2007年 95年7月Amazon 创立 97年5月Nasdaq上市 99年3月推出Amazon Auctions,以失败告终 99年9月推出Amazon zShops, 目前已经不存在 ...

    论文研究-基于hadoop构建局域网云计算平台的分析与设计 .pdf

    基于hadoop构建局域网云计算平台的分析与设计,宋春雨,高占春,云计算提出以后,亚马逊,雅虎,微软,IBM等各大厂家都推出了自己的云计算平台。用户可以通过付费来使用这些平台以进行自己的研究

    Amazon 云计算 AWS1.pptx

    Amazon 云计算 AWS1,云计算基础架构基础!

    amazon 云计算

    Amazon平台基础存储架构:Dynamo 弹性计算云EC2 简单存储服务S3 简单队列服务SQS 简单数据库服务Simple DB 关系数据库服务RDS 内容推送服务CloudFront 其他Amazon云计算服务 AWS应用实例

    什么是云计算平台-云计算平台有哪些?.docx

    什么是云计算平台-云计算平台有哪些?全文共3页,当前为第1页。什么是云计算平台-云计算平台有哪些?全文共3页,当前为第1页。云计算平台 什么是云计算平台-云计算平台有哪些?全文共3页,当前为第1页。 什么是...

    亚马逊云计算培训教材

    亚马逊云计算培训教材。2 days hand-on lab

    Amazon云计算(三)

    Amazon RDS将MySQL数据库移植到集群中,在一定的范围内解决了关系数据库的可扩展性问题。

    Google云计算与Amazon云计算对比收集.pdf

    Google云计算与Amazon云计算对比收集.pdf

    详列五款热门的开源云计算平台

    云计算是个IT界火热的词汇,开源云计算更是被认为是...我们熟知的几个IT巨头的云计算平台,如亚马逊EC2、IBM的蓝云、微软的Azure、Sun Cloud等,那么开源云计算的平台又有哪些呢?以下列举了5款知名的开源云计算平台。

    亚马逊Amazon云计算服务与解决方案

    详细介绍了Amazon亚马逊33种AWS(Amazon Web Service)云计算服务及若干基于AWS的解决方案。

    云计算第三版精品课程配套PPT课件含习题(35页)第3章 Amazon 云计算第三版 AWS(三).pptx

    精品云计算第三版全套课程PPT学习课件,非常适合大学生和职场人士学习,也适合老鸟复习回顾,完全可用于自学入门,很经典好用的PPT课件哦~ 第1章 大数据与云计算第三版 第2章 Google云计算第三版原理与应用(一) 第...

    亚马逊云计算

    本文介绍了亚马逊AWS云计算的原理,架构,发展趋势。结合案例,充分讲述亚马逊AWS云计算技术及业务解决方案的优势。

    云计算平台报告.pptx

    云计算平台报告 云计算平台报告全文共40页,当前为第1页。 内容 云计算简介 1 云平台案例和分析 2 3 云计算产业结构 4 应用和展望 云计算平台报告全文共40页,当前为第2页。 目前没有统一的概念: 美国国家标准与...

    亚马逊云计算介绍.pptx

    亚马逊云计算介绍 亚马逊云计算介绍全文共14页,当前为第1页。 从卖图书到云计算 亚马逊云计算介绍全文共14页,当前为第2页。 AWS平台概览 亚马逊全球物理基础设施 美国东部 (N. Virginia), 美国西部 (CA), 美国西部...

    ST与亚马逊云计算服务平台合作.pdf

    ST与亚马逊云计算服务平台合作.pdf

    《云计算(第二版)》教材配套课件[PPT] 第三章 Amazon云计算AWS(3).ppt

    《云计算(第二版)》教材配套课件[PPT] 第三章 Amazon云计算AWS(1).ppt

    [PPT]《云计算》教材配套课件6-亚马逊的云计算平台AWS

    本书是中国云计算专家委员会刘鹏教授主编的系统讲解云计算技术的专业书籍,重点阐述了云计算领域具代表性的Google、亚马逊和微软三个三家公司的云计算平台的技术原理和应用方法,并介绍了以Hadoop为代表的开源云计算...

    GOOGLE云计算与AMAZON云计算对比.pdf

    从图 1 中可知,Dynamo 是 Amazon 云计算平台中处于最底层的存储架构, 不直接向公众提供服务,但是为整个平台及服务提供最基础的支持。S3 就是建 立在 Dynamo 之上,SimpleDB 也极有可能使用或者借鉴了 Dynamo ...

    Google云计算与Amazon云计算对比.doc

    从图1中可知,Dynamo是Amazon云计算平台中处于最底层的存储架构,不直接向公众 提供服务,但是为整个平台及服务提供最基础的支持。S3就是建立在Dynamo之上,Simp leDB也极有可能使用或者借鉴了Dynamo技术。 Amazon...

Global site tag (gtag.js) - Google Analytics