Login  Register

Re: Easiest light weight cloud/web persistence for Pharo?

Posted by jvalteren@objectguild.com on Oct 06, 2020; 8:40am
URL: https://forum.world.st/Easiest-light-weight-cloud-web-persistence-for-Pharo-tp5123027p5123042.html

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.

Kind regards,

Jonathan van Alteren

Founding Member | Object Guild B.V.
Sustainable Software for Purpose-Driven Organizations

[hidden email]
On 6 Oct 2020, 00:23 +0200, Tim Mackinnon <[hidden email]>, wrote:
Hi everyone - I’m wondering what is the recommended way to save some simple user data for a Pharo application I would like to run on the cloud (probably initially digital ocean, but could be AWS if it came to it).

Initially I thought I might try and run my little app in Digital ocean (I followed someone’s steps a few years ago, and had a simple seaside app running quite well) - so I was thinking of starting there.

I know there is Sven’s P3 - but I’m not sure I’m ready to run and maintain a SQL database for a simple application, but could be persuaded it its simple to setup with little maintenance. Would mongo be a suggestion - is that easy to setup and run? (And is that Voyage?).

Possibly I could even use image persistence, and fuel out a Dictionary from time to time - but I think that might be a little bit too belt and braces for me.

Is there something that gives a little table of tradeoffs with some simple ways to get started?

Tim