云计算应用(下) -- 看得见的云Google App Engine

目前已经听说好几家公司提供了基于互联网的云计算服务,像Google, 亚马逊,Salesforce。我自己实践了了一下Google的APP Engine, 记录下来给大家分享。

Google App Engine提供的计算资源

每个 Google App Engine 应用程序都可使用多达 500MB 的持久存储空间以及可支持每月 500 万综合浏览量的足够带宽和 CPU。

 Google App Engine使用的流程

1 帐号申请
    如果你还没有Google App Engine的帐号,需要到这个网站创建一个。http://code.google.com/intl/zh-CN/appengine/

2 创建Application ID
    使用Google App Engine的帐号登录后,你需要创建Application ID,现在看来好像每个账户可以建10个Applicaiton ID。我们后面上传的应用都要和一个Application ID绑定在一起。
如果你的一个ID是<Application ID 1>,那么其他用户就可以通过 http://<Application ID 1>.appspot.com访问到你的应用。
我的一个ID是iloveagile,所以你可以访问http://iloveagile.appspot.com/看看我做的简单的Samples.
对了,创建Application ID的时候需要输入手机号码,google会发送登录ID到你的手机上。对中国大陆,这个手机号码的输入格式是 +86 13520668668.

3 下载安装开发环境
   Google App Engine开发只需2个东西,Google App Engine SDK,Python。 Google App Engine的Online文档里边给了SDK和Python的下载地址。我的开发平台是Windows,不过好像Google给的两个软件的版本都不Work。所以我最后使用了
GoogleAppEngine_1[1].1.9.msi : http://code.google.com/p/googleappengine/downloads/detail?name=GoogleAppEngine_1.1.9.msi&can=2&q=
python-3.0.1.msi : http://www.python.org/download/releases/3.0.1/
得到这两个安装包,在Windows上一路确认就可以装了上。至于其他平台,还没有尝试 :-(

4 开发
    开发的code主要是python文件和一个app.yaml描述文件。Python可能很多人都用过,很简单。app.yaml也听清楚,看了例子,语法都能自解释。
app.yaml详解见 http://code.google.com/intl/zh-CN/appengine/docs/python/tools/configuration.html
    此外,据说Google App Engine是base在CGI上做的,为了避免写很多笨重的CGI处理的code, Google App Engine还为用户封装了一些直接可用的Framework, 比如 Webapp Framework, Django Framework, 让开发变得非常简单。
    新人上手可以看看Google给的Quick Start,http://code.google.com/intl/zh-CN/appengine/docs/python/gettingstarted/ 。给的例子简介明了,我调试了下,没有Bug.  如果英文好,还可以看看这个YouTube视频  http://www.youtube.com/watch?v=bfgO-LXGpTM

5 本地调试
   写完Python code就可以执行 <Google App Engine SDK Home>/dev_appserver.py <Application Path>在本地启动Google App Engine服务,然后通过http://localhost:8080访问自己的应用。
Sample : C:/Program Files/Google/google_appengine/dev_appserver.py D:/Study/google/Code/python2.
dev_appserver.py详解见http://code.google.com/intl/zh-CN/appengine/docs/python/tools/devserver.html

6 安装应用到Google云端
   执行<Google App Engine SDK Home>/appcfg.py update <Application Path> 将我们的应用部署到云端。登录 http://<Application ID 1>.appspot.com即可访问这个应用。
Sample : C:/Program Files/Google/google_appengine/appcfg.py update D:/Study/google/Code/python2
appcfg.py详解见 http://code.google.com/intl/zh-CN/appengine/docs/python/tools/uploadinganapp.html

7 监控
    好了,现在你的应用程序已经运行在Google的云计算中心了。如果你对它的运行状态还不放心,可以登录到这个DashBoard去监控你的应用,及应用环境。

 

Google App Engine提供的服务
    以上是Google App Engine操做和管理的基本流程。不过如果本文内容仅限于此,定有欺诈之嫌,应为上篇文章说了,云计算中心还提供了软件服务。就Google App Engine而言,不需任何设置,我们的应用就可以享受如下软件服务。

1 数据库服务
    见http://code.google.com/intl/zh-CN/appengine/docs/python/datastore/
    可能没有Oracle,DB2 那么强壮吧,不过像表、记录的增删改查,索引,多表关联,事务这些我们平时数据库开发中比较关心的东西都有。还能在从浏览器的DashBoard里直接查看表的状态。

2 邮件服务
    见http://code.google.com/intl/zh-CN/appengine/docs/python/mail/
    这个不需要自己配什么Mail Server,选择什么mail协议,就几行代码,轻松搞定Mail功能。

3 Cache
    见http://code.google.com/intl/zh-CN/appengine/docs/python/memcache/
    记得以前用过Jboss的Cache, 虽然不难,但要导入一些jar包;而在这里,仅是几行code。

4 其他
    Image 见http://code.google.com/intl/zh-CN/appengine/docs/python/images/
    URL fetch 见http://code.google.com/intl/zh-CN/appengine/docs/python/urlfetch/
    Google Account 见http://code.google.com/intl/zh-CN/appengine/docs/python/users/
    当然,这些可能还不够应对千变万化的应用。不过我相信,如果有需要的话,云会提供我们更多更专业的服务。就好像Salesforce在CRM领域做出的杰出贡献。

  此外,像Google Map, Google Search这样的工具自然也可以直接集成在Google App Engine中,只是这个好像不算是云的功能,而是SaaS(将软件作为服务)的东西。不过,无论如何,使用它来拓展应用程序功能还是很容易、很有效的。

  当然,像AJAX,Dojo这些东西在App Engine还可以原样使用。


Google App Engine Sample
    如果想对这个东西增加信心,或是了解更多的东西,看看这些Sample会很有帮助。http://code.google.com/p/google-app-engine-samples/ 我下载了几个,部署在我的应用里,呵呵,还真挺Cool.

 

最后是一些不错的资源,罗列在这里,以后有新东西,也会补在这。

Integrate Python with Eclipse :http://www.youtube.com/watch?v=e1dtyQ6wqzc&feature=channel

精选文章:在 Django 上运行 App Engine 应用程序 :http://code.google.com/intl/zh-CN/appengine/articles/

Google Map API :http://code.google.com/intl/zh-CN/apis/maps/

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值