In a response to another question I described the setup for my site, https://pocketgophers.com. It written in go and:
- starts with the VPS starts/restarts
- updated with
git push
- updates are graceful, meaning old connections are not dropped (until a timeout) when the new version starts
- if the process dies it gets restarted
As far as I know, this is as persistent as a process can get.