When a Go service is ready to leave the local machine, app.yaml gives Google App Engine the deployment details it needs. Stored at the project root, it identifies the runtime and application entry point, while App Engine manages the underlying servers, libraries, and isolated runtime. A CI pipeline can deploy the application after tests, then call the resulting endpoint for fast feedback. section 4.6
A small App Engine deployment
The configuration selects the Go 1.16 runtime, starts the application from ./cmd, and uses /health for both liveness and readiness checks. Readiness checks run more frequently and allow up to five minutes for startup. A pipeline can deploy this configuration and curl the deployed translation endpoint. section 4.6
Listing 4.8 app.yaml
runtime: go116 main: ./cmd liveness_check: path: "/health" check_interval_sec: 30 timeout_sec: 4 failure_threshold: 2 success_threshold: 2 readiness_check: path: "/health" check_interval_sec: 5 timeout_sec: 4 failure_threshold: 2 success_threshold: 2 app_start_timeout_sec: 300
Inspect the complete app.yaml example, including runtime, entry point, liveness settings, and readiness settings. section 4.6
