I’ve been projecting for sometime my tag based search engine for sometime now. And while it is something relatively simple, query performance still have a great impact on that matter.
It should be a project, with roots in gamification; and I choose Ruby on Rails, and not GAE’s Python or Java framework due I do not want to be stuck in a hosting platform for whatsoever reason.
AppEngine, what’s great?
AppEngine has many, cool things. Those including some that should make my life a lot simpler
- Generous elastic free quota for all stuff I needed
- BigTable, with stable performance (it is suppost to perform so well with thousand entry through a million )[demo]
- They have the type List in DataStore, witch is exactly what I need to make a good queries
- Should scale seamless, no pain
- Have a great panel, that allows easy data manipulation, and great reports.
AppEngine, what is bad, for Rails?
After building my hello world on GAE, things looked awesome; a proof of concept right there! Rails 2.3.8 running smooth.
But then it began.. migration, data backup, gems like omniauth, sorta elaborated queries.. where to look for all those stuff? Rubygems system is disabled, and no doc is easily found, if any doc is around. So I got to go build conceptual proofs for all those things?
So it happens, that their landing page for Rails, is stale for years; a big turn down! And still it hard to find some decent support for Rails (@woodie does help in docs, but can’t be accepted as the only source)
Recently they’ve announced a they are going beta with the Go language; what sounds really great, still in practice it mean Ruby won’t be getting support (if ever) in a very long while.
So, Heroku and why
For being a Computer Scientist . I am a big fan of Google capacity of execution and performance for years, but the downsides have been just too great too keep on. So let’s check Heroku.
- I had prior experience there
- Heroku offers Rails out of the box, working with Omniauth.
- They also have a free quota to try (1 dyno ~ 10-50req/sec)
- 240MB from MongoLab
- Nice features
- Robust and elastic scalable (dyno charge per hour)
The pro in this scenario, is that they take Rails with all gems I could need, no harass there, things just work! And if I grow tired of then, I can just switch host 🙂
Why not a VPS? I’ve had Linode for sometime now, they have some great management panel; but the concern about the O.S. security and app scalability is considerable.. Sure is cool to config all my features from the ground; but considering business, this kind of setup must be taken professionally.
Google AppEngine, or GAE, is a great platform, for their supported languages. If I were to host there, I would definitely learn Go, for all great features intended, and the attention Google is giving it.