Justin Tamblyn
Justin Tamblyn

Reputation: 733

How to scale down to 0 instances in GAE Standard Go

I have a deployed a Golang app to Google Cloud Platform's App Engine Standard environment.

My app.yaml included the following lines:

  automatic_scaling:
  min_idle_instances: 0
  max_idle_instances: 0
  min_pending_latency: automatic
  max_pending_latency: automatic
  min_instances: 0
  max_instances: 2

My intention was that the app should scale down to 0 instances when idle and spawn up to 2 instances to handle incoming requests.

After calling the service I noticed that it never scales down to 0 instances.

I opened the service configuration in the web console and found the following:

runtime: go
api_version: go1
env: standard
threadsafe: true
instance_class: F1
handlers:
  - url: /penguin
    script: _go_app
automatic_scaling:
  min_idle_instances: automatic
  max_idle_instances: automatic
  min_pending_latency: automatic
  max_pending_latency: automatic
  max_instances: 2

Is it possible to scale App Engine Standard services down to 0 instances? What should that look like in the yaml?

Upvotes: 8

Views: 5643

Answers (1)

swigganicks
swigganicks

Reputation: 1231

App Engine standard environment scales down to 0 instance by default so you shouldn't have to specify it in your app.yaml. You only need to specify the values you want to change in the automatic scaling. Refer to the documentation for a list of default scaling values under automatic_scaling.

After deploying, you should only have at most 1 instances showing up, but you will be billed for usage which is 0.

(Also note that this does not apply to a App Engine Flexible environment)

Upvotes: 8

Related Questions