There is a middle ground of running it on a Heroku-style PaaS hosting for example Docker containers. No Next.js. Don't go for the complexity of kubernetes unless you really know you want it or need it.
Similarly for the database, you can do managed postgres, clickhouse, etc.
This way you get away from the vendor lock-in. You should be able to migrate providers in the future without too much work and have a clear path towards hosting on a VPS or your own servers when you get enough traffic to warrant it.
Effective cost should probably fall somewhere in the middle, too.
But you won't have to deal with most of the ops headache that comes with the VPS approach: OS updates, firewalls, filesystems, startup orchestration, log file rotation, etc.
There is a middle ground of running it on a Heroku-style PaaS hosting for example Docker containers. No Next.js. Don't go for the complexity of kubernetes unless you really know you want it or need it.
Similarly for the database, you can do managed postgres, clickhouse, etc.
This way you get away from the vendor lock-in. You should be able to migrate providers in the future without too much work and have a clear path towards hosting on a VPS or your own servers when you get enough traffic to warrant it.
Effective cost should probably fall somewhere in the middle, too.
But you won't have to deal with most of the ops headache that comes with the VPS approach: OS updates, firewalls, filesystems, startup orchestration, log file rotation, etc.
When you have the necessary skills to do so.