> For the complete documentation index, see [llms.txt](https://gdgcloud-taipei.gitbook.io/google-cloud-platform-in-practice/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gdgcloud-taipei.gitbook.io/google-cloud-platform-in-practice/google-cloud-shang-de-yun-suan-fu-wu/app-engine/standard-environment-jie-shao.md).

# Standard Environment介紹

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

## AppEngine標準環境的計費

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

## 標準環境的支援工具

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

* 安裝開發環境與工具：<https://console.cloud.google.com/code/tools>

除此之外，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開發者可以使用的套件，開發者必須遵循可使用的套件進行開發。
