I run an IPFS node on DigitalOcean via Docker — because I run a few other (low resource) containers on the same host I've found I need a reasonably powerful VPS to prevent IPFS from regularly pinning the CPU at 100% because there isn't enough memory available. (This was 0.4.11, I believe more recent versions have a lower memory footprint).
I'm using a DigitalOcean 2GB/2vCPU "Flexible Droplet" which, with 60GB of SSD disk space, seems to be enough memory and plenty enough space.
With a bit of fiddling about you can also get your SSH public key onto your droplet so you can execute ipfs commands from your local machine and have them proxied to your droplet instance and have the results passed back as if it was local. eg:
remote-ipfs pin add QmbygpyEEJtMkiFaQiSTzjCUUzaEpUuphQiUCfktzQNtSC
(I'm having to re-work my solution at the moment as docker cloud is shutting down — huh, today! — I'll post what I end up replacing it with here if I get anywhere)