High Availability is a per-dyno setting that controls the kind of AWS infrastructure your dyno runs on.
When High Availability is ON, the dyno runs on on-demand EC2 instances. On-demand capacity is reserved for you and is not reclaimed by AWS while your dyno is running.
When High Availability is OFF, the dyno runs on spot EC2 instances. Spot instances use AWS's spare capacity. They cost significantly less than on-demand instances, but AWS can reclaim them at any time with only a two-minute termination notice. When that happens, NeetoDeploy reschedules your dyno onto another node, but the running pod is terminated during that window.
High Availability is OFF by default for newly created dynos.
When to turn it ON
Turn it on for any dyno where a short, unannounced interruption would cause real impact. For example, production web and worker dynos.
When to leave it OFF
Leaving it off is usually the right call when interruption is cheap. For example, review app and staging dynos.
What happens when you toggle it
Saving a change to High Availability automatically triggers a redeploy of the app. New pods are scheduled onto the correct nodepool based on the updated value.
How it differs from Sleep when idle
Sleep when idle and High Availability are independent settings.
- Sleep when idle is an app-level setting that controls whether dynos run. When the app is idle, all its dynos are scaled to zero and the next incoming request wakes them up after a cold start.
- High Availability is a per-dyno setting that controls where a running dyno is scheduled on on-demand capacity (ON) or interruptible spot capacity (OFF).
When Sleep when idle is ON, the app's dynos are always scheduled on spot capacity regardless of the High Availability setting.