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?
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.
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.
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.
App Engine supports the following scaling types, which controls how and when instances are created: Automatic (default) Basic. Manual.
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)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With