Google App Engine 1.6 预览版发布

fmms 12年前
     <p><a href="/misc/goto?guid=4958198636419086472" target="_blank">Google App Engine </a>1.6 预览版发布,增加了对Python 2.7,Premier Accounts和Backends的支持,以及一些其他的改进。<br /> </p>    <p>产品变化:</p>    <blockquote>     <ul>      <li>Min Idle Instances: You can now adjust the minimum number of Idle Instances for your application, from 1 to 100. Users who had previously signed up for “Always On” can now set the number of idle instances for their applications using this setting.</li>      <li>Max Pending Latency: For applications that care about user facing latency, this slider  allows you to set a limit to the amount of time a request spends in the pending queue before starting up a new instance.</li>      <li>Blobstore API: You can now use the Blobstore API without signing up for billing.</li>     </ul>    </blockquote>    <p>数据存储变化:</p>    <blockquote>     <ul>      <li>High Replication Datastore Migration Tool: We are releasing an experimental tool that allows you to easily migrate your data from Master/Slave to High Replication Datastore, and seamlessly switch your application’s serving to the new HRD application.</li>      <li>Query Planning Improvements: We’ve published an article that details recent improvements to our query planner that eliminate the need for exploding indexes.</li>     </ul>    </blockquote>    <p>Python</p>    <blockquote>     <ul>      <li>MapReduce: We are releasing the full MapReduce framework in experimental for Python. The framework includes the Map, Shuffle, and Reduce phases.</li>      <li>Python 2.7 in the SDK: The SDK now supports the Python 2.7 runtime, so you can test out your changes before uploading them to production.</li>     </ul>    </blockquote>    <p>Java™</p>    <blockquote>     <ul>      <li>Memcache API Improvements: The Memcache API for Java now supports asynchronous calls. Additionally, putIfUntouched() and getIdentifiable() now support batch operations.</li>      <li>Capability Testing: We’ve added the ability to simulate the capability state of local API implementations to test your application’s behavior if a service is unavailable.</li>      <li>Datastore Callbacks: You can now specify actions to perform before or after a put() or delete() call.</li>     </ul>    </blockquote>    <p>目前Google官方公布的数据,Google App Engine 每月1k亿次点击,30万+活跃应用,10万开发者。<br /> <br /> </p>    <div id="p_fullcontent" class="detail">     <p id="w:k8"><span style="font-weight:bold;">2008年4月7号,Google在 Campfire One上介绍了一种简化创建</span>、运行和构建伸缩性Web应用的工具——Google App Engine。简而言之,Google App Engine允许你本地使用Google基础设施构建Web应用,待其完工之后再将其部署到Google基础设施之上。<img title="google-app-engine.gif" border="0" alt="google-app-engine.gif" align="right" src="https://simg.open-open.com/show/84069b1ff052227b65af2bc28411fa14.gif" width="90" height="90" /></p>     <p id="a11l">这次发布的是没有包含全部特性的预览版,提供了一个配额系统,它限制了在预览期间应用免费可用的存储、CPU和带宽。一旦预览期结束,配额仍将免费,但是开发者需要按需购买额外资源。额外资源的价格尚未公布(甚至可能尚未确定)。</p>     <p id="ljq9">预览版的配额包括:3个应用/开发者、500MB存储/应用、2000封邮件/天(连续24小时)、10 GB入站带宽、10 GB出站带宽、200M CPU兆周、650k HTTP请求、2.5M Datastore API调用和160k URL Fetch API调用。</p>     <h3 id="t-re">技术:开发环境和API</h3>     <p id="qktr">尽管Google说‘未来将支持更多的语言’,但是目前技术栈是基于Python的,它是Google认同的语言之一。出于安 全和伸缩性的目的,Google提供了一个运行在安全沙箱中的Python运行时环境,它提供对底层操作系统有限制的访问。该环境包括标准库,并可通过模 块进行扩展,编写模块的语言目前不支持C语言。</p>     <blockquote id="btw-">      <p id="c.yx">该环境包括Python标准库。当然,调用那些违反沙箱限制的库方法(如打开socket或写文件)将不会成功。为了方便起见,几个核心特性不被支持的标准库中的模块被禁用了。那些引入它们的代码会出错。</p>      <p id="j.yr">应用代码只能用Python书写。不支持使用C来编写扩展。</p>     </blockquote>     <p id="nb0u">其他安全限制包括:出站通信(outbound communication)只能通过所提供的邮件和URL fetch API进行,通过HTTP和HTTPS作为传输的入站通信(inbound communication)使用标准端口,禁止文件系统写操作和禁止子进程或代码在请求/响应循环外执行(例如后台操作和批操作)。</p>     <p id="amck">此外,Google提供了访问一个Datastore、Google用户帐号、URL fetch和邮件服务的API。App Engine还包括一个简化的Web应用框架和Django 0.96.1,尽管App Engine Datastore不是关系型的,而且也不能使用全部的Django API。</p>     <p id="vd7w">Datastore API背后由Google的BigTable支持,但是它与一个简单的对象持久化API(或一个对象关系映射框架,即使Google强调这个Datastore不是关系型的)有很多相同之处:</p>    </div>    <p></p>