Uhuru AppCloud Trial Run
December 7, 2012
by Gregory Saumier-Finch, CTO
As CTO of My Virtual Model, I am constantly looking for new platforms that will increase the performance of our products and reduce operational costs. Over the past couple of years there has been a move towards cloud services spear headed by Amazon. Recently a new category of cloud services has sprung up called Paas (Platform as a service). My Virtual Model has used several of these platforms including Heroku and EngineYard. The basic value proposition is that they allow you to focus on your core business applications, and not worry about IT infrastructure. In principle this is great!
Uhuru AppCloud http://www.uhurucloud.com is a Paas that grabbed my attention last week. Although not officially launched, they boast in their words: superior productivity, any app and best of open source and Microsoft. So I decided to give it a try!
To test Uhuru AppCloud I deployed 2 Rails based applications for a virtual dressing room. One to manage the site's content http://simons-recall.uhurucloud.com , and the other to present a user interface for a virtual dressing room to mix and match bathing suits from a retailer in Canada called "Simons" http://simons-dressingroom.uhurucloud.com/eng. Here is my dashboard after adding the 2 apps to Uhuru:
The deployment worked like a charm. After installing the command line tools, the process I chose was to use the command line tools called vmcu. As I had hoped, the entire process resembled that of Heroku with a few differences, notably the absence of git as the tool to push. Vmcu had is eqivalent push command and the command line prompts were very clear and easy to follow. In a couple of minutes both apps including the database were deployed.
Here is what the user interface looks like:
The database used for the content management part was Postgres. This is mainly because of my experience with Heroku and their preference for Postgres. For local development on my Mac I use the gem sqlite3 and in my Gemfile I specify which gems to load depending on the environment (dev, test, production). In my rb file I use the DataMapper::setup syntax for switching between mysql and postgres to make it seamless. This seemed to work exactly the same as on Heroku. Great!
My final concern with deploying to Uhuru Cloud was the dependancy I have on a C++ library called ImageMagick. Although I have the ruby gem that wraps this library, the C++ library needs to be preinstalled on the server for everything to work. More great news, everything worked out of the box. I was able to get my application running without any hicks. At this point I am delighted!
My overall evaluation of Uhuru AppCloud is A++. I have not tried to deploy any Microsoft apps, so I cannot speak for that side of their platform, but for my needs, which are essentially Rails, LAMP, PHP, Python you can expect to see a lot more activity on this Paas in the future. I still have to explore the ability to autoscale, which is something Heroku is lacking. When I come across any issues I will report them back, but so far clear sailing!