Currently doing 'everything' on open stack. Can't agree more with @orestis managed services will save you a lot of time, hassle and errors.
Oh yeah Heroku is actually better.
Herokus simplicity is really great, but keep in mind that you cannot have private networks on Heroku. Every service can be reached from the internet
I believe http://render.com has private services
DigitalOcean, too. They provide managed databases and private networks
To clarify: what I mean by private services, is that you can deploy a backend service, heroku style, but it won't be accessible from the public internet.
DigitalOcean is just VMs + managed DBs, not quite heroku-like experience