Starting your business, in less than a week, with Rails on Google App Engine

Bold words, wouldn’t you say? But that’s the case for me and I’ll try to explain.

It was less than a month ago that I quit my job in pursuit of what we (developers) define as programmer happiness: working your way, in your own time, under your own name with the tools that you (and you alone) choose to work with.

The time had come for me to start something of my own... and relatively fast, without investing a small fortune in hardware and software, so Google App Engine was an obvious choice. Problem was I didn't speak Python and Java didn't fit my definition of happiness but I was determined to deploy on App Engine and so I searched for another language that I could utilize on Google App Engine.

A little while ago I had discovered a *gem* in the GAE ecosystem: appengine-jruby, that could allow me to use Ruby – a language that I could see my self writing - with Rails or Sinatra. At that point in time appengine-jruby for Rails wasn’t a viable option (you could indeed write your Rails app and deploy it, but 99% of the time it wouldn’t go live because of spin-up issues, caused by the fact that Rails needed a solid 30+ seconds in order to start which resulted to GAE throwing a beautiful Deadline exception in your face) and on the other hand Sinatra didn’t meet my expectations for a web app framework.

But I’ve wanted to use Ruby on Rails for a long time (I felt pretty strong about using Rails, mostly because I was curious whether it could deliver what it promised) and there I was, having found my platform (GAE) and a ninja/hack-ish/don’t-do-it-at-home-you’ll-get-hurt kind of way, that no one else seemed to believe that was production ready.

Now… I’m not a code ninja. I don’t wear a black belt and use a Katana keyboard but since I was determined to have an app up and running in less than 30 days, I had to learn a new framework (Rails), write my first app, test it, deploy it to a platform that didn’t support it out-of-the-box, advertise it and someplace along the way try to make some money out of it.

Sadly, I lost the first 15 days of that 30 day time span and along with them my *research* time. Which was a good thing as if I had started trying to figure everything out, it’s possible that I would have abandoned the whole Rails on GAE idea, as everything seemed not to be ready for production and I really had to get my hands dirty in order to fix things that usually no one has to.

So what I did was this: Went to http://rails-depot.appspot.com/, followed the guide and started a new Rails project. I had the the alpha release ready by 26/3 (the rails spin-up issue was manageable by then with a 20 LOC patch that anyone can find on the jruby-appengine community – yeah I got lucky). The release version was up and running by 29/3.

All I invested in this app was time, nothing more, and frankly I don’t see myself writing anything other than Rails and deploying to no place other than Google App Engine for all of my personal projects.

Sure I’m a solid .Net developer with extensive background in that, and perhaps that’s the way I’ll keep paying my bills in the near future, but writing Rails and jumping on the jruby-appengine wagon so much early in the game, is something that has changed my perspective on a large number of issues. I got an app up and running in less than 15 days, on a cloud computing system offered to me for free by one of the world’s leading IT companies.

This seems like an awfully long blog post but I had to get it out of my system. Get it out to you and hope that you’ll consider using Ruby+GAE for your next project. Sure the community and the software are still immature but we are building strength in numbers day by day, patching things along the way and making this platform a solid and viable option for any project no matter how big or small.

about the app – taxster.gr

You can find the mentioned app at taxster.gr.

It’s a receipt management application for Greek tax payers. Our parliament passed a law that makes us gather all the receipts we get throughout the year and submit them to the IRS. The purpose of the app is to offer a simple solution to managing your bundle of receipts, with reporting, analytics and export capabilities in various formats.


Comments

Add comment


(Will show your Gravatar icon)  

  Country flag

biuquote
  • Comment
  • Preview
Loading



Something useful (hopefully)

micro-blogging

@twitter: azazeal

Search

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my my associates' or empoyers' view in anyway.