<?xml version="1.0" encoding="utf-8"?>


<feed xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" xml:lang="zh-CN">
  <title>有微码头</title>
  
    <updated>2012-06-16T05:47:18Z</updated>
  
  <id>http://yinhm.appspot.com/</id>
  <link rel="alternate" href="http://yinhm.appspot.com/" title="有微码头" type="text/html"/>
  <link rel="self" href="http://yinhm.appspot.com/feed" title="有微码头" type="application/atom+xml"/>
  <author><name>yinhm</name></author>
  
    <entry>
      <id>http://yinhm.appspot.com/2012/06/new-gtld-current-application-status-stats</id>
      <title type="text">新顶级域名申请分析</title>
      <link href="http://yinhm.appspot.com/2012/06/new-gtld-current-application-status-stats" rel="alternate" type="text/html"/>
      <updated>2012-06-15T08:18:09Z</updated>
      <published>2012-06-15T06:49:24Z</published>
      <content type="xhtml" xml:base="http://yinhm.appspot.com/">
	<div xmlns="http://www.w3.org/1999/xhtml"><p>数据来自<a href="http://gtldresult.icann.org/application-result/applicationstatus/viewstatus">icann</a>组织。</p>

<p>ICANN公布了<a href="http://www.icann.org/en/news/announcements/announcement-13jun12-en.htm">新顶级域名申请情况</a>。</p>

<p>总共有收到1,930个申请，其中：</p>

<ul>
<li>66 个地理名称申请。&nbsp;</li>
<li>116 个国际化域名地址，比如中文域名。</li>
</ul>

<p>申请来自60多个国家和地区，根据 ICANN 的地理分化：</p>

<ul>
<li>911 来自北美。</li>
<li>675 来自欧洲。</li>
<li>303 来自亚太地区。</li>
<li>24 来自拉美和加勒比地区。</li>
<li>17 来自非洲</li>
</ul>

<p>下载数据：</p>

<pre><code>wget http://newgtlds-cloudfront.icann.org/sites/default/files/reveal/strings-1200utc-13jun12-en.csv
</code></pre>

<p>去掉非英文顶级域名：</p>

<pre><code>tr -sc 'A-Za-z,\n' ' ' &lt; strings-1200utc-13jun12-en.csv | grep -v '^ ' &gt; input.csv
</code></pre>

<p>英文顶级域名申请总数：</p>

<pre><code>cat input.csv | wc -l
1817
</code></pre>

<p>竞争最激烈的：</p>

<pre><code>cat input.csv | awk -F ',' '{print $1}' | sort | uniq -c | sort -n -r | head -n 25
 13 APP
 11 INC
 11 HOME
 10 ART
  9 SHOP
  9 LLC
  9 BOOK
  9 BLOG
  8 MUSIC
  8 MOVIE
  8 DESIGN
  7 WEB
  7 STORE
  7 NEWS
  7 MAIL
  7 LTD
  7 LOVE
  7 HOTEL
  7 CLOUD
  6 VIP
  6 TECH
  6 ONLINE
  6 NOW
  6 LAW
  6 GMBH
</code></pre>

<p>Google 和 Amazon 都申请的：</p>

<pre><code>cat input.csv | grep -E "google|Amazon" | awk -F ',' '{print $1}' | sort | uniq -c -d | sort -n

  2 APP
  2 BOOK
  2 BUY
  2 CLOUD
  2 DEV
  2 DRIVE
  2 FREE
  2 GAME
  2 MAIL
  2 MAP
  2 MOVIE
  2 MUSIC
  2 PLAY
  2 SEARCH
  2 SHOP
  2 SHOW
  2 SPOT
  2 STORE
  2 TALK
  2 VIP
  2 WOW
  2 YOU
</code></pre>

<p>中文顶级域名:</p>

<pre><code>cat strings-1200utc-13jun12-en.csv  | grep CN | grep -v '^[A-Z]' | awk -F ',' '{print $1}' | uniq -c
  1 中信
  1 佛山
  1 信息
  1 公司
  1 公益
  1 大众汽车
  1 工行
  2 广东
  1 广州
  2 微博
  1 手机
  1 政务
  1 新闻
  1 时尚
  1 深圳
  1 网址
  1 网站
  1 网络
  1 联通
  1 餐厅
</code></pre>

<p>中国区申请的英文顶级域名：</p>

<pre><code>cat strings-1200utc-13jun12-en.csv  | grep CN | grep '^[A-Z]' | awk -F ',' '{print $1}' | uniq -c | sort -n
  1 AIGO
  1 ANQUAN
  1 BAIDU
  1 BCN
  1 CITIC
  1 CYOU
  1 GAME
  1 ICBC
  1 INC
  1 LIFE
  1 REDSTONE
  1 REN
  1 SHOP
  1 SHOUJI
  1 SINA
  1 SOHU
  1 TOP
  1 UNICOM
  1 XIHUAN
  1 XIN
  1 YUN
  2 WEIBO
</code></pre>

<p>两家申请了Weibo顶级域名，想必大家都知道是那谁谁了。</p>
</div>
      </content>
      
      <category term="domain"></category>
      
      <category term="statistics"></category>
      
      <category term="gtld"></category>
      
      

    </entry>
  
    <entry>
      <id>http://yinhm.appspot.com/2011/10/global_cloud_performance_data</id>
      <title type="text">各大云计算平台网络响应比较</title>
      <link href="http://yinhm.appspot.com/2011/10/global_cloud_performance_data" rel="alternate" type="text/html"/>
      <updated>2012-06-15T18:21:22Z</updated>
      <published>2011-10-09T18:21:22Z</published>
      <content type="xhtml" xml:base="http://yinhm.appspot.com/">
	<div xmlns="http://www.w3.org/1999/xhtml"><p><strong>旧文重发，原来的文章发布在 fenyun.org，因阿里云不允许接通未备案网站另外个人课业繁重，精力不足虎头蛇尾也意兴阑珊，所以暂时也不打算重新开通，因此重发在这里。</strong></p>

<p>选择国外的云服务时候，速度是必须考虑的，物理路径和服务商的不同，导致速度差距非常之大。前两天看到一篇<a href="http://www.scribd.com/doc/67028210/Untitled?secret_password=1cyk65f4wtrps1ha3w3r#full" target="_blank">报告</a>，《全球云性能数据》（《Global Cloud Performance Data》），报告来自<a href="http://www.cedexis.com/" target="_blank">cedexis</a>，一家云性能检测公司。报告引用的是Cedexis截止到2011年一月份的统计数据：共150亿条统计数据，横跨220个国家的23，800个网络，这些数据来自实际用户，测量了连通时间、响应时间、可用性。统计数据涉及的云服务商包括：Amazon EC2，Google App Engine，Joyent，Rackspace，Windows Azure。
</p>

<h3>云性能比较</h3>

<p>
<a href="http://fenyun.aliapp.com/aliyun_ce_storage/wp-content/uploads/2011/10/cloud_response_time_winners.png"><img class="alignnone size-medium wp-image-30" title="云计算平台最佳响应时间对比" src="http://fenyun.aliapp.com/aliyun_ce_storage/wp-content/uploads/2011/10/cloud_response_time_winners.png" alt="cloud response time winners" /></a>
</p>

<p>
上图是全球各国家最佳响应速度获胜者的结果，中国区响应速度最佳的是Windows Azure。Cedexis网站也提供了免费的<a href="https://portal.cedexis.com/dashboard/public/home.html" target="_blank">性能比较工具</a>，对比一下：
</p>

<table>
  <thead>
    <tr>
      <th></th>
      <th>Azure East A</th>
      <th>EC2 Tokyo 1A</th>
      <th>Rackspace</th>
      <th>Google App Engine</th>
      <th>Joyent</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>平均连接时间</td>
      <td>
        770 ms</td>
      <td><strong>444</strong> ms</td>
      <td>1165 ms</td>
      <td>1313 ms</td>
      <td style="color: red;">2708 ms</td>
    </tr>
    <tr>
      <td>平均响应时间</td>
      <td><strong>135</strong> ms</td>
      <td>212 ms</td>
      <td>727 ms</td>
      <td>909 ms</td>
      <td style="color: red;">1680 ms</td>
    </tr>
    <tr>
      <td>可用率</td>
      <td><strong>100%</strong></td>
      <td>99%</td>
      <td><strong>100%</strong></td>
      <td style="color: red;">32%</td>
      <td>98%</td>
    </tr>
  </tbody>
</table>

<p>Windows Azure响应时间和可用率双最佳，Joyent最囧，响应时间比Azure慢12倍，当然最囧不过Google App Engine，它的可用率只有32%，原因你懂的。</p>


<h3>亚马逊EC2</h3>
<p>
  亚马逊EC2无疑是市场占有率第一的IaaS，报告里给了单独的EC2比较：
</p>

<p>
  <a href="http://fenyun.aliapp.com/aliyun_ce_storage/wp-content/uploads/2011/10/ec2_response_time_winners.png"><img class="alignnone size-medium wp-image-34" title="亚马逊最佳EC2响应时间对比" src="http://fenyun.aliapp.com/aliyun_ce_storage/wp-content/uploads/2011/10/ec2_response_time_winners.png" alt="ec2 response time winners" /></a>
</p>

<p>
  结果没什么意外，地理位置最近的数据中心最快，美国用户选择东海岸好过西海岸。
</p>

<h3>问题：网络多样性</h3>

<p>报告中GEO负载均衡一节提出了问题：网络的多样性差异，贵国自然是最好的实例。直接上国内各大网络到EC2亚太区数据中心响应时间对比：
</p>

<table>
  <thead>
    <tr>
      <td></td>
      <td>NetworkAverageResponse Time</td>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Chinanet</td>
      <td>353</td>
    </tr>
    <tr>
      <td>北京省网</td>
      <td>276</td>
    </tr>
    <tr>
      <td>网通</td>
      <td>276</td>
    </tr>
    <tr>
      <td>中国电信</td>
      <td>288</td>
    </tr>
    <tr>
      <td>深圳网通</td>
      <td>275</td>
    </tr>
    <tr>
      <td>广州网通</td>
      <td>371</td>
    </tr>
    <tr>
      <td>教育网</td>
      <td>267</td>
    </tr>
    <tr>
      <td>国家网络交换中心</td>
      <td>348</td>
    </tr>
    <tr>
      <td>联通上海</td>
      <td>267</td>
    </tr>
    <tr>
      <td>铁通</td>
      <td>453</td>
    </tr>
    <tr>
      <td>广州移动</td>
      <td>415</td>
    </tr>
  </tbody>
</table>

<p>
到底选择哪个服务商哪里的数据中心呢？答案并非一成不变，需要我们去综合评判，比如选择什么平台，面向的客户群体所在区域等。报告可以作为我们选型时的一个参考评判因素。
</p>

<p>
参考文档：
<ul>
    <li><a href="http://www.scribd.com/doc/67028210/Untitled?secret_password=1cyk65f4wtrps1ha3w3r#full" target="_blank">Global Cloud Performance Data</a></li>
    <li><a href="https://portal.cedexis.com/dashboard/public/home.html" target="_blank">Radar Performance Dashboard</a></li>
    <li><a href="http://wenku.baidu.com/view/58ca818b6529647d272852c7.html" target="_blank">国际AS号整理</a></li>
</ul>
</p>
</div>
      </content>
      
      <category term="performance"></category>
      
      <category term="cloud-computing"></category>
      
      
<media:content url="http://fenyun.aliapp.com/aliyun_ce_storage/wp-content/uploads/2011/10/cloud_response_time_winners.png">
<media:thumbnail url="http://fenyun.aliapp.com/aliyun_ce_storage/wp-content/uploads/2011/10/cloud_response_time_winners.png" width="" height=""></media:thumbnail>
</media:content>

<media:content url="http://fenyun.aliapp.com/aliyun_ce_storage/wp-content/uploads/2011/10/ec2_response_time_winners.png">
<media:thumbnail url="http://fenyun.aliapp.com/aliyun_ce_storage/wp-content/uploads/2011/10/ec2_response_time_winners.png" width="" height=""></media:thumbnail>
</media:content>


    </entry>
  
    <entry>
      <id>http://yinhm.appspot.com/2011/10/landscape_of_cloud_computing_platform_in_china</id>
      <title type="text">国内PaaS云计算平台对比</title>
      <link href="http://yinhm.appspot.com/2011/10/landscape_of_cloud_computing_platform_in_china" rel="alternate" type="text/html"/>
      <updated>2012-06-16T05:47:18Z</updated>
      <published>2011-10-08T18:14:13Z</published>
      <content type="xhtml" xml:base="http://yinhm.appspot.com/">
	<div xmlns="http://www.w3.org/1999/xhtml"><p><strong>旧文重发。</strong></p>

<p>
国外IaaS增长迅猛，国内不乏跟进者，然而真正产化的几乎没有。当然这和业界的技术资本积累有关，国内企业几十年的技术积累几乎还停留在提供虚拟主机服务的水平。说几乎没有是因为2010年阿里巴巴收购了万网，万网在今年第三季度推出了云主机，同时也提供了云存储，目前对于万网云主机的细节还不是很清楚，不过想来应该有相当一部分技术来自阿里巴巴和淘宝。
</p>

<p>
国内的PaaS倒有一些，比如最早出现的新浪App Engine，最近公测的阿里云。百度和腾讯也有自己的云平台，不过两个都不是独立的平台，只对面向百度开放平台和腾讯开放平台的第三方应用开放。
</p>

<table>
  <thead>
    <tr>
      <td width="12%"></td>
      <td width="22%"><a href="http://www.aliyun.com">阿里云</a></td>
      <td width="22%"><a href="http://dev.baidu.com/wiki/app/index.php?title=%E5%BC%80%E5%8F%91%E5%B9%B3%E5%8F%B0%E6%95%99%E7%A8%8B">百度App Engine</a></td>
      <td width="22%"><a href="http://sae.sina.com.cn">Sina App Engine</a></td>
      <td width="22%"><a href="http://yun.tencent.com/">腾（讯）云</a></td>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>发布时间</td>
      <td>2011-07-28[1]</td>
      <td>N/A</td>
      <td><a href="http://blog.sae.sina.com.cn/?p=50">2010-01-01</a></td>
      <td>N/A</td>
    </tr>

    <tr>
      <td>现状</td>
      <td>Private Beta</td>
      <td>N/A</td>
      <td>Beta</td>
      <td>N/A</td>
    </tr>

    <tr>
      <td>Runtime</td>
      <td>Node.js，PHP</td>
      <td>PHP</td>
      <td>PHP[2]</td>
      <td>PHP、Java、Python[3]</td>
    </tr>

    <tr>
      <td>Runtime时间限制</td>
      <td>30秒</td>
      <td>N/A</td>
      <td>30秒</td>
      <td>N/A</td>
    </tr>

    <tr>
      <td>伸缩性</td>
      <td>**[4]</td>
      <td>N/A</td>
      <td>**[5]</td>
      <td>N/A</td>
    </tr>

    <tr>
      <td>Deploy</td>
      <td>FTP上传</td>
      <td>Web上传</td>
      <td>SDK上传，SVN，在线编辑</td>
      <td>N/A</td>
    </tr>

    <tr>
      <td>Dashboard</td>
      <td>**</td>
      <td>***</td>
      <td>***</td>
      <td>***</td>
    </tr>

    <tr>
      <td>Admin Console</td>
      <td>**</td>
      <td>N/A</td>
      <td>****</td>
      <td>N/A</td>
    </tr>

    <tr>
      <td>Request Logs</td>
      <td>No</td>
      <td>Yes</td>
      <td>Yes</td>
      <td>N/A</td>
    </tr>

    <tr>
      <td>多人权限控制</td>
      <td>No</td>
      <td>N/A</td>
      <td>Yes</td>
      <td>N/A</td>
    </tr>

    <tr>
      <td>数据库</td>
      <td>MySQL</td>
      <td>MySQL</td>
      <td>MySQL</td>
      <td>MySQL</td>
    </tr>

    <tr>
      <td>Blobstore</td>
      <td>Yes, Runtime限制2MB上传</td>
      <td>Yes</td>
      <td>Yes，Runtime限制10MB上传</td>
      <td>No</td>
    </tr>

    <tr>
      <td>Cron</td>
      <td>Yes</td>
      <td>No</td>
      <td>Yes</td>
      <td>No</td>
    </tr>

    <tr>
      <td>Email</td>
      <td>发送</td>
      <td>N/A</td>
      <td>发送</td>
      <td>N/A</td>
    </tr>

    <tr>
      <td>Memcache</td>
      <td>Yes</td>
      <td>Yes</td>
      <td>Yes</td>
      <td>Yes</td>
    </tr>

    <tr>
      <td>Task Queue</td>
      <td>No</td>
      <td>No</td>
      <td>Yes</td>
      <td>No</td>
    </tr>

    <tr>
      <td>SSL</td>
      <td>No</td>
      <td>N/A</td>
      <td>Shared</td>
      <td>N/A</td>
    </tr>

    <tr>
      <td>SLA</td>
      <td>No</td>
      <td>No</td>
      <td>No</td>
      <td>No</td>
    </tr>

    <tr>
      <td>平台许可</td>
      <td>专有</td>
      <td>专有</td>
      <td>专有</td>
      <td>专有</td>
    </tr>

    <tr>
      <td>Lock-in[6]</td>
      <td>**</td>
      <td>*****</td>
      <td>***</td>
      <td>*****</td>
    </tr>

    <tr>
      <td>数据中心</td>
      <td>万网自建BGP机房</td>
      <td>N/A</td>
      <td>北京多线IDC</td>
      <td>多线机房</td>
    </tr>

    <tr>
      <td>免费配额</td>
      <td>测试期免费</td>
      <td>No</td>
      <td>不定免费云豆赠送</td>
      <td>No</td>
    </tr>

    <tr>
      <td>资费</td>
      <td>支付宝充值</td>
      <td>N/A</td>
      <td>支付宝，网银充值</td>
      <td>N/a</td>
    </tr>

    <tr>
      <td>备案【7】</td>
      <td>无[8]</td>
      <td>N/A</td>
      <td>企业可申请</td>
      <td>N/a</td>
    </tr>
  </tbody>
</table>

<ul>
  <li>[1]阿里云第一批公测邀请码发放时间。</li>
  <li>[2]Sina App Engine 将提供Python支持。</li>
  <li>[3]<a href="http://wiki.opensns.qq.com/wiki/CEE">Cloud Elastic Engine接入提供PHP、Java、Python等语言的应用程序</a></li>
  <li>[4]阿里云ACE测试期间限制多。</li>
  <li>[5]Sina App Engine<a href="http://sae.sina.com.cn/?m=devcenter&catId=39">配额限制</a>较多。</li>
  <li>[6]百度云、腾云只对社区开发者提供服务，Lock-in是必然的。</li>
  <li>[7]二级域名方式无需备案。</li>
  <li>[8]阿里社区云提供备案服务，本文主要针对阿里应用托管ACE，暂时还没有备案方
  案。</li>
  <li>[9]百度云、腾云并非独立云平台，只能从文档中管窥一二，更多数据无从得知。
</ul>
</div>
      </content>
      
      <category term="paas"></category>
      
      <category term="cloud-computing"></category>
      
      

    </entry>
  
    <entry>
      <id>http://yinhm.appspot.com/2011/10/landscape_of_pass_platform</id>
      <title type="text">国外PaaS云计算平台对比</title>
      <link href="http://yinhm.appspot.com/2011/10/landscape_of_pass_platform" rel="alternate" type="text/html"/>
      <updated>2012-06-15T18:11:14Z</updated>
      <published>2011-10-07T18:11:14Z</published>
      <content type="xhtml" xml:base="http://yinhm.appspot.com/">
	<div xmlns="http://www.w3.org/1999/xhtml"><p><strong>旧文重发，原来的文章发布在 fenyun.org，因阿里云不允许接通未备案网站另外个人课业繁重，精力不足虎头蛇尾也意兴阑珊，所以暂时也不打算重新开通，因此重发在这里。</strong></p>

<p>
IaaS领域亚马逊AWS几乎是事实上的业界标准，2010的数据显示亚马逊AWS在IaaS领域市场
占有率达到30%。而PaaS市场还处在群雄逐鹿阶段，几乎每个月都有新的PaaS平台推出市场。
本文比较主要的PaaS平台提供商。
</p>

<table>
  <thead>
    <tr>
      <td width="10%"></td>
      <td width="18%">AWS Elastic Beanstalk</td>
      <td width="18%">Dotcloud</td>
      <td width="18%">Google App Engine</td>
      <td width="18%">Heroku</td>
      <td width="18%">Windows Azure</td>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>发布时间</td>
      <td><a href="http://aws.typepad.com/aws/2011/01/introducing-elastic-beanstalk.html">2011-01-19</a></td>
      <td><a href="http://techcrunch.com/2010/12/22/yc-funded-dotcloud-an-application-platform-that-lets-you-mix-and-match/">2010-12-22</a></td>
      <td><a href="http://googleappengine.blogspot.com/2008/04/introducing-google-app-engine-our-new.html">2008-04-07</a></td>
      <td><a href="http://blog.heroku.com/archives/2007/10/30/the_big_kickoff/">2007-10-30</a></td>
      <td><a href="http://blogs.msdn.com/b/cesardelatorre/archive/2008/11/02/microsoft-azure-services-platform.aspx">2008-11-02</a></td>
    </tr>

    <tr>
      <td>现状</td>
      <td>公测</td>
      <td>公测</td>
      <td>公测，即将毕业</td>
      <td>正式版</td>
      <td>正式版</td>
    </tr>

    <tr>
      <td>Runtime</td>
      <td>Java</td>
      <td>Java, Node.js, Perl, PHP, Python, Ruby</td>
      <td>Go, Java, Python</td>
      <td>Clojure, Java, Node.js, Python, Ruby, Scala</td>
      <td>.NET, Java, PHP</td>
    </tr>

    <tr>
      <td>伸缩性</td>
      <td>***[1]</td>
      <td>***</td>
      <td>*****[2]</td>
      <td>***</td>
      <td>***</td>
    </tr>

    <tr>
      <td>Deploy</td>
      <td>Web后台上传</td>
      <td>CLI上传</td>
      <td>SDK上传</td>
      <td>Git Push</td>
      <td>WEB后台上传</td>
    </tr>

    <tr>
      <td>Dashboard</td>
      <td>***</td>
      <td>*</td>
      <td>*****</td>
      <td>N/A</td>
      <td>****</td>
    </tr>

    <tr>
      <td>Admin Console</td>
      <td>*****</td>
      <td>*</td>
      <td>****</td>
      <td>*</td>
      <td>****</td>
    </tr>

    <tr>
      <td>Request Logs</td>
      <td>Yes</td>
      <td>Yes</td>
      <td>Yes</td>
      <td>Yes</td>
      <td>Yes</td>
    </tr>

    <tr>
      <td>多人权限控制</td>
      <td>Yes</td>
      <td>Yes</td>
      <td>Yes</td>
      <td>Yes</td>
      <td>Yes</td>
    </tr>

    <tr>
      <td>数据库</td>
      <td>通过AWS提供各种关系数据库</td>
      <td>MongoDB，MySQL（M/S），PostgreSQL</td>
      <td><del datetime="2011-10-07T07:31:09+00:00">无关系数据库</del>Google Cloud SQL[3]（Private Beta），基于BigTable的高可用数据库，M/S的数据库前景不明</td>
      <td>PostgreSQL关系数据库；第三方提供：MySQL，MongoDB等</td>
      <td>SQL Azure</td>
    </tr>

    <tr>
      <td>Blobstore</td>
      <td>AWS S3</td>
      <td>No</td>
      <td>Yes</td>
      <td>No</td>
      <td>Yes</td>
    </tr>

    <tr>
      <td>Memcache</td>
      <td>Yes, ElastiCache</td>
      <td>Yes, Redis</td>
      <td>Yes</td>
      <td>Addon</td>
      <td>Yes</td>
    </tr>

    <tr>
      <td>Task Queue</td>
      <td>Yes, SQS</td>
      <td>No</td>
      <td>Yes</td>
      <td>No</td>
      <td>Yes</td>
    </tr>

    <tr>
      <td>Email</td>
      <td>AWS SES（Send Only）</td>
      <td>SMTP service</td>
      <td>Yes</td>
      <td>Sendgrid addon</td>
      <td>No</td>
    </tr>

    <tr>
      <td>XMPP</td>
      <td>No</td>
      <td>No</td>
      <td>Yes</td>
      <td>No</td>
      <td>No</td>
    </tr>

    <tr>
      <td>Realtime channel</td>
      <td>N/A</td>
      <td>Node.js</td>
      <td>Yes</td>
      <td>Node.js</td>
      <td>No</td>
    </tr>

    <tr>
      <td>Cron</td>
      <td>Yes, EC2</td>
      <td>Yes</td>
      <td>Yes</td>
      <td>Yes</td>
      <td>Yes, VM role</td>
    </tr>

    <tr>
      <td>Search</td>
      <td>No</td>
      <td>Solr</td>
      <td>No, On roadmap</td>
      <td>Addon</td>
      <td>No</td>
    </tr>

    <tr>
      <td>SSL</td>
      <td>Yes</td>
      <td>Yes</td>
      <td>No, On roadmap</td>
      <td>Yes, Addon</td>
      <td>Yes</td>
    </tr>

    <tr>
      <td>SLA</td>
      <td>Yes</td>
      <td>Enterprise only</td>
      <td>Available soon</td>
      <td>No</td>
      <td>Yes</td>
    </tr>

    <tr>
      <td>平台许可</td>
      <td>专有</td>
      <td>专有</td>
      <td>专有，SDK开源</td>
      <td>专有</td>
      <td>专有</td>
    </tr>

    <tr>
      <td>Lock-in</td>
      <td>**</td>
      <td>**</td>
      <td>****</td>
      <td>**</td>
      <td>****</td>
    </tr>

    <tr>
      <td>数据中心</td>
      <td>北美，欧洲，亚洲，巴西</td>
      <td>AWS 北美</td>
      <td>北美</td>
      <td>AWS 北美</td>
      <td>北美，亚洲，欧洲</td>
    </tr>

    <tr>
      <td>免费配额</td>
      <td>
        <ul>
          <li>
            <a href="http://aws.amazon.com/free/">Free tier</a>内免费一年</li>
          <li>每月750小时EC2微型实例(613 MB内存)</li>
          <li>10 GB EBS存储</li>
          <li>5 GB S3存储</li>
          <li>每月15 GB 流出带宽</li>
        </ul>
      </td>

      <td>
        <ul>
          <li><a href="https://www.dotcloud.com/pricing/">任意2服务</a>，比如
            1Python前端 + 1MySQL数据库</li>
          <li>共享SSL</li>
        </ul>
      </td>
      <td>
        <ul>
          <li><a href="http://www.google.com/enterprise/cloud/appengine/pricing.html">28小时/日</a></li>
          <li>任意Runtime</li>
          <li>1GB数据库</li>
          <li>每日50K数据库操作</li>
          <li>每日1GB流量</li>
          <li>5GB Blobstore</li>
          <li>共享SSL</li>
        </ul>
      </td>

      <td>
        <ul>
          <li><a href="http://www.heroku.com/pricing#1-0">750实例小时/月</a></li>
          <li>5MB关系数据库</li>
          <li>域名绑定</li>
          <li>共享SSL</li>
        </ul>
      </td>

      <td>
        <ul>
          <li><a href="http://www.microsoft.com/windowsazure/pricing/">90日免费
              试用</a></li>
          <li>超小型实例</li>
          <li>20GB存储</li>
          <li>每月20GB流量</li>
          <li>关系数据库: 1GB Web Edition SQL Azure database</li>
        </ul>
      </td>

    </tr>

    <tr>
      <td>平台费用</td>
      <td>实际EC2，S3等服务费用</td>
      <td>Pro：$99/月，4服务</td>
      <td>实际服务使用</td>
      <td>预设定服务配额</td>
      <td>实际服务使用</td>
    </tr>
  </tbody>
</table>

<p>
<strong>注意：</strong>
<ol>
  <li>[1]本文对伸缩性等评级仅凭个人经验，没有具体数据；</li>
  <li>[2]<a href="http://www.quora.com/What-are-the-biggest-sites-built-on-top-of-Google-App-Engine">英国皇室婚礼网站使用Google App Engine达到32,000 req/s</a></li>
  <li>[3]<a href="http://googleappengine.blogspot.com/2011/10/google-cloud-sql-your-database-in-cloud.html">Google Cloud SQL</a></li>
</ol>
</p>
</div>
      </content>
      
      <category term="paas"></category>
      
      <category term="cloud-computing"></category>
      
      

    </entry>
  
    <entry>
      <id>http://yinhm.appspot.com/2011/10/an_introduction_to_cloud_computing</id>
      <title type="text">云计算简介</title>
      <link href="http://yinhm.appspot.com/2011/10/an_introduction_to_cloud_computing" rel="alternate" type="text/html"/>
      <updated>2012-06-15T18:07:19Z</updated>
      <published>2011-10-07T18:07:19Z</published>
      <content type="xhtml" xml:base="http://yinhm.appspot.com/">
	<div xmlns="http://www.w3.org/1999/xhtml"><p><strong>旧文重发，原来的文章发布在 fenyun.org，因阿里云不允许接通未备案网站另外个人课业繁重，精力不足虎头蛇尾也意兴阑珊，所以暂时也不打算重新开通，因此重发在这里。</strong></p>

<p>
<a href="http://zh.wikipedia.org/wiki/%E4%BA%91%E8%AE%A1%E7%AE%97">云计算</a>（cloud computing），是一种基于网络提供计算资源的服务，通过这种方式，软硬件资源等按需提供给计算机和其它设备。用户无需了解基础设施的物理细节，无需配置系统就可以提供服务，类似的概念好似电网，用户用电无需了解电网的细节。
</p>

<p>
云计算通常会降低成本，提升可靠性、可伸缩性、安全性，提供监控工具，以及API用于和服务交互。
</p>

<p>
云计算分不同的层级，通常分为：基础设施即服务（IaaS），<a href="http://zh.wikipedia.org/wiki/%E5%B9%B3%E5%8F%B0%E5%8D%B3%E6%9C%8D%E5%8A%A1">平台即服务</a>（PaaS）和<a href="http://zh.wikipedia.org/wiki/%E8%BD%AF%E4%BB%B6%E5%8D%B3%E6%9C%8D%E5%8A%A1">软件即服务</a>（SaaS）。
</p>

<h3>基础设施即平台</h3>

<p>
基础设施云计算（infrastructure as a service），提供的是基础计算资源，通常是虚拟化的硬件环境作为服务。相比传统的购买服务器、租用机位、配置网络等，用户只需要购买需要的服务资源。这样的灵活性很高，也降低了门槛，按需使用也更节省成本。 
</p>

<p>
常见的IaaS提供商有亚马逊<a href="https://aws.amazon.com/">AWS服务</a>，Rakespace等。亚马逊提供了一系列基础服务，包含EC2弹性云计算，S3存储服务，EBS弹性块存储服务。EC2类似传统VPS，提供CPU，GPU等计算力服务，用户可以使用各种预设的系统镜像得到一个完全控制的系统环境，比如Linux，Windows。不同与传统vps的是，EC2更具弹性，用户可以随时启动，关闭，或者调整计算EC2实例，单个实例从1ECU（1个计算单元，类似1CPU）到20ECU，从1个EC2实例到到成千上万的实例。亚马逊也为各种服务提供了API开发接口，使得自动化部署更为方便。
</p>

<h3>服务即平台</h3>

<p>
平台即服务（Platform as a service）作为IaaS的更上一层级提供的是一套解决方案，比如Google的App Engine，微软的Azure，Heroku等。
</p>

<p>
以Google App Engine为例，提供了一整套Web程序开发和部署服务解决方案，用户基于App Engine开发的程序可以跑在Google的数据中心。App Engine当前支持Python，Java和Go语言，Python版的SDK自带了Django和webapp框架。基于App Engine开发，不用自己维护服务器，不用考虑可伸缩性、稳定性、安全性等问题。当然这是有代价的，这意味着我们需要忍受平台带给我们的限制。比如App Engine不支持SQL关系数据库，取而代之的是Caffeine（基于BigTable之上的分布式数据库）。其它的一些限制包括文件是只读的，Python运行环境不支持C语言写的模块，不支持Naked Domain，没有用户域名HTTPS支持等。如果这些限制不是一个问题，App Engine是一个非常好的开发以及部署平台。
</p>

<h3>软件即平台</h3>

<p>
IaaS解决了硬件等基础设施问题，PaaS提供了开发部署环境，但是还是需要自己去写代码。SaaS则无需用户写代码，SaaS提供的服务就是软件，不同的是软件跑在云端，用户无需考虑安装、升级、运行程序。IaaS的付费模式也与传统软件不同，一般是按用户或者实际使用量付费。
</p>

<p>
IaaS、PaaS面向的是开发者，SaaS则一般面向普通用户。SaaS服务商也是包罗万象，不胜枚举，常见的有提供CRM服务的Saleforces，Google Apps提供在先的邮件、日历、文档管理等服务，Dropbox文件存储同步服务等。
</p>
</div>
      </content>
      
      <category term="paas"></category>
      
      <category term="cloud-computing"></category>
      
      

    </entry>
  
    <entry>
      <id>http://yinhm.appspot.com/2010/11/amazon-ec2-tunnel-guide-part-three-vpn</id>
      <title type="text">Amazon AWS 漫游指南三： VPN</title>
      <link href="http://yinhm.appspot.com/2010/11/amazon-ec2-tunnel-guide-part-three-vpn" rel="alternate" type="text/html"/>
      <updated>2011-04-23T17:29:30Z</updated>
      <published>2010-11-08T05:35:43Z</published>
      <content type="xhtml" xml:base="http://yinhm.appspot.com/">
	<div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Update 2011-04-23</strong>：修正SRPM地址失效。<br />
<strong>Update 2010-11-08</strong>：重新测试了一遍，只需开放 tcp 1723端口即可正常连接PPTP VPN。</p>

<p>本篇介绍在Amazon ec2上一键安装配置<a href="http://zh.wikipedia.org/zh-cn/PPTP">PPTP</a> VPN服务，开始之前您应该已经有一个AWS账户并运行Instance。如果您还没有开通，可以参照前面的文章（<a href="http://yinhm.appspot.com/2010/10/amazon-ec2-micro-instance-and-tunnel-guide">一</a>，<a href="http://yinhm.appspot.com/2010/11/amazon-ec2-tunnel-guide-part-two">二</a>）。</p>

<h2>为什么PPTP</h2>

<p>VPN常见的有：IPSec, PPTP, L2TP, OpenVPN。OpenVPN运行在用户空间，这需要用户端安装客户端软件，对手机用户来说并不友好。IPSec, L2TP over IPSec则过于繁琐。PPTP的话，从协议上来讲，<a href="http://poptop.sourceforge.net/dox/protocol-security.phtml">不够安全</a>，但由于其易用并且安全风险在可以接受的范围，这里选择了 PPTP。</p>

<p><strong>警告</strong>：如果您对安全要求非常高，请使用IPSec或者OpenVPN代替。</p>

<h2>安装配置PPTP</h2>

<p>我在DiaHosting提供的<a href="http://blog.diahosting.com/linux-tutorial/pptpd/">PPTPD一键安装脚本</a>基础上定制了 Amazon AWS EC2的<a href="https://gist.github.com/raw/666241/a69692ff2689f8e21b15ed92c5d4ee59d828485b/pptpd.sh">pptpd安装配置脚本</a>。</p>

<h3>系统要求</h3>

<p>需要您的系统为 Amazon Linux AMI。</p>

<h3>安装</h3>

<p>登陆您的EC2 instance，如果您用使用Tunnier并且按照前文登陆时默认关闭"Open Terminal"的话，需要在Login后，点击左侧<strong>Open New Terminal Console</strong>进入EC2 instance终端。</p>

<p>进入EC2系统终端后，输入下面的代码：</p>

<p><code><pre>
wget https://gist.github.com/raw/666241/a69692ff2689f8e21b15ed92c5d4ee59d828485b/pptpd.sh
sudo sh pptpd.sh
</code></pre></p>

<p>安装配置完成后会高亮提示vpn用户名和密码。</p>

<h3>VPN用户管理</h3>

<p>增加用户，直接编辑 /etc/ppp/chap-secrets 文件，按照相同格式添加用户名和密码即可。</p>

<h3>防火墙</h3>

<p>如果您使用的不是默认的<strong>Security Group</strong>，比如按照<a href="http://yinhm.appspot.com/2010/10/amazon-ec2-micro-instance-and-tunnel-guide">前文</a>设置的"Security Group"，那么还需要调整防火墙规则。</p>

<p>PPTP默认跑1723端口，<strike>我设置了没有成功，所以这里我打开了所有的端口</strike><strong>只需第一行规则即可</strong>，见图：</p>

<p><img src="http://lh3.ggpht.com/3XSYr8H3dxoRhFB82ry7DRGdWQfWbq0W_XVWaCQ1YfGleNErWa8woDKAct_1iysy889mXk4ZR3fLYw=s640" /></p>

<h2>客户端连接</h2>

<p>客户端使用PPTP协议连接您的EC2服务器，服务器地址为您的Public DNS（参见前文），使用安装完成提示您的用户名密码即可连接。
</p>

<p>
需要注意，Public DNS在EC2 instance重启后会变更，您可以通过动态域名服务或者设置固定IP来解决。其实还有更简单的办法，对于普通用户，不妨不重启EC2 instance，linux系统稳定跑上一年没问题，一年后都收费了。如果你讨厌冗长的Public DNS，不妨ping一下得到您的IP，其实就是Public DNS中间的一串数字。
</p>

<p>
如果您希望长时间运行不受动态IP地址问题的影响，那么不妨设置一个固定IP。
</p>

<p>
有图有真相

<img src="http://lh3.ggpht.com/1AkXtegk7ynP_TWNi7TwGO5rvZ9mKiA0DBhPkIPmaFhGqsBEcfSRbCen4TtVoeW277B775JRnqZX" />
</p>

<p>感谢 @CharSeer 帮忙测试脚本，并报告Mac成功连接。</p>
</div>
      </content>
      
      <category term="amazon"></category>
      
      <category term="vpn"></category>
      
      <category term="aws"></category>
      
      <category term="ec2"></category>
      
      
<media:content url="http://lh3.ggpht.com/3XSYr8H3dxoRhFB82ry7DRGdWQfWbq0W_XVWaCQ1YfGleNErWa8woDKAct_1iysy889mXk4ZR3fLYw=s640">
<media:thumbnail url="http://lh3.ggpht.com/3XSYr8H3dxoRhFB82ry7DRGdWQfWbq0W_XVWaCQ1YfGleNErWa8woDKAct_1iysy889mXk4ZR3fLYw=s640" width="" height=""></media:thumbnail>
</media:content>

<media:content url="http://lh3.ggpht.com/1AkXtegk7ynP_TWNi7TwGO5rvZ9mKiA0DBhPkIPmaFhGqsBEcfSRbCen4TtVoeW277B775JRnqZX">
<media:thumbnail url="http://lh3.ggpht.com/1AkXtegk7ynP_TWNi7TwGO5rvZ9mKiA0DBhPkIPmaFhGqsBEcfSRbCen4TtVoeW277B775JRnqZX" width="" height=""></media:thumbnail>
</media:content>


    </entry>
  
    <entry>
      <id>http://yinhm.appspot.com/2010/11/amazon-ec2-tunnel-guide-part-two</id>
      <title type="text">Amazon AWS 漫游指南二</title>
      <link href="http://yinhm.appspot.com/2010/11/amazon-ec2-tunnel-guide-part-two" rel="alternate" type="text/html"/>
      <updated>2010-11-06T14:08:08Z</updated>
      <published>2010-11-04T17:53:33Z</published>
      <content type="xhtml" xml:base="http://yinhm.appspot.com/">
	<div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://yinhm.appspot.com/2010/10/amazon-ec2-micro-instance-and-tunnel-guide">上一篇文章</a>介绍了如何开通Amazon AWS服务启动EC2 instance，有朋友遇到关于资费以及Windows客户端连接上的问题，这篇算是一个回答。
</p>

<h2>账户使用报告</h2>

<p>打开<a href="https://aws-portal.amazon.com/gp/aws/developer/account/index.html?ie=UTF8&amp;action=activity-summary">Account Activity</a>页面：
<img src="http://lh4.ggpht.com/Y7ZWayA6qhA_BMCxvX6I_Yuidk1BsHbcVuInSiPFqpuMkwUHUifYjMtip5HeS16DP9g_326GCMo=s640" />

免费服务在报告中显示为 "<strong>under monthly free tier</strong>"，没有的话表明您无法享受free tier服务，需要付费。我的Micro instance已经免费稳定运行128小时。
</p>

<p>
图片中各项的意思是：
</p>

<ol>
<li>当前ec2 micro instance运行的时间总计；</li>
<li>费用，free tier的话，没有任何费用；</li>
<li>EC2 EBS硬盘使用情况；</li>
<li>EBS IO数目，free tier限额为100万次/月，足够了；</li>
<li>EBS snapshot请求数，free tier限额为1万次读/月，图例中用掉2560次，应该是instance第一次启动造成的，常规运行无需任何snapshot请求，如果您经常重建instance，则此项可能会超出使用限额；</li>
</ol>

<p>如果您被收费，可能是因为：</p>

<ul>
<li>您不是AWS新用户；</li>
<li>您用一张信用卡绑定了多个AWS账户；</li>
<li>您用了Windows的instance，EC2 free tier只对 linux AMI免费，有部分linux AMI也会收费；</li>
<li>您超出了free tier的限制：10GB EBS硬盘，30GB流量（15GB in，15GB out）等；</li>
<li>您分配了固定IP，但未绑定到运行中的instance上，被惩罚收费；</li>
<li>其它...</li>
</ul>

<p>如果您已经被收费又不清楚具体原因，可以停用AWS服务。</p>

<h3>停用AWS服务</h3>

<p>
上图中点击<strong>View/Edit Service</strong> => <strong>cancel this service</strong> => <strong>cancel this service</strong> 即可停用服务。对于启用的每项服务需要分别重复此步骤。
</p>

<h2>Windows客户端</h2>

<p>
<a href="http://yinhm.appspot.com/2010/10/amazon-ec2-micro-instance-and-tunnel-guide">上一篇文章</a>提到Windows下可以用putty连接EC2服务器，putty下需要转换key文件。本文中我们使用另外一个客户端<a href="http://www.bitvise.com/tunnelier">Bitviese Tunnelier</a>，Tunnelier支持EC2上下载的perm key密钥。
</p>

<h3>安装</h3>

<p>
点击  <a href="http://dl.bitvise.com.s3-external-3.amazonaws.com/Tunnelier-Inst.exe">http://dl.bitvise.com.s3-external-3.amazonaws.com/Tunnelier-Inst.exe</a> 下载文件并安装。
</p>

<h3>设定</h3>

<p>
打开Tunnelier，<strong>Login</strong>登陆信息标签页如图：

<img src="http://lh5.ggpht.com/46D2AYGuvxnSB-t7HiU-xS3DHh_lRU8zaAzrP9NdWWxfzQ9XlXm1kxCgxoCfSJQvp18HhGgJ8fegJA" />

需要设定项：
</p>

<ol>
<li>您的EC2 instance Public DNS，见<a href="http://yinhm.appspot.com/2010/10/amazon-ec2-micro-instance-and-tunnel-guide">前文如何获取Public DNS</a>，<a href="http://yinhm.appspot.com/static/ec2/aws_ec2_public_dns.png">图例</a>；</li>
<li>Amazon Linux AMI默认登陆用户为 <strong>ec2-user</strong>；</li>
<li>SSH 默认登陆端口为<strong>22</strong>；</li>
<li><strong>Initial meth</strong>登陆认证方式，在导入key pem密钥文件后选择<strong>publickey - slot 1</strong>；</li>
<li><strong>User keypair manager</strong>用户密钥管理器</li>
</ol>

<p>
点击<strong>User keypair manager</strong>进入密钥管理：

<img src="http://lh6.ggpht.com/SaSoOzjnIpk5Rq2qHuW5VWLKH0AuIXMNk-_9YgNeeCUr03u-zULHWIS8s337sFeRN7rpH7HfZuNj" />

点击<strong>Import</strong>选择您之前下载到本地的pem key密钥文件，新窗口中<strong>Import</strong>，导入密钥成功后返回<strong>Login</strong>窗口选择<strong>Initial meth</strong>为<strong> publickey - slot 1</strong>。
</p>

<p>
转到<strong>Services</strong>标签页：

<img src="http://lh5.ggpht.com/6vyYxQ2e2RdtkVMB0yxnU5fdolobf3jOmEhGsRoS0OUkkaQulDCNIt6yqRXCmkE6NGOz0IfSxbY" />

Enabled启用socks Proxy代理转发，设定默认监听本地端口<strong>8888</strong>。
</p>

<p>点击<strong>Login</strong>按钮即可登陆EC2服务器，并启动本地代理。</p>

<p>Note: 如果不需要登陆后打开终端，可以去<strong>Options</strong>标签页中取消<strong>On Login</strong>中的<strong>Open Terminal</strong>，你或许也不需要<strong>Open SFTP</strong>。
</p>

<h3>IE设置</h3>

<p>
不废话了，见图：
<img src="http://lh3.ggpht.com/PLdfBPT6SJOEYmLvV0s0sZjpr7yhS-YKgnErIMuqYbqXmerrdQcwRArtsO7wVzrepANJysxMxQ" />

现在访问神马土鳖视频，忒塔试试吧。
</p>

<p>下一篇将介绍如何安装VPN。</p>
</div>
      </content>
      
      <category term="amazon"></category>
      
      <category term="aws"></category>
      
      <category term="ec2"></category>
      
      <category term="proxy"></category>
      
      
<media:content url="http://lh4.ggpht.com/Y7ZWayA6qhA_BMCxvX6I_Yuidk1BsHbcVuInSiPFqpuMkwUHUifYjMtip5HeS16DP9g_326GCMo=s640">
<media:thumbnail url="http://lh4.ggpht.com/Y7ZWayA6qhA_BMCxvX6I_Yuidk1BsHbcVuInSiPFqpuMkwUHUifYjMtip5HeS16DP9g_326GCMo=s640" width="" height=""></media:thumbnail>
</media:content>

<media:content url="http://lh5.ggpht.com/46D2AYGuvxnSB-t7HiU-xS3DHh_lRU8zaAzrP9NdWWxfzQ9XlXm1kxCgxoCfSJQvp18HhGgJ8fegJA">
<media:thumbnail url="http://lh5.ggpht.com/46D2AYGuvxnSB-t7HiU-xS3DHh_lRU8zaAzrP9NdWWxfzQ9XlXm1kxCgxoCfSJQvp18HhGgJ8fegJA" width="" height=""></media:thumbnail>
</media:content>

<media:content url="http://lh6.ggpht.com/SaSoOzjnIpk5Rq2qHuW5VWLKH0AuIXMNk-_9YgNeeCUr03u-zULHWIS8s337sFeRN7rpH7HfZuNj">
<media:thumbnail url="http://lh6.ggpht.com/SaSoOzjnIpk5Rq2qHuW5VWLKH0AuIXMNk-_9YgNeeCUr03u-zULHWIS8s337sFeRN7rpH7HfZuNj" width="" height=""></media:thumbnail>
</media:content>

<media:content url="http://lh5.ggpht.com/6vyYxQ2e2RdtkVMB0yxnU5fdolobf3jOmEhGsRoS0OUkkaQulDCNIt6yqRXCmkE6NGOz0IfSxbY">
<media:thumbnail url="http://lh5.ggpht.com/6vyYxQ2e2RdtkVMB0yxnU5fdolobf3jOmEhGsRoS0OUkkaQulDCNIt6yqRXCmkE6NGOz0IfSxbY" width="" height=""></media:thumbnail>
</media:content>

<media:content url="http://lh3.ggpht.com/PLdfBPT6SJOEYmLvV0s0sZjpr7yhS-YKgnErIMuqYbqXmerrdQcwRArtsO7wVzrepANJysxMxQ">
<media:thumbnail url="http://lh3.ggpht.com/PLdfBPT6SJOEYmLvV0s0sZjpr7yhS-YKgnErIMuqYbqXmerrdQcwRArtsO7wVzrepANJysxMxQ" width="" height=""></media:thumbnail>
</media:content>


    </entry>
  
    <entry>
      <id>http://yinhm.appspot.com/2010/10/amazon-ec2-micro-instance-and-tunnel-guide</id>
      <title type="text">Amazon AWS 漫游指南</title>
      <link href="http://yinhm.appspot.com/2010/10/amazon-ec2-micro-instance-and-tunnel-guide" rel="alternate" type="text/html"/>
      <updated>2010-11-04T17:22:30Z</updated>
      <published>2010-10-24T16:01:51Z</published>
      <content type="xhtml" xml:base="http://yinhm.appspot.com/">
	<div xmlns="http://www.w3.org/1999/xhtml"><h2>本文适用对象</h2>

<ul>
<li>您希望建立自己的英特网漫游隧道</li>
<li>您有一张可以刷外币的信用卡，比如VISA。手机。</li>
<li>您有基本的英文阅读技能</li>
</ul>

<h2>开始前需要注意</h2>

<ul>
<li>本文作者不对任何因本文造成的费用负责；</li>
<li>Amazon包含750小时的free tiers活动从2010年11月1日开始，10月20日后注册的新用户
都可以享受此项服务；</li>
<li>Free tires包含10GB EBS，30GB带宽（SSH proxy的话，实际上只有15GB），超出部分仍然需要付费；</li>
<li>本文作者不熟悉Amazon EC2等服务，部分描述或理解可能有差错。</li>
</ul>

<h2>注册Amazon AWS账户</h2>

<h3>注册Amazon账户</h3>

<p>启动浏览器，访问 <a href="http://aws.amazon.com/">http://aws.amazon.com/</a> ，点击"Sign Up Now"：<br />
<img src="/static/ec2/step_1.png" />
</p>

<p>
转入amazon账户登陆页面，如果您已经是amazon的用户，可以直接登陆，本文假设您还没
有amazon账户，注册新用户： <br />
<img src="/static/ec2/step_2.png" />
</p>

<ol>
<li>输入email地址</li>
<li>选中"I am a new user.</li>
<li>点击"Sign in using secure server"</li>
</ol>

<p>
转入新用户注册页面：<br />
<img src="/static/ec2/step_3.png" />
</p>

<ol>
<li>姓名</li>
<li>email地址</li>
<li>重复email地址</li>
<li>账户密码</li>
<li>重复密码</li>
<li>点击"Create account"</li>
</ol>

<p>
转入联系信息页面：<br />
<img src="/static/ec2/step_4.png" />
</p>

<ol>
<li>联系地址：街道，公司，必填</li>
<li>联系地址：几单元门牌号等，按需填写</li>
<li>城市</li>
<li>省份</li>
<li>邮编</li>
<li>国家：china</li>
<li>电话号码：直接填写，无需 +86</li>
<li>协议</li>
<li>验证码</li>
</ol>

<h3>注册AWS账户</h3>

<p>
联系信息提交成功后转入AWS登陆页面，输入email，密码，登陆后，转到AWS联系信息页面，虽
然之前注册Amazon账户已经填写过联系信息，注册Amazon AWS账户还是需要充填一遍，按
照原先输入的信息表单会自动补全。</p>

<p>联系信息提交成功后，AWS账户注册步骤完成了。Amazon AWS会email通知告诉你接下来
如何如何。</p>


<h2>填写信用卡信息</h2>

<p>Amazon EC2一般的付费模式是On Demand按需付费，不用不付费。在使用之
前需要关联信用卡信息到您的AWS账户。</p>

<p>
点击上面邮件中的account链接，或直接访问：<a href="http://aws.amazon.com/account">http://aws.amazon.com/account</a>，点击
<strong>Payment Method</strong> ，登陆后转到支付方式页面，输入你的信用卡信息 <strong>Continue</strong>。</p>

<p>继续转到账单地址页面，选择注册AWS时提供的地址 <strong>Continue</strong></p>

<p>信用卡验证会刷掉1美金（我的理解是预付费，验证不会真的扣钱，这点我并未去证实），如果没有成功会收到邮件通知更正信用卡信
息，<strong>Account Activity</strong>页面也会提示你更新信用卡信息或者用已有信息
重新验证。</p>

<h2>开通 AWS EC2 等服务</h2>

<p>开通AWS相关服务需要登陆AWS管理后台console。访问 <a href="https://aws.amazon.com/console">https://aws.amazon.com/console</a> ，点击 <strong>Sign in to the AWS
Console</strong>，登陆后转到AWS后台。</p>

<p>默认登陆console后转到 Amazon S3 管理页面，点击 Amazon EC2 转到 EC2 管理页面，点
击 <strong>Sign Up For Amazon EC2</strong> <br />
</p>

<p>转到电话验证页面 <br />
<img src="/static/ec2/aws_console_ec2_id_verification.png" />
</p>

<ol>
<li>选择China</li>
<li>填写手机号码，无需+86</li>
<li>点击 "Call Me Now"</li>
</ol>

<p>点击后，此页面转到第二步，显示 PIN 验证码。
<img src="/static/ec2/aws_pin.png" />
同时接收到亚马逊电话验证，输入您浏览器页面中的PIN码，信息验证完成。
转到第三步，点击<strong>Continue</strong>。
</p>

<p>转到完成启用服务确认页面，这个页面展示不同机房不同服务的收费情况，并非配置页
面，直接<strong>Complete Sign Up</strong>
<img src="/static/ec2/aws_subs.png" />
</p>

<p>
系统提示正在启用订阅，订阅后会发送邮件到你的邮箱。
<img src="/static/ec2/aws_subs_activating.png" />
</p>

<p>至此EC2服务已经开通。可以进入console跑instance啦！</p>

<h3>启动实例</h3>

<p>打开 <a href="https://console.aws.amazon.com/ec2/home">https://console.aws.amazon.com/ec2/home</a> 进入 EC2 console：
<img src="/static/ec2/aws_console_ec2.png" />
</p>

<ol>
<li>Amazon S3: S3存储服务，可不用</li>
<li>Amazon EC2: 类似传统的VPS服务，可以在这里启动Instance，增加EBS硬盘</li>
<li>Region: 四个可选区域，一般来讲国内连西海岸加州机房较快，如果对国内提供web服
务，也可以考虑新加坡机房，新加坡机房价钱要贵一些。</li>
<li>Instances: 所有实例（VPS）</li>
<li>AMIs: 所有AMIs，可以看成是不用安装的操作系统，选择一个启动即得到一个
Instance。</li>
<li>Volumes：EBS硬盘，EC2默认不带存储，虽然可以通过存储在S3的AMI启动，但当你关
闭或重启Instance后，所有数据都会消失。而通过存储在EBS的AMI启动则不会有这个问题。
所有数据变更保存到EBS中。您也可以添加额外的EBS挂在到某个Instance。</li>
<li>Snapshots: 增量备份的系统快照。</li>
<li>Elastic IP: EC2的Instance是变化的，如果你需要固定的IP，可以在这里设置，不过
需要注意，如果你分配了固定IP但是没有挂载到任何Instance上，你会被Amazon惩罚性收
费。</li>
<li>Launch Instance: 点击启动新的Instance实例。</li>
</ol>

<p>点击 <strong>Launch Instance</strong>， 打开实例向导窗口：
<img src="/static/ec2/aws_ec2_instance_wiz1.png" />

这里我们用的是默认的第一个 AMI, <strong>Basic 32-bit Amazon Linux AMI
1.0</strong>，大致解释一下：
</p>

<ul>
<li>Amazon Linux是Amazon基于fedora为EC2定制的AMI，默认禁止root ssh密码方式登陆，
去除不需要的服务等，默认配置更加安全。
安全。</li>
<li>自带 Amazon 工具包。</li>
<li>Amazon每个Region都为Amazon Linux提供了软件仓库，更新软件不造成带宽费用。</li>
<li>micro instance更适合跑32-bit linux。</li>
<li>EBS boot，默认配合10GB的EBS。</li>
<li>使用此instance没有额外费用。</li>
<li>选择Windows instance，需按使用支付Windows授权费用。</li>
<li>这里没有选择ubuntu的原因是因为我发现Ubuntu的AMI默认是15GB的EBS，而free tier
只提供了10GB的EBS硬盘。</li>
</ul>

<p>点击<strong>Select</strong>，进入向导第二步：
<img src="/static/ec2/aws_ec2_instance_wiz2.png" />
</p>

<ol>
<li>实例数，默认为1，free tiers包含每月750小时的micro instance，如果不间断运行
的话，正好够跑一个instance。</li>
<li>可用区域，这里用了默认的，无特别喜好。</li>
<li>实例类型，必须选择Micro，除非你不准备使用免费的micro instance。</li>
<li>启动实例，对应的另外一个选项是"Request Spot Instances"，类似竞价方
式在空闲的机器上跑Instance，这个用默认的。</li>
</ol>

<p>点击<strong>Continue</strong>转到高级实例选项设定，这里全部默认。
</p>

<p>点击<strong>Continue</strong>转到Tag设定页面，可以不设定直接跳过。</p>

<p>点击<strong>Continue</strong>进入"Create Key Pair"：
<img src="/static/ec2/aws_ec2_instance_wiz3.png" />
</p>

<ol>
<li>指定一个密钥名称，如: fookey</li>
<li>点击生成并下载密钥，<strong>这个密钥需要妥善保存，有了这个密钥，可以随时打
开（登陆）您跑在amazon aws上的机器</strong>。</li>
</ol>

<p>点击<strong>Continue</strong>进入"CONFIGURE FIREWARE"：
<img src="/static/ec2/aws_ec2_instance_wiz4.png" />

配置防火墙页面，这个设置安全组别为"Web", 并添加了"http", "https"，允许此台服务
器提供web服务。
</p>

<p>点击<strong>Continue</strong>进入"Review"：
<img src="/static/ec2/aws_ec2_instance_wiz5.png" />

注意一下，Instance Type为 <strong>Micro (t1.micro)</strong>
</p>

<p>
点击"Launch"启动Instance。基于EBS的AMI启动大约需要1分钟。

<img src="/static/ec2/aws_ec2_instance_wiz6.png" />

点击<strong>View your instances on the Instances page</strong>察看Instance状态。
</p>

<p>您应该已经看到有一个 t1.micro status为<strong>Running</strong>，至此您的micro
intance已经启动，意味这您有一台可以ssh登陆的linux服务器啦。</p>


<h2>用它来做什么</h2>

<ul>
  <li>用来做web服务器，跑php, python, ruby网站</li>
  <li>用来跑SSH proxy, VPN</li>
  <li>更多...</li>
</ul> 

<p>SSH proxy在Linux下很简单，一条命令即可：</p>

<pre><code>
$mv ~/Downloads/fookey.perm ~/.ssh/
$chmod 400 ~/.ssh/fookey.perm
$ssh -i ~/.ssh/ec2.pem ec2-user@YOUR_AMAZON_PUBLIC_DNS -f -N -D 10003
</code></pre>

<ul>
  <li>系统只允许通过key密钥登陆</li>
  <li>我们安装的AMI，默认登陆用户为 ec2-user</li>
  <li>用你的Public DNS代替 YOUR_AMAZON_PUBLIC_DNS</li>
  <li>跑了一个ssh forward监听本地10003端口</li>
</ul>

<p>Public DNS可以在Instances详细信息中找到，
<img src="/static/ec2/aws_ec2_public_dns.png" />
</p>

<h3>Windows用户</h3>

<p>Windows默认没有ssh客户端，需要下载putty。putty默认不支持Amazon ec2的key，需要做
转换，具体过程请<a href="http://docs.amazonwebservices.com/AWSEC2/2010-08-31/GettingStartedGuide/index.html?ConnectToInstanceLinux.html#d0e512">参考官方文档</a>。
</p>

<p>做tunnel的话还需要在putty中设定tunnel选项，如端口，动态，自动等。具体还请大家自
行测试。或者看这里：
<a
href="http://digitalpbk.blogspot.com/2009/05/ssh-proxy-windows-linux-orkut-bypass.html">SSH
Tunneling Proxy using Putty on Windows and Linux</a>
</p>

<h2>进一步学习Linux</h2>

<ul>
<li>一本linux书籍</li>
<li>看看 fedora文档：http://fedoraproject.org/</li>
<li>去国内的社区寻求帮助，如linuxsir</li>
</ul>
</div>
      </content>
      
      <category term="amazon"></category>
      
      <category term="aws"></category>
      
      <category term="ec2"></category>
      
      <category term="vps"></category>
      
      <category term="linux"></category>
      
      
<media:content url="/static/ec2/step_1.png">
<media:thumbnail url="/static/ec2/step_1.png" width="" height=""></media:thumbnail>
</media:content>

<media:content url="/static/ec2/step_2.png">
<media:thumbnail url="/static/ec2/step_2.png" width="" height=""></media:thumbnail>
</media:content>

<media:content url="/static/ec2/step_3.png">
<media:thumbnail url="/static/ec2/step_3.png" width="" height=""></media:thumbnail>
</media:content>

<media:content url="/static/ec2/step_4.png">
<media:thumbnail url="/static/ec2/step_4.png" width="" height=""></media:thumbnail>
</media:content>

<media:content url="/static/ec2/aws_console_ec2_id_verification.png">
<media:thumbnail url="/static/ec2/aws_console_ec2_id_verification.png" width="" height=""></media:thumbnail>
</media:content>

<media:content url="/static/ec2/aws_pin.png">
<media:thumbnail url="/static/ec2/aws_pin.png" width="" height=""></media:thumbnail>
</media:content>

<media:content url="/static/ec2/aws_subs.png">
<media:thumbnail url="/static/ec2/aws_subs.png" width="" height=""></media:thumbnail>
</media:content>

<media:content url="/static/ec2/aws_subs_activating.png">
<media:thumbnail url="/static/ec2/aws_subs_activating.png" width="" height=""></media:thumbnail>
</media:content>

<media:content url="/static/ec2/aws_console_ec2.png">
<media:thumbnail url="/static/ec2/aws_console_ec2.png" width="" height=""></media:thumbnail>
</media:content>

<media:content url="/static/ec2/aws_ec2_instance_wiz1.png">
<media:thumbnail url="/static/ec2/aws_ec2_instance_wiz1.png" width="" height=""></media:thumbnail>
</media:content>

<media:content url="/static/ec2/aws_ec2_instance_wiz2.png">
<media:thumbnail url="/static/ec2/aws_ec2_instance_wiz2.png" width="" height=""></media:thumbnail>
</media:content>

<media:content url="/static/ec2/aws_ec2_instance_wiz3.png">
<media:thumbnail url="/static/ec2/aws_ec2_instance_wiz3.png" width="" height=""></media:thumbnail>
</media:content>

<media:content url="/static/ec2/aws_ec2_instance_wiz4.png">
<media:thumbnail url="/static/ec2/aws_ec2_instance_wiz4.png" width="" height=""></media:thumbnail>
</media:content>

<media:content url="/static/ec2/aws_ec2_instance_wiz5.png">
<media:thumbnail url="/static/ec2/aws_ec2_instance_wiz5.png" width="" height=""></media:thumbnail>
</media:content>

<media:content url="/static/ec2/aws_ec2_instance_wiz6.png">
<media:thumbnail url="/static/ec2/aws_ec2_instance_wiz6.png" width="" height=""></media:thumbnail>
</media:content>

<media:content url="/static/ec2/aws_ec2_public_dns.png">
<media:thumbnail url="/static/ec2/aws_ec2_public_dns.png" width="" height=""></media:thumbnail>
</media:content>


    </entry>
  
    <entry>
      <id>http://yinhm.appspot.com/2010/09/kvm-on-squeeze-and-how-to-access-qcow2-image</id>
      <title type="text">Squeeze上安装 KVM 以及如何访问 guest os 文件系统</title>
      <link href="http://yinhm.appspot.com/2010/09/kvm-on-squeeze-and-how-to-access-qcow2-image" rel="alternate" type="text/html"/>
      <updated>2010-11-04T17:22:30Z</updated>
      <published>2010-09-15T08:46:14Z</published>
      <content type="xhtml" xml:base="http://yinhm.appspot.com/">
	<div xmlns="http://www.w3.org/1999/xhtml"><p>
某个服务需要在 Windows 上跑，考虑过 Wine 方案，一来不靠谱二来也麻烦，好在现在的虚拟
机方案已经足够成熟，决定在服务器上跑个虚拟机，对性能要求也不高，选定用 KVM。
squeeze 相对 lenny 来说对支持会好点，升级服务器，原来自定义的 kernel 没编译 kvm
支持，直接用官方 image，省时。</p>

<h3>安装 KVM</h3>

<pre>
<code>
$sudo aptitude install kvm libvirt-bin virtinst
$sudo adduser `id -un` kvm
$sudo adduser `id -un` libvirt
</code>
</pre>

<p>Ubuntu 上 virt 的用户组稍有不同，名为: libvirtd</p>

<h3>Guest OS 安装</h3>

<pre>
<code>
$sudo virt-install --connect qemu:///system -n vm20 -r 512 --vcpus=2 -f /data/vms/vm20.qcow2 -s 10 -c /data/iso/windows_server_2008_r2.iso --vnc --noautoconsole --os-type windows --os-variant win2k8 --accelerate --network=user --hvm
</code>
</pre>

<p>Guest OS不需要对外提供任何服务，所以 net 用了 user，需要提供服务的话，一般用
bridge 的方式。</p>

<h3>Client 端</h3>

<p>Desktop 机上安装 virt-manager，启动连接到服务器，connect 到服务器完成 Windows安
装。</p>

<h3>访问 Guest OS 文件</h3>

<p>宿主需要访问 Guest OS 中某些文件，方案有三：</p>

<ul>
<li>启动guest os时候带共享samba目录，guest os 使用此目录存储需共享数据</li>
<li>宿主使用 <a href="http://libguestfs.org">libguestfs</a> 访问 guest os 共享数据</li>
<li>宿主直接 mount image 文件访问共享数据</li>
</ul>

<p>samba的方式还是觉得不爽，弃之。</p>

<p>squeeze 中还没有 libguestfs deb 包，从 sid 中 backporting，test 没过导致 build
失败，不可用。</p>

<p>剩下就是mount了。mount qcow2格式文件需要通过 qemu-ndb：</p>

<pre>
<code>
$sudo aptitude install qemu-utils
</code>
</pre>

<pre>
<code>
$sudo modprobe nbd max_part=63
$sudo qemu-nbd -c /dev/nbd0 /data/vms/vm20.qcow2
$sudo mount /dev/nbd0p2 /media/win20
</code>
</pre>

<p>nbd0p*为对应的 guest os 中分区。</p>

<p>umount的话：</p>

<pre>
<code>
$sudo umount /media/win20
$sudo qemu-nbd -d /dev/nbd0
</code>
</pre>

<h3>Read more</h3>

<ul>
<li><a href="http://en.wikipedia.org/wiki/Qcow2">http://en.wikipedia.org/wiki/Qcow2</a></li>
<li><a href="http://wiki.debian.org/KVM">http://wiki.debian.org/KVM</a></li>
</ul>
</div>
      </content>
      
      <category term="kvm"></category>
      
      <category term="debian"></category>
      
      

    </entry>
  
    <entry>
      <id>http://yinhm.appspot.com/2010/08/git-svn-workflow</id>
      <title type="text">git svn workflow</title>
      <link href="http://yinhm.appspot.com/2010/08/git-svn-workflow" rel="alternate" type="text/html"/>
      <updated>2010-11-04T17:22:29Z</updated>
      <published>2010-08-29T09:40:56Z</published>
      <content type="xhtml" xml:base="http://yinhm.appspot.com/">
	<div xmlns="http://www.w3.org/1999/xhtml"><p>昨天去广州techparty小沙龙，本没有准备主题，恰好shaokun兄说的是git workflow，回忆起之前为techparty 5分钟主题做的 git svn workflow，还没有分享过。遂插播。
</p>

<p>Slide 在这里：</p>

<div style="width:425px" id="__ss_5080132"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/yinhm/git-svn-workflow" title="git svn workflow">git svn workflow</a></strong><object id="__sse5080132" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=svn-git-workflow-100829033348-phpapp01&stripped_title=svn-gitworkflow" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse5080132" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=svn-git-workflow-100829033348-phpapp01&stripped_title=svn-gitworkflow" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/yinhm">yinhm .</a>.</div></div>

<p>
一个小细节，当时我说 git rebase很邪恶，rebase会重写历史，如果你有一个private的topic branch，那么使用rebase没有问题，如果已经release 到public了，千万不要用rebase，否则其它开发者pull的时候会遇到问题。<a href="http://twitter.com/ruanwz">David</a>回应说不同意我的用词：“邪恶”，因为git管理的重点是改变，不是版本，而且rebase很方便。非常同意，rebase的好用正是它邪恶的原因之一，因为你会不自觉的想去rebase，其实是很喜爱的，不过使用的时候得知道它的短处。
</p>
</div>
      </content>
      
      <category term="svn"></category>
      
      <category term="talks"></category>
      
      <category term="git"></category>
      
      <category term="workflow"></category>
      
      

    </entry>
  
</feed>
