I have been hosting my own River4 server on Heroku, using Amazon S3 to store the data files. A year ago when I first set River4 up the Heroku free account did not have the shutdown requirements it has today. Heroku announced the changes to their plans last fall but did not start enforcing them in July.
I had forgotten about the changes Heroku was making until a month ago when I started noticing that my River4 server on Heroku was shutting down randomly unless I kept the River4 dashboard open. Apparently the free service is set up to shutdown if there is no inbound web traffic over a thirty minute span. I didn't have time to work on alternatives, so I decided to just sign up for the monthly hobby account, which at $7 per month isn't too bad.
Over the last couple of weeks I have been exploring different cloud hosting options for a couple of reasons, one being that I have been studying Docker and using River4 as the subject for building my own containers. Another reason is that Dave is working on a refresh to the EC2 for Poets he wrote several years ago, using River4 as the topic for the tutorial on setting up your own server on Amazon Web Service based on a custom image he built, and I did some testing of the tutorial.
EC2 for Poets got me wondering about other cloud services, and whether I ought to move my River4 server from Heroku to one of the other services. Yesterday I looked at Azure and Google Cloud Platform and found that Google has the most competitive compute prices. I figure you can probably run a River4 server on GCP for $5 to $6 per month, which is less than Heroku, AWS, and Azure.
Another, cheaper option, is to buy a virtual server at CloudAtCost. CloudAtCost has several plans, for which you can pay per month, or "buy" a virtual server for a one time charge. Last year I bought a Developer 1 server on which I am hosting Fargo Publisher, which is the back-end to my blog publishing environment. Right now CloudAtCost has a 50% off sale, so last night I decided to buy a Developer 2 server, which has much more horse power than any of the instances I tested on AWS, Azure, or Google.
I figure that while I can run River4 on this Developer2 server, I can also use it for any other DevOps software that I may tinker with in the future. Rather than install Node.js on the server, I have installed Docker to use the River4 container I created. I even went so far as to buy a domain to point at the server, MyWebStream.net. I had my new River4 server running in about 15 minutes, and I have switched my Heroku server back to the free service.
After using CloudAtCost for a year, I am comfortable endorsing the service. My server has been pretty reliable, although there has been some maintenance that has caused me to do some unexpected reboots. The servers I host with CloudAtCost are solely for my use, so there is no real pressure to keep these servers running non-stop.