Hi Tim,
I've been running Seaside applications on Hetzner cloud servers for more than a year now, with great pleasure and success:
https://www.hetzner.com/cloud
I guess their servers are similar to Digital Ocean, although I haven't followed the development of their products and solutions for quite a while. Setting up a new server at Hetzner is a breeze, and you can start already for as low as €2,49 per month!
We're using Voyage on MongoDB for persistence. After learning some hard lessons (and I'm sure there are more to come ;-)), I really enjoy the unobtrusiveness of it. Most of the time, it doesn't require much attention and allows me to add persistence to real OO designs quickly and easily. I find it a welcome change from the relational database work I used to (need to) do, back when I was still doing Java. The 'everything an object' principle of Pharo/Smalltalk really makes it shine.
I can't help you with a list of tradeoffs though. If you come across a set of arguments, I'd be happy to give feedback.
By the way, I forked Sven's pharo-server-tools project (here:
https://github.com/objectguild/pharo-server-tools) and have a routine going that suits me well enough. Still lots of room for improvement, but it's OK for my current needs.
Future plans are to use the Hetzner API to provision a new server and use something like Chef or Ansible to install/configure it automatically to be ready to deploy a Seaside application. I'd like to integrate this into a full service CI/CD pipeline in the future, to be able to do automated production deployments without service interruption if possible. For this scenario, I would really also like to switch to using GemStone for persistence.
Hope this helps! Let me know what you decide and I might be able to help with some technical stuff.