`
udj38udj
  • 浏览: 14343 次
社区版块
存档分类
最新评论

[原创]Google App Engine使用简介

 
阅读更多

[原创]Google App Engine使用简介
2010年08月28日
  [原创]Google App Engine使用简介
  by AKara 2010-08-28 @ http://blog.csdn.net/akara @ akaras@163.com
  -------------------------------------------------- -------------------
  在用Google App Engine之前,了解了其他一些现存的可称作云计算的平台:
  > Force.com(http://www.force.com)
  SaleForce.com推出的云计算服务平台。
  > Amazon Cloud(http://aws.amazon.com)
  S3(Amazon  Simple Storage Service) 可伸缩的存储服务。
  EC2(Amazon Elastic Compute Cloud)  云计算服务。
  > Google App Engine(https://appengine.google.com)
  Google的巨大虚拟机。
  > Sina App Engine(http://sae.sina.com.cn)
  国内新浪公司的平台。
  在免费/Google/Python API等面前;无需挣扎,选了Google App Engine。
  花去一些时间,做些记录。
  -------------------------------------------------- -------------------
  * Google App Engine底下的基础设施:
  > Bigtable + GFS
  > Map / Reduce
  > Google Protocol Buffer
  > Google Data Protocol
  -------------------------------------------------- -------------------
  * Google App Engine特色:
  > 文档齐全。
  > 本身就是开源项目:http://code.google.com/p/googleappengine。
  > 提供sandbox(NO thread, file, socket …)环境下的Python(2.5.2)和Java两种App API形式。
  > 通过简单直观的YAML配置方式来实现几大功能的定制:
  app.yaml(主配置)
  index.yaml(GQL索引配置)
  cron.yaml(定时任务配置)
  queue.yaml(后台任务配置)
  dos.yaml(DoS保护配置)
  > ORM(Object-Relation Mapping)对象关系映射技术隐藏了分布式数据库的复杂度。
  > 类似SQL的GQL为关系数据库的转型使用者提供便利。
  > 支持Django1.0,为WEB制作提供便利(模板引擎等...)。
  > Google Protocol Buffer在所有服务的沟通接入中扮演着一个万能的中介者角色。
  > 提供Development server在脱机环境下模拟App Engine的数据存储,沙盒限制等。
  可以方便地在http://localhost:port上调试自己的App。
  > 提供多项目成员管理功能。方便共同开发项目。
  -------------------------------------------------- -------------------
  * Google App Engine SDK可用API组件:
  > Datastore(数据存储)
  高可靠,可伸缩的分布式数据存储服务。
  联想服务:Bigtable + GFS
  > Images(图像)
  提供对图像格式的各种操作。
  联想服务:Picasa
  > Mail(邮件)
  收发邮件。
  联想服务:GMail
  > Memcache(Memcache)
  顾名思义。
  > OAuth(开放授权)
  提供第三方认证。
  > URLFetch(URL抓取)
  从App中方便地对网络资源进行抓取和处理。
  > Users(用户资料)
  对Google Account等用户资料的认证和资料提取。
  联想服务:Google Accounts
  > XMPP(即时消息)
  收发XMPP兼容的即时消息。
  联想服务:Google Talk
  并宣称年内的更新将支持更多的Google Services组件接入。
  还可结合Google Data APIs(http://code.google.com/apis/gdata/)
  (Python Client Library:http://code.google.com/p/gdata-python-client/)
  来操纵以下信誉度极高的服务群(几乎涵盖所有的Google产品):
  Blogger, Calendar, Health, Picasa Web Albums, Spreadsheets, YouTube...
  -------------------------------------------------- -------------------
  * Google App Engine的免费配额和付费配额制度:
  相比于其它PaaS。Google App Engine通过免费额度的设定来吸引潜在的
  应用开发者参与其中。当资源需求超过限额,可通过较合理的价钱来提高。
  对于大众开发者,就把自己的App当作运行在一个500M存储空间,500w PV/月
  的受限虚拟机上吧。
  -------------------------------------------------- -------------------  
  * 里程碑和趋势
  2008-04-08 Limited Preview 版本只完成基础功能(基础web功能,
  基于Bigtable和GFS的查询/排序/事务接口,自动负载均衡,
  账户认证和邮件发送,脱机模拟的开发环境),
  并限制10000名开发者申请使用资格,目的是获得反馈。
  2008-05-15 申请资格名额扩展到75000。
  2008-05-28 不限申请名额,任何人可以使用GAE。 
  开始作超额资源的收费设计。
  添加图像处理和Memcache两套新的API接口到GAE。
  2008-07-24 每账户从3个项目扩充到10个项目(PS:至今也是10)。
  添加Log Export功能。
  2008-08-22 Datastore接口更新。批量删写。
  2008-09-16 添加zipimport/zipserve,为WEB的静态资源文件的zip读取服务。
  添加memcache viewer。修正bug。
  2008-10-14 新的Admin Console。
  2008-10-16 appspot.com支持HTTPS访问的app.yaml配置。
  2008-12-16 系统状态仪表盘,配额信息页面,付费配额信息预览
  2009-02-12 优化CPU / 最长响应时间 / 提高code file,static file,
  request/respones到10M体积。
  2009-02-24 正式推出付费配额服务。
  2009-04-07 推出Java的API系列,掀起GAE关注小高潮。Eclipse环境集成。
  CronJob支持,Database import,Secure Data Connector。
  2009-06-18 增加任务队列,异步URL抓取,Django 1.0支持。
  2009-09-03 增加XMPP支持。完善Java API。新的Windows App Engine Launcher。
  2009-10-13 可从App中收邮件。支持删除废弃的App。更详细的Datastore状态查看。
  2009-12-14 支持更大的数据上传。
  2010-02-10 Datastore优化。
  * 最近大约半年的预期新功能release:
  > SSL for third-party domains
  > Background servers capable of running for longer than 30s
  > Ability to reserve instances to reduce application loading overhead
  > Ability to select different availability vs. latency options for Datastore
  > Support for mapping operations across datasets
  > Datastore dump and restore facility
  > Raise request/response size limits for some APIs
  > Improved monitoring and alerting of application serving
  > Support for Browser Push (Comet) communication
  > Built-in support for OAuth & OpenID
  可以看到,两年多时间内。看似不多的功能被逐渐增添上去。
  而release间隔从1个月,2个月,3个月,到现在的半年。
  更多的是添加新服务而不是改动已release内容,非常稳重。
  而Google Trends上的热点轨迹则显示两年多来它的一个逐渐平缓中稍带走强的趋势:
  
  关键的几个关注度峰值点上的原因值得注意。
  
  -------------------------------------------------- -------------------
  最后,按个人理解。
  像Google App Engine这样的PaaS(Platform as a Service)产品,意义有三:
  * App积累非技术资源到Platform
  * Platform将非技术资源分享给App
  * Platform为提供成熟的基础设施给App
  试着自问自答几个问题:
  Q: 平台价值是什么?
  A: 链接原有的看似零散服务,为公司和目标用户创造更多的价值,
  实现一个价值多向交叉,共同繁荣的局面。
  自私地说,让更多智慧汇聚在平台,而不是走向分庭抗礼。
  Q: 目标用户是什么人群?
  A: 充满活力和未知数的第三方开发团队。
  Q: 基本服务是什么?
  A: 成熟的云计算服务;让应用构架在超级虚拟机上,更专注于应用业务本身。
  Q: 扩展服务是什么?
  A:所有现有或将有的'零散'服务可以通过某形式接入Google App Engine。
  Q: 用户可自由发挥的是什么?
  A:创意。在一个尚算宽松的环境下的任何创意。
  Q:用户受限制的是什么?
  A:受限于GAE SDK本身。
  受限于应用由于规模需求而索取的资源量。
  Q:App制作和运行优势是什么?
  A:简易,开放,自由,受限,独立,隔离,公平。
  -------------------------------------------------- -------------------
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics