Very easy to use and cheaper than heroku.
* push to deploy
* auto-restart
* managed db
* easy scaling
* s3 object storage
* don‘t spend time on updates
* web ui (monitoring, basic logging, configuration, ..)
- Debian OS, fully locked down (all ports closed except SSH, with limiter).
- SSH + rsync to deploy app. I don't have a risk factor of managing dependencies between dev and prod, so I eliminated docker.
- SQLite db that gets thrown on S3 every hour using a python script. I don't want streaming anything. Just hourly backups is good enough.
- Cloudflare tunnel to connect to outside world and serve requests.
It is fast, cheap and requires not much "infra" knowledge. Of course this is for solo devs and small companies.