Setting an allocation
- Console
- slipway.yaml
Open the service’s Compute tab and move the CPU and memory sliders. The tab
quotes the allocation per second, per minute and per month before you save.The sliders stop at your plan’s per-service ceiling.
cpu accepts a number of cores (1, 0.5, 2) or a millicore string ("500m"). The
minimum is 100m and the value must be a multiple of 50m.
memory accepts 512MB, 1GB, 512Mi or 1Gi. The minimum is 128Mi and the value
must be a multiple of 128Mi. Decimal suffixes are normalised to binary.
Set one and omit the other, and the omitted one takes its default.
type: static rejects both. A static site is served from the CDN and never occupies a
pod.
The
size: field was replaced by cpu: and memory:. A spec that still uses it fails at
parse time with a message pointing here.What it costs
Compute is metered by the second against the allocation a service is configured with, so
a service that sleeps costs nothing while it is asleep. Disk, backups and object storage
are metered on what is provisioned or held, whether or not the service is running.
A service at 1 vCPU and 2 GiB costs
1 × $8.76 + 2 × $4.38 = $17.52 a month if it never
sleeps. Metering is on elapsed seconds with no minimum increment, so a service alive for
90 seconds is charged for 90 seconds. A sleeping or
paused service is scaled to zero and costs nothing while it is.
A cron service is charged per run, for the length of the run.
The rate is frozen onto the deployment when it goes out. A change to platform rates or to
your configuration applies once the pod is actually running the new shape, so the charge
always describes what is running.
Monthly minimums
The platform operator can set a minimum monthly charge per service type. The default is $0. Where one is set, a service of that type that ran at all during a billing month is charged at least the minimum, topped up at the end of the period. It applies per service, per project. Any top-up appears on Settings → Usage as “Monthly minimums”.Plan ceilings
Each plan caps what a single service may be configured with.
The console’s sliders stop at the ceiling and the API refuses a larger value.
A deploy behaves differently. A spec asking for more than the ceiling, such as one pushed
after a plan downgrade, is clamped to the ceiling and the deploy proceeds. slipway records
a
resources_clamped event on the deployment. A push never fails because of a billing
boundary.
Bursting
The CPU number you configure is the limit. The scheduler reserves a fraction of it as the request, so a service can burst above its reservation when the node has headroom. Memory is always reserved at the full configured amount, because memory cannot be throttled, only OOM-killed. Managed databases are the exception on CPU: a database created from the Database page reserves its full CPU allocation and does not burst, so its latency does not depend on its neighbours.Overriding an allocation per project
A project can override CPU and memory per service on its Settings → General tab. Use this when the same repository should run small in one project and large in another without branching the spec. Precedence, highest first:- The project’s per-service override
cpu:andmemory:inslipway.yaml- The default, 0.5 vCPU and 512 MiB
Changing a running service
A compute change is applied to the pods that are already running. There is no rebuild, no rollout, no dropped connection and no new deployment. Disk-backed services and databases resize the same way. Billing moves at the same moment. slipway records aresources_resized event on the
deployment and narrates the start and finish in the service’s Logs tab.
When a redeploy is needed instead
Three changes cannot be applied to a live pod. In each case the service keeps running as it was and the console offers the redeploy.
Editing
cpu: or memory: in slipway.yaml takes effect on the next deploy, which is
what the push triggers anyway.
If a pod is replaced
A resize applies to running pods while the workload template still holds the previous numbers until the next deploy. A pod replaced before then, by a node drain or a crash, starts on the old allocation. slipway moves it back to the current allocation within a couple of minutes, again without a restart.Related
Scaling
Run more than one copy of a service, at a fixed count or autoscaled.
Automatic compute
Let slipway raise an allocation before the service outgrows it.