Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 497
Justin Tamblyn Avatar asked Jul 10 '18 19:07

Justin Tamblyn


People also ask

Can Google App Engine scale to zero?

Intended to run for free or at very low cost, where you pay only for what you need and when you need it. For example, your application can scale to 0 instances when there is no traffic.

Can App Engine flexible scale to zero?

Scaling characteristics While both environments use App Engine's automatic scaling infrastructure, the way in which they scale is different. The standard environment can scale from zero instances up to thousands very quickly.

When using standard app engine How low can it scale down the number of underlying virtual machines when the app is not receiving any activity?

One of the benefits App Engine standard environment's "pay for only what you need" platform as described earlier in Scaling Down is that the system autoscales the number of instances down to zero when there is no traffic.

What are the three modes of scaling in App Engine?

App Engine supports the following scaling types, which controls how and when instances are created: Automatic (default) Basic. Manual.


1 Answers

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)

like image 51
swigganicks Avatar answered Sep 17 '22 09:09

swigganicks