云计算比较: Google AppEngine vs. Amazon EC2/S3

云计算定义:从两个方面去定义,一个是底层机制,一个是用户模型

Infrastructure底层机制:Cloud Cluster Grid;
用户角度分为:Utility Computing SaaS/SOA

Utility Computing代表是:Amazon EC2, Google AppEngine
SaaS代表是:一些online office 和在线CRM等等

主 要谈谈Utility Computing,简称UC,提出面向资源ROA,和SOA面向服务不同,Hardware as a service (HaaS), Infrastructure as a service (IaaS), Platform as a Service (PaaS)

说白了,UC就是卖可伸缩性 Scalable,UC是一个伸缩机,这是它的最大价值,你一个小应用,当初没想到能搞那么大,风险资金进来了,半年访问量翻100倍,而这些巨大访问是你当初小应用没有考虑到的;但是也不能让每个编程序的人都掌握架构师的知识:高伸缩性 ,就象我在jdon天天谈伸缩性 ,没几个人明白,明白了也不会站在这个高度来思考,所以,架构师知识少有的。Google APP Engine 都给你事先考虑好了,帮助无缝拓展,这是它的价值,也是云计算的一个核心价值。

降低费用也是UC的一个卖点,人人做一个web 2.0网站成本低,随着规模扩大,成本就降低.

AMAZON EC2特点:
租个VM实例运行您的软件。按照需求变化监测和增加/减少VM数。使用步骤:
1.创建一个Amazon Machine Image (AMI),可以是: applications, libraries, data a和其他设置
2.上传AMI到Amazon S3 (只是存储)
3. 用Amazon EC2 web service配置你自己的安全策略和网络。
4. 选择OS, 启动你的AMI
5. 通过Web界面或API监控

GOOGLE APPENGINE特点:
使用Python 或Java写你的应用,然后交给它,它就给你负责其余的事情,步骤:
1.下载 AppEngine SDK
2.本地开发你的应用程序
例如helloworld.py:
print 'Content-Type: text/plain' print '' print 'Hello, world!‘

3.python 要求, 输入: requested url, 输出: return message
配置app.yaml
application: helloworld
version: 1 
handlers:
- url: /.*
script: helloworld.py

存储持久化:分布式文件系统和用GQL等API操作数据库

4.本地调试
5.注册一个应用id,网址:http://application-id.appspot.com
6.将你的应用提交给Google:
appcfg.py update helloworld/


两者对比:
横向底层VM: Amazon EC2
带框架的丰富的VM: Google AppEngine

伸缩性:EC2缺省是不伸缩的
GAE是高度自动伸缩。

总结一下云计算:
Cloud Computing = SaaS + UC

p2p:不是使用云机制,每个终端得不到回报, 因此可靠性很低。
Grid Computing:无法分享,是一个私有云计算的概念。

云计算适合所有瘦客户端模型,是这些领域杀手级的架构,包括移动手机 有限电视机顶盒 上网本和普通浏览器等等。

Google AppEngine: http://code.google.com/appengine/
Amazon EC2: http://aws.amazon.com/ec2/

你可能感兴趣的:(python,Google,云计算,SOA,saas)