So I wanted to create a webapp for your product. After starting developing the product soon I was in a launch state and I wanted to go public on internet. I had two questions:
1. Where do i host?
2. Which domain name do I want?
I want to purchase a web hosting where I can host webapps written in Ruby on Rails, Joomla, etc. They are just small webapps and neither require much computation nor attract a large user base.I have couple of options on web hosting plans:
1. Traditional web hosting like http://www.bluehost.com, etc.
2. http://www.heroku.com, which is IMO is highly optimized (and specific?) to Ruby on Rails
3. http://aws.amazon.com/ec2/, which is cloud computing based. It may also provide me Java based webapps (for e.g. if I intend to run lucene, solr for enabling search).
Regarding Amazon cloud based web hosting I reached on conclusion that it is probably not the best thing to start of. Setting it up and maintaining it require some real work. May not be best suited for a budding startup. Here are some excerpts [Source]
- There are three different sizes of EC2 instances you can summon and they’re all probably more powerful than the server currently running your blog. Unless you’re offloading video processing or something intense to EC2, the default small instance with its 1.7GB of RAM and 160GB disk should be more than fine. It’s just nice to know that if for any reason I need a farm of machines each with 15GB of RAM, I can get that easily.
- There are many limitations with EC2 that make it difficult to use unless you carefully build around the EC2 architecture and don’t just assume that you can move your app to EC2 flawlessly. If an instance crashes and you run it again, you’ll loose data and when the instance comes back up it will have a new IP, adding another hurdle with DNS issues. Fortunately, the elastic IP feature lets you assign a static IP address to your instances.
- If your startup is looking to use EC2 as a scalable platform, fortunately there are many services that have already built stable systems on top of EC2, ready for your consumption: WeoCeo, Scalr and RightScale. (Not really useful for ruby on rails – Windows)
- If you terminate an instance and bring it up again, your machine will only have the data initially included in the image. That’s why lots of work goes into making (“bundling”) a good image you will always use that has the configurations and software you need so you don’t have to do much whenever you load the image.
- EC2 really isn’t something to mess with unless you have quite a bit of sysadmin and development experience. Actually using EC2 as an elastic compute cloud usually involves setting up an instance as a load balancer and giving that instance access to an array of active EC2 instances which it can hand work to. Other hurdles include providing multiple instances access to the same database, using Amazon S3 as a persistent filesystem and employing highly redundant backup systems given the relatively volatile nature of instances.
- A small instance would cost 0.10*24*31 = ~$75 just for running (backups, traffic, etc. not included). http://calculator.s3.amazonaws.com/calc5.html
- Google app engine vs Amazon
Heroku is a Rails application deployment platform that’s unique for its laser focus on scalability and ease of use. Heroku provides a well-crafted abstraction layer on top of Amazon’s Elastic Compute Cloud (EC2) that offers a much better mental map for how an application should interact with its deployment environment. Heroku is an App Engine – like service for Ruby applications. But it works differently from App Engine, and has some novel ideas.
- Heroku runs on Amazon EC2, It is basically a wrapper for ruby apps over cloud computing architecture of Amazon.
- There’s a bunch of nice add-ons for Heroku. Enabling Solr will be a matter of writing service.solr = in your app.ini.
- Heroku uses git to deploy.
- With Heroku your app will be live instantaneously (exactly 2 min). You can edit all your code and data from the comfort of your browser—there’s no need to install anything.
- Some good points and limitations of Heroku: http://depth-first.com/articles/2009/10/20/building-chempedia-heroku-deployment-first-impressions
- Video on how to set up your ruby web app on Heroku
- It is pretty much free for small webapps, but costly if you start using its extra features.
- Application that I installed: http://blazing-sky-53.heroku.com/
Traditional web hosting