Heroku, Firebase and Netlify usually. I'm using Firebase and Netlify for <a href="https://www.checkbot.io/" rel="nofollow">https://www.checkbot.io/</a> at the moment (it's a Chrome extension that tells you how to improve your website). Minimal hosting costs and I don't have to worry about what happens when traffic picks up.
I self-host some, with the rest at Linode. Self-hosting is a little hard for me as I don't have much hardware; I'm hosting various services on Raspberry Pis and old laptops with one rpi as a reverse proxy for all. Though I don't recommend it to everyone, as there's a serious security risk if you don't know what you're doing.
I’ve been happy with Digital Ocean. It’s versatile, and so far reliable for mainly small to kid-sized projects. YMMV. From what I understand they’ve improved over the years.
Digital Ocean: Reliable, flexible location choice (US, EU, SG), simple, good pricing for what I need (mainly, small instances, one instance dedicated for one project).