This looks good, but I haven't tried it yet. About 5 years ago I blogged how to host a Pharo based web app on a Linux VPS - fairly easy, but still some work.
Ephemeric Cloud prices look very reasonable, even for hobby projects. $2/month for a 256MB appliance seems like a good price. My old Pharo web app used very little memory so with 256MB, there should be headroom to also run a data store (or use the free tier of something like Cloudant). I assume that a single appliance would run a Pharo image + SQLite?
The cloud offer with the price you cited is similar to running pharo on you own virtual linux machine. The ephemeric cloud is different: it uses pharo images themselves as containers and provides a simple Rest API to start them up.
Cost is $10 for up to 20 running images, the free account gives you already one to play.
The difference is that the ephemeric image is never saved, gets automatically killed after 30 minutes (and restarted when needed).
Just to clarify the "gets automatically killed after 30 minutes (and restarted when needed)" that's 30 minutes of inactivity, and gets restarted when a new request comes in.
> First, an Ephemeric application is "paused" after 30 minutes of inactivity. It means that the Pharo Image is stopped and all the associated resources are removed from the memory. Ephemeric Cloud is designed specially for web solutions hence by "inactivity" it is meant no HTTP requests sent to the Ephemeric. The system automatically starts the Epehemric application upon the next request so for the user it looks like it was never off.
How fast is the restart after it gets killed? I am thinking of brochure sites using SandstoneDB. What is the best way to save data to be loaded into SandstoneDB - class-side methods perhaps?
The restart is like 5 seconds or so. Of course, it depends on Image. Please keep in mind that Ephemeric instances are not able to save data to a local disk, so there will be restrictions on using SandstoneDb.
To store data you may run Mongo DB and configure a secure channel from the ephemeric or just use Pharo appliance at Pharocloud - with disk, no restarts and without other ephemeric restrictions so you will be able to use SandstoneDb on a full scale.
Very interesting. I don't suppose the hosting-platform is going to be released as open source too? Granted, self-hosting an image that also work with the pharo-cloud shouldn't be too hard -- but it's always nice to have the option to easily move hosting "in-house" if that is needed. Would be nice to just be able to update the post-url and tokens, and keep using the same tooling for that use-case.
Smalltalk is one of those environments that I expected to see a VM image that I could deploy. I see GemStone/S has one, but SqueakNOS seems like a dead project. This looks like a cool project, but I do wish a self-hosted image (perhaps for VMWare) existed. It would make for interesting Seaside deployments.
Since this looks like official support, it could have a command for it? Like: `pharo provision ephemeric` or even `pharo publish` and have the provider configured somewhere?
Ephemeric Cloud prices look very reasonable, even for hobby projects. $2/month for a 256MB appliance seems like a good price. My old Pharo web app used very little memory so with 256MB, there should be headroom to also run a data store (or use the free tier of something like Cloudant). I assume that a single appliance would run a Pharo image + SQLite?