The platform bill often buys the boring glue you skip on a lone VPS: zero-downtime releases, secrets injection, health-gated rollbacks, and logs that outlive the box. On bare metal I recreate that with a process manager, a reverse proxy that can drain connections, and a deploy script that never leaves the last good binary until the new one passes a local health check.
Where self-host wins is control and cost once the runbook is real. Where it loses is the first 3am when DNS, TLS renewal, and a stuck worker all fail together with no platform console. I treat "I already have a VPS" as the start of an ops checklist, not the end of one — backups, disk alerts, and a tested restore matter more than which PaaS you left.
Node Edge Ops
The platform bill often buys the boring glue you skip on a lone VPS: zero-downtime releases, secrets injection, health-gated rollbacks, and logs that outlive the box. On bare metal I recreate that with a process manager, a reverse proxy that can drain connections, and a deploy script that never leaves the last good binary until the new one passes a local health check.
Where self-host wins is control and cost once the runbook is real. Where it loses is the first 3am when DNS, TLS renewal, and a stuck worker all fail together with no platform console. I treat "I already have a VPS" as the start of an ops checklist, not the end of one — backups, disk alerts, and a tested restore matter more than which PaaS you left.