Standard Environment介紹

AppEngine的標準環境(Standard Environment)是延續AppEngine一開始推出的版本持續加強各項功能的PaaS服務,目前支援Java, Python, PHP, Go等四種程式語言,透過Google管理的平台可以達到自動的橫向擴展。

AppEngine標準環境的計費

在AppEngine標準執行環境中,提供每天28個instance hour(s)的免費額度,另外有許多以天為單位的免費額度優惠,讓開發者可以在免費的範圍內開發與測試自己的應用程式。

標準環境的支援工具

Google AppEngine預設幫開發者準備好開發、測試、部署用的SDK,讓開發者可以在沒有網路的情況下,也可以開發、測試您的應用程式。

除此之外,AppEngine另外幫開發者準備好許多好用的應用服務,可以直接透過SDK直接呼叫使用...

  • 分散式儲存服務 - Datastore:具備高效能且高可用性的資料儲存體,支援key-value資料的儲存、查詢以及交易(Transaction)等操作。

  • 自動化scale的能力:開發者可以透過簡單的幾個設定操控AppEngine做自動的scale,並且允許在服務流量下降時候,回收空閒的AppEngine主機。

  • 非同步的TaskQueue服務:AppEngine內建專案內共用的TaskQueue服務,讓非同步的請求可以透過TaskQueue來暫存,並且任務支援自動與手動的執行。

  • 排程服務:透過時間的定義,來執行排程呼叫,讓特定的Job也可以定時被執行。

  • 與更多的Google API服務介接:Google服務各式各樣,AppEngine具備整合上的優勢,並且各API的SDK也完整的整合在AppEngine的開發工具中,讓開發者在開發上更加方便。

標準環境的限制

標準環境經過Google的優化,在開發時候必須遵循AppEngine標準環境的沙箱限制,限制包含:

  • 不對本機檔案系統進行寫入:由於AppEngine是動態運作的環境,因此資料寫入到磁碟會有遺失的風險,因此限制資料檔案系統禁止寫入。如您有寫入資料的需求,可以考慮使用Google Cloud Storage(GCS)服務,作為永久儲存裝置,讓所有的instance都可以共同存取。

  • 要求超過 60 秒即為逾時:AppEngine為PaaS服務,為了確保平台上所有使用者在存取網路的品質,因此限制前端存取時間需要在一分鐘之內,超過一分鐘的連線將會被終止。如果您有更長時間使用連線的需求,例如檔案的上傳或下載,可以透過GCS的Upload URL或Download URL來提供上下傳服務,即可避開連線逾時的問題。

  • 第三方軟體的安裝限制:AppEngine的標準環境中,由於優化了執行環境以及安全性,因此限制了AppEngine開發者可以使用的套件,開發者必須遵循可使用的套件進行開發。

Last updated