Presentation of rackincloud.com (new Pharo hosting)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Presentation of rackincloud.com (new Pharo hosting)

mikefilonov
Hello,
 
My name is Mikhail Filonov and I am here to present my project "RackInCloud – virtual appliance hosting" to the community.
 
Some time ago I created several Seaside applications and faced with the fact that it was quite a job to host them. After couple futile attempts I could not find any satisfied Seaside-hosting solution. Other option, running and configuring a VPS with Pharo/Seaside seemed like a non-trivial task that requires some skills.
 
You should be very motivated to host your seaside application, right?
 
I'm sure, this kind of troubles might be a huge barrier for people who want to try Smalltalk. I believe existence of easy Smalltalk hosting is an essential addition to Seaside with its beauty and power, which in its turn should attract more people to the community.
 
At the time being I know several ways on how this issue could be solved.
 
First of the existent solution – seasidehosting.st. This project has several strong constraints on its use though, which limit possible applications it hosts. Frankly speaking, I also don’t share the way their management is organized: it is really not obvious for new user how to deploy and manage your Smalltalk image. Another trouble with seasidehositing.st is that it is a little bit outdate: http://forum.world.st/Pharo-dev-rackincloude-seaside-hosting-tp4701427p4701490.html.
 
The promising successor of seasidehositing.st – the smalltalkharbour project - seemed to set a very good set of aims for them: http://smallharbour.seasidehosting.st/seaside/seaside/seaside/seaside/seaside/pier/project. However it seems that smalltalkharbour team chose a very long road to the success and now this promising project is dead: the last news is dated with 11 August 2011, their main site does not respond. Moreover as for me, the way of management that is set by seasidehositing.st is not very convenient. For example, it is not possible to use monticello to update my application on hosting or to use external services like MySql or mongodb. Moreover there is a performance concern: by moving memory- and processes- expensive tasks from Smalltalk to other services, Seaside might be used with all its beauty and speed for Web font-end development. Even Seaside developers share this approach by recommending to move "static file sharing" task outside of Smalltalk to Apache server: http://book.seaside.st/book/in-action/serving-files.
 
So when we talk about Smalltalk hosting, it is not correct to think only of Seaside: it is important to find a more general way to manage the whole infrastructure of external services for easy deployment.
 
RackInCloud might solve this issue with the idea of "appliances" — the pre-configured VMs which are built to serve one single function (ex., MySql-appliance, FileServer-appliance, Pharo-appliance). One great benefit of this approach is that we can prepare all necessary ISO images for the services and deploy them when needed, so that a developer can easily build their own service environment – just running all necessary services in one click in a personal "virtual rack".
 
Thereby I developed a Pharo-Appliance. It is an ISO image that runs Pharo-vm and provides developer with an access via VNC to the Pharo developing environment, where it is possible to use your favorite tools to deploy your application: you are absolutely not limited in configuration of the hosting. Ideologically the appliance is a non-installable ISO-image with minimal memory footprint (approx. 60Mb), where it is supposed that only user data is stored on a hard disk (Pharo image in the case of Pharo appliance) and all the software and libraries  are loaded directly from a system ISO-image. This makes it possible to startup a new Pharo instance in "one click". Here you may watch a short video of the full process: http://www.youtube.com/watch?v=1V75LFgdxHY or you may simply try it out on http://www.rackincloud.com (it is free for a trial).
 
In my opinion this approach is far more generic then the existing ones. It does not limit the developer in how to use the hosting. For example, here you can read the comment, written by Janko Mivšek, the author of Aidaweb Smalltalk Web application framework on how he run his framework on RackInCloud: http://forum.world.st/Pharo-dev-rackincloude-seaside-hosting-tp4701427p4701655.html. So it is important that here you are not limited only to Seaside. Anything, that can be run on Pharo, can be run on rackincloud.com. Moreover, if it cannot be run on Pharo for some reason, we can apply the same approach to build the appliance you need and run your application in coherent environment.
 
In conclusion let me mention, that this is a very first run of rackincloud.com. This is only a starting point (though we have already implemented most of smallharbour project vision here :) ) and in the future I plan to develop the service further on.
 
If this project finds interest among the community, I already have a lot of ideas on how to enhance the service. So let me invite everyone to test it and I'm really looking forward to hear any feedback from you, guys. If you have any ideas, please contact me.