煮酒论坛

 找回密码
 申请新用户
搜索
热搜: 活动 交友 discuz
查看: 5876|回复: 4

Google App Engine服务开放注册

[复制链接]
发表于 2008-6-2 11:21:05 | 显示全部楼层 |阅读模式
据驱动之家报道Google宣布开始测试名为Google App Engine的互联网应用程序引擎服务,用户可以使用Google API开发自己的网站或互联网应用,而服务器、带宽等全部在Google的服务器集群上实现。  在今天Google I/O会议上,Google宣布将在年底前为用户提供更多的服务器资源。目前,测试版的使用者开发的网络应用最高只能拥有500MB的免费存储空间,带宽和运算能力满足每月500万PV的需求。而到今年年底,用户可以付费购买更多的服务器资源,标准如下:
  每增加1个处理器核心1小时运算量0.1到0.12美元
  每增加1GB存储空间每月0.15到0.18美元
  每增加1GB出口带宽0.11到0.13美元
  每增加1GB入口带宽0.09到0.11美元
  另外,Google还宣布为该计划增加两款新的API,其中一款API可以直接用来开发图片处理程序,支持缩放、旋转、裁剪等。第二款API则允许开发者使用Memecached高速缓存技术。
  首次发布时,Goole App Engine仅允许10000人注册使用,而现在已经增至75000,同时仍然有超过15万开发者在等待授权。Google表示,即日起Google App Engine将完全开放注册。
 楼主| 发表于 2008-6-11 11:04:56 | 显示全部楼层

Google App Engine 初体验

转自:http://robertmao.com/archives/664

于获得了一个Google App Engine的帐号,周末初步体验了一下,只是看了一些文档看了几个App gallery中已经做好的app, 还没有亲自操刀干任何事情,因此只是一些很初步的认识。

Google App Engine我理解是一个面向未来的产品,他可以认为是Amazon S3的超级增强版本,但又是Amazon EC2的更简化实现版。S3仅仅提供存储服务,EC2给你了一个虚拟机器, App Engine给了一个了类似动态web application hosting的环境。

要说它究竟像什么,我看最像的是诸如Godaddy等的支持动态页面的virtual hosting服务。不过比那些hosting service要先进很多的地方是, Google App Engine在性能、系统分布能力上有了巨大的改善, host在app engine的应用将具备google.com级别的带宽、CPU资源、可靠性、吞吐量, 传统的host 服务,最高级别也就是所谓dedicated server, 即一台机器专门给你,要能支持多台机器的分布还得你自己想办法,从这个角度来看App Engine的价值提升是巨大的。

顺便说下EC2, EC2提供的是虚拟机器,但提供了一些API可以动态地增加虚拟机器资源,因此也可以实现很好的scalability, 但需要自己的应用能支持,App Engine在这方面简化很多,从目前文档上看基本上你不需要管什么。 但EC2的价值在于其提供了完全的控制能力,你可以在上面跑任何应用,而App Engine目前只是Host web application, 不允许执行一些底层的操作。

目前App Engine 只支持Python, 但声称未来会支持更多语言,已经有不少人在呼吁google支持php了。目前App Engine除了Python Runtime(基本是完整的,但一些API被禁止比如底层的网络、文件系统等相关的)外,还提供了Datastore API (可以理解为一个超级的database), Users API(和Google account整合的), URL Fetch API(用于访问其他的web service的,这可能是目前能无限扩张app engine能力的最重要的部分),Mail API(和Gmail的整合),任何只用 Python来实现的web framework都可以用于应用的开发,因此可以认为App engine已经比较可用。

很遗憾MS目前没有类似的服务,在当初看到EC2的时候就在想为什么MS没有类似EC2的服务,EC2的虚拟机全是Linux的,当然已经有人在虚拟机上再运行模拟软件并成功安装windows server 2003的,我自己也尝试安装过一台,没有测试性能究竟如何,但如果真这么用总之觉得心里不是那么踏实。

Google App Engine是朝下一代web应用环境的一个很大的迈进,这个方向的第一步是Amazon迈出的,但Google 的这一步也将具备不小的历史意义。
 楼主| 发表于 2008-6-11 11:10:16 | 显示全部楼层

Google发布App Engine 欲打造网络应用统一平台

转自:http://www.gseeker.com/50226711/ ... aeccccae_144305.php
Google Apps为团体及企业用户提供了一体化的在线协作应用套件,但那只是一个开始。尽管用户可以直接利用Google Apps里的在线应用,无需添加额外的主机或管理,但同时,用户的选择也不多,因为所有的应用都是直接由Google指定的。想像一下,如果Google直接提供一种在线应用平台,允许用户直接在平台上创建及运行各种应用,那该有多震撼。

  根据TechCrunch得到的情报,在今天晚些时候,Google将在Google Campfire One大会上宣布推出App Engine(应用引擎),一个在线应用平台。简言之,App Engine是一个由Python应用服务器群、BigTable(Google的一个内部的数据库系统)数据库访问及GFS数据储存服务组成的平台,它能为开发者提供一体化的、提供主机服务器及可自动升级的在线应用服务。用户编写应用,Google提供应用运行及维护所需要的一切平台资源。换言之,Google不仅仅要为用户提供现成的在线应用套件,它还希望利用自身的数据库系统优势,使自己成为在线应用的真正统一平台。

  Google App Engine专为开发者而设,开发者可以完完整整地将自己编写的在线应用运行于Google的资源上。这意味着开发者必须得为应用编写Python脚本,以创建一个可通过网络访问的BigTable界面。Google App Engine和Amazon提供的类似服务(S3、EC2及SimpleDB)不同,因为后者是直接提供一系列资源供用户选择使用的。

  根据Google的官方声明,Google希望App Engine能令网络开发者更容易创建及升级在线应用,而不用花费精力在系统的管理及维护上。通过App Engine,开发者可以实现:

*编写代码并执行

开发者完全不必担心应用运行所需要的资源,因为Google App Engine会提供所有东西。

*全面关注流量变化

得益于Google自身强大的Bigtable数据库系统及相关的可升级的基础组件,Google App Engine能提供全自动化的复制及负载平衡,使应用能更容易升级以满足不同用户群的需要,从一至一百万。

*轻松与Google其它服务整合

开发者可以直接通过Google App Engine使用内置的组件及Google的API资源库所提供的即插即用式的功能。

  听起来非常强大,但Google App Engine在发布之初还是有一定的限制的。比如只有前一万名注册的开发者才能配置应用。Google App Engine在beta期间是完全免费的,但应用不能使用超过500MB总空间、2亿megacycles/天CPU时间、10GB带宽/天。即应用每月所承受的总流量只能在500万PV左右。而在beta期结束后,对于超出限制的部分,开发者必须向Google支付相应的费用,尽管当前具体的价格表还未公布。此外,Google App Engine当前规定所有应用都要用Python语言编写,尽管Google声称以后会支持更多其它语言。Python语言是Google内部使用的脚本语言,Google在05年更是连Python语言的发明者Guido Van Rossum也聘用了。
 楼主| 发表于 2008-6-11 11:16:33 | 显示全部楼层

Google推出Web开发利器:AppEngine

2008年4月7号,Google在Campfire One上介绍了一种简化创建、运行和构建伸缩性Web应用的工具——Google App Engine。简而言之,Google App Engine允许你本地使用Google基础设施构建Web应用,待其完工之后再将其部署到Google基础设施之上。
这次发布的是没有包含全部特性的预览版,提供了一个配额系统,它限制了在预览期间应用免费可用的存储、CPU和带宽。一旦预览期结束,配额仍将免费,但是开发者需要按需购买额外资源。额外资源的价格尚未公布(甚至可能尚未确定)。
预览版的配额包括:3个应用/开发者、500MB存储/应用、2000封邮件/天(连续24小时)、10 GB入站带宽、10 GB出站带宽、200M CPU兆周、650k HTTP请求、2.5M Datastore API调用和160k URL Fetch API调用。
技术:开发环境和API尽管Google说‘未来将支持更多的语言’,但是目前技术栈是基于Python的,它是Google认同的语言之一。出于安全和伸缩性的目的,Google提供了一个运行在安全沙箱中的Python运行时环境,它提供对底层操作系统有限制的访问。该环境包括标准库,并可通过模块进行扩展,编写模块的语言目前不支持C语言。
该环境包括Python标准库。当然,调用那些违反沙箱限制的库方法(如打开socket或写文件)将不会成功。为了方便起见,几个核心特性不被支持的标准库中的模块被禁用了。那些引入它们的代码会出错。
应用代码只能用Python书写。不支持使用C来编写扩展。
其他安全限制包括:出站通信(outbound communication)只能通过所提供的邮件和URL fetch API进行,通过HTTP和HTTPS作为传输的入站通信(inbound communication)使用标准端口,禁止文件系统写操作和禁止子进程或代码在请求/响应循环外执行(例如后台操作和批操作)。
此外,Google提供了访问一个Datastore、Google用户帐号、URL fetch和邮件服务的API。App Engine还包括一个简化的Web应用框架和Django 0.96.1,尽管App Engine Datastore不是关系型的,而且也不能使用全部的Django API。
Datastore API背后由Google的BigTable支持,但是它与一个简单的对象持久化API(或一个对象关系映射框架,即使Google强调这个Datastore不是关系型的)有很多相同之处:
你们中的大多数,在使用这个Datastore时可能会有点不习惯:如我所说,它不是SQL。这是个巨大的区别。然而,我们想了一下之后,认为这个Datastore可能会引起你们的兴趣,因为它让一些事情变简单了。比如说,我们的Datastore没有模式,这意味着它可以支持任意的新属性或列,你可以用代码创建,无需把所有事情预先设计好并创建一个模式。这就回到了我们尽可能简化Web应用编写的目标:只需开始编码就好了。你的数据模型可以随你应用的演变而演变。
即使Datastore违背了SQL,我们仍然支持你想要的传统关系数据库的许多强大功能。对于任何你提供的单个属性或属性集合,Datastore都提供了高效查询。它还支持对查询结果的排序,包括按多属性进行排序。它对写操作支持事务,通过事务分组来控制。对于提取或创建大量实体,它也支持批操作。它给你机会让你来控制你实体的主键,以获得更好的查询效率和更短的URL。
并且,即使Datastore不是SQL,我们也为你提供了类SQL查询以简化查询的表达,叫做GQL。GQL受到了jQuery和FBQL的启发:底层的存储不是SQL,但是几乎你想要的所有查询仍然可以完成。
你可能已经注意到我们的Datastore缺少一个大特性,那就就是连接(join)。这是因为连接通常是分布式系统效率问题的根源,当你有不止一台机器时:很难在跨多个机器和多个硬盘的分布式系统上进行连接操作。
尽管Datastore API支持事务,但是它们有严格的限制,而且和实体组关联:
每个实体都属于一个实体组,在一个事务内可以操作一个或多个实体。实体组关系告诉App Engine在分布式网络的同一部分保存几个实体。一个事务为一个实体组设置Datastore操作,所有这些操作按组实施,如果事务失败就全部撤销。
当应用创建一个实体时,它可以分配另一个实体作为新实体的父。给一个新实体分配父时,将使它进入父实体所在的实体组。
没有父的实体是根实体。一个实体的父实体也可以有父。从一个实体到根的父实体链就是这个实体的路径,路径的成员是实体的祖先。实体的父只能在创建时定义,之后就不能修改。
祖先是同一根实体的所有实体都在相同的实体组中,组中的所有实体存储在同一Datastore节点中。单个事务可以修改单个组中的多个实体,或通过将组中现有实体变成为新实体的父来把一个新实体加到组中。
因为App Engine迫使你以一种特殊的方式(如Datastore on BigTable,而不是数据库)来处理你的开发,Google声称你的应用将更易于伸缩,而且这种伸缩性几乎是透明的:
当一个Web应用变得流行起来时,突如其来的流量可以压垮各种规模的应用,从创业公司到大公司都发现需要一年几次的重新架构他们的数据库和整个应用。通过自动复制和负载均衡,利用Bigtable和Google的可伸缩基础设施中的其他组件,Google App Engine使得应用可以从一个用户伸缩到百万级用户。
User API允许通过Google帐号进行用户验证和登录,以及访问帐号的绰号和邮件。其他更多的用户信息可以从应用保存在Datastore中的用户信息直接获取。
URL fetch API能通过提取HTTP和HTTPs URL(支持GET、POST、HEAD、PUT和DELETE,因此这似乎可以支持REST功能)检索远程服务器的信息。
Mail API允许App Engine应用异步发送邮件,如果邮件服务器不可用时允许重试。
App Engine SDK包含模拟App Engine Python运行时环境的服务器,以及:
    模拟模块引入限制,只允许处理程序引入被许可的模块,它们来自标准库、包含在App Engine Python环境中的第三方库,以及应用目录中的模块 模拟应用缓冲行为 使用本地文件模拟App Engine Datastore 模拟包含有登录和注销页面的Google帐号,登录参数可以是任何邮件地址。 通过提取你计算机的URL模拟URL fetch服务
  • 使用你选择的SMTP服务器或Sendmail配置模拟邮件服务
乍一看,绝大多数的应用配置似乎可用YAML来写。
动机和竞争Google的公告称他们的动机是,简化Web应用的构建、部署和伸缩性:
嗯,我们构建Web应用是因为我们想要更多的Web应用被创建出来。我们注意到,目前创建一个Web应用真的很难:即使部署一个最简单的Web应用也有巨大的前端挑战。你需要做很多事情。当然,首先你必须为你的应用编写代码。
但是接着,你还需书写你的Apache Web服务器配置和启动脚本,安装你的数据库,创建所有表和设置口令,安装监视器来了解你的流量和日志,决定你如何推出代码的新版本等等。
那只是我们注意到的技术方面的挑战。然后,一旦你完成了所有那些系统管理员的工作,你就有了另一个挑战:你必须着手去找你能使用的机器来运行你的应用,不论是物理的还是虚拟的提供商。现在,就要花钱了:即使是最简单的应用,一周用几次,你都必须支付一大笔预支费用来让它在一个传统主机托管提供商处运行。
那么,这就是财务或物理方面的挑战。然后,一旦你搞定了整件事情并且运行了,而且找到地方并为此付费来测试它,你又面临了另一个挑战:随着你应用的成长,你必须去维护它。你的机器崩溃了,你的配置有错误,你的硬盘坏了,你的流量开始增长,你必须重新分享你的数据库,安装更多更多的机器。随着应用的成长,任何事情都象是一场激战。
所有这些激战正是我们试图通过App Engine避免的。它们是我们正试图解决的问题。
其他人已经揣测出了言外之意。很多人指出了Google与Amazon和微软在未来云计算和Web服务方面的竞争,常常将App Engine与Amazon的Web服务EC2S3SQSSimpleDB相提并论:
    O'Reilly Radar认为
    自从Amazon Web服务有这么好的开局之后,我们都知道这只不过是时间问题(我们可以有把握地假定下一个将会是微软)。尽管拿AWS与GAE作对比是显而易见的,但是它们真的不是同一类工具。Amazon已发布的一组独立服务可以被用来创建一个通用的计算平台。尽管这些服务可以一起工作,但是它们没有作为整体打包在一起。
    另一方面,App Engine是一个驱动Web应用的引擎。它将AWS提供的许多特性进行了整体打包:存储类似S3、自动伸缩性和处理能力类似EC2,Datastore类似SimpleDB。App Engine还提供了AWS没有的特性,如Python运行时,Google特定的API,以及可能是最吸引人的免费服务部分。
  • VentureBeat:“Google App Engine准备与Amazon竞争
其他人暗示微软也正携一些工具向这个方向挺进,比如Ray Ozzie's Mesh strategySQL Server Data Services,但是可能已经太晚了:
看看事情的另一角度,某些人暗示这会使Google在收购方面棋高一着,这是一种风险基础设施(venture infrastructure)形式:
    Business Week认为Google和Amazon间的竞争没有提及这一点:鼓励创业公司在Google的基础设施上开发他们的应用,这使Google“不仅可以很好地了解人们想要的应用和需要克服的问题,而且能敏锐地发现Google想收购的有前途的新创业公司”。 ZDNet补充:它可以节约Google在收购方面的金钱:“想象一下,如果收购一家已经使用Google技术的公司会省下多少时间和努力?” GigaOM说:“这种亏本销售的服务将那些创业公司带进了Google的大门,这使得这家公司可以访问最新的想法并可从天才企业家池中做出选择”
  • 在“Google如何吃掉Amazon的午餐”中,Kevin Kelleher称这为投资
    在这次采访中,我大声地推测Amazon所做事情很像公司风险投资的(如Intel投资部)做法——投资和他们以后要合作(或者要收购)的创业公司。只是不用硬通货,而是基础设施。我得说,非常精明。
    高管的反应是:Amazon根本没这么做,而且永远不会用Web服务那么做。我心里想了一下,但是没说:嗯,如果你们不这样做,有人会这么做的
    现在,有些人正在说Google正在这么做。随着有价值的Google员工整理他们的桌子并启动一家新的创业公司,推出GAE是Google将他们重新召回的最好策略。这也是从Amazon身下抽走地毯的绝佳方法,战略上明智而且盈利上也明智。
反馈、分析和资源查看英文原文Google 'simplifies web development' with AppEngine
 楼主| 发表于 2008-6-12 16:47:20 | 显示全部楼层

菜鸟也来玩Google App Engine

转自:http://blog.119797.com/post/love ... gle-App-Engine.aspx

前几天开通了Google App Engine,今天终于有时间来研究下。搭建环境>上传案例

搭建环境及配置

安装Python 。下载对应版本并安装,Windows用户下载Python 2.5.2 Windows installer。
安装Google App Engine 。下载对应版本并安装,Windows用户下载GoogleAppEngine_1.1.0.msi。
打开桌面“Google App Engine”链接,新建一个cmd快捷方式,在起始位置里填入Google App Engine 的安装位置,默认是"C:\Program Files\Google\google_appengine"。
“Hello World”修改及上传

打开“google_appengine/new_project_template”,修改“app.yaml”里的application为你申请的Google App Engine ID。
运行刚建立的cmd,输入“appcfg.py update new_project_template/”,输入Google帐号和密码,上传项目。
C:\Program Files\Google\google_appengine>appcfg.py update new_project_template/   
Email: ***@gmail.com   
Password for ***@gmail.com:   
Saving authentication cookies to H:\Documents and Settings\Administrator/.appcfg   
_cookies   
Scanning files on local disk.   
Initiating update.   
Cloning 1 application file.   
Closing update.  

C:\Program Files\Google\google_appengine>appcfg.py update new_project_template/
Email: ***@gmail.com
Password for ***@gmail.com:
Saving authentication cookies to H:\Documents and Settings\Administrator/.appcfg
_cookies
Scanning files on local disk.
Initiating update.
Cloning 1 application file.
Closing update.然后就可以访问你Google App Engine了,不出意外的话你可以看到“Hello World”。
您需要登录后才可以回帖 登录 | 申请新用户

本版积分规则

小黑屋|手机版|Archiver|守望轩 ( 湘ICP备17013730号-2 )|网站地图

GMT+8, 2018-4-23 21:38 , Processed in 0.043150 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表