Google App Engine 1.6 預覽版發布
Google App Engine 1.6 預覽版發布,增加了對Python 2.7,Premier Accounts和Backends的支持,以及一些其他的改進。
產品變化:
- 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.
- 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.
- Blobstore API: You can now use the Blobstore API without signing up for billing.
數據存儲變化:
- 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.
- Query Planning Improvements: We’ve published an article that details recent improvements to our query planner that eliminate the need for exploding indexes.
Python
- MapReduce: We are releasing the full MapReduce framework in experimental for Python. The framework includes the Map, Shuffle, and Reduce phases.
- 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.
Java?
- Memcache API Improvements: The Memcache API for Java now supports asynchronous calls. Additionally, putIfUntouched() and getIdentifiable() now support batch operations.
- 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.
- Datastore Callbacks: You can now specify actions to perform before or after a put() or delete() call.
目前Google官方公布的數據,Google App Engine 每月1k億次點擊,30萬+活躍應用,10萬開發者。
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不是關系型的)有很多相同之處: