Well, I’m not a real expert at hosting solutions, but here’s what I’ve learned:
There are 4 possibilities when hosting online:
1. Buy cage space at any number of hosting spots. They give you a cage, with electricity, network ,and air conditioning, and you have to do the rest (fill in hardware, cables, etc.). You also get a service of a person who will go in and flip a power switch if you need it, so you don’t have to have someone on site).
I’ve been told that the costs start to balance out at around $1m, anything below that you should use the other options. This is the cheapest solution if you have enough traffic and requirements to fill in the marginal cost, but is not for the average startup with $100k in the bank.
2. Use hosting solutions. There are many, of all kinds, they vary in reliability and options, and are mid-range as far as costs are concerned. A few months ago I would have said: use that if you want to get going as quick as possible, but now I know there are better options (see #4). I guess the only reason to use that solution is if you are too big for option #3 (coming up), and too small for option #1.
3. Use PAAS such as EC2. This is a very nice option, gives you endless scaling capabilities and easy deployment of (almost) any kind of environment, and best of all: you pay only for what you use, for as long as you use it. You need 1000 Linux computers for the next 30 minutes? setup one, duplicate 1000 times, and there you go. Will cost you a couple of hundred bucks, but that’s it. Amazing! By the way, Amazon has free hosting for small environments so if you only want to play around, you don’t pay anything. Haven’t played around with Azure, but I assume it works the same.
As far as I know this is the most expensive option, if you need an online solution which is constantly available and has high traffic and data requirements, I think you’ll balance out with option #2 in no time, and at some point will obviously get to #1 as well.
4. PAAS Level 2 (Cloudbees, Google apps engine, and the likes). This is the best solution possible for startups at their early stages in my opinion. I’ve been using Cloudbees for the past 2 months now, COMPLETELY FREE, and their solution rocks. You get code hosting (I’m using GIT but you can also use SVN), as soon as you checkin your code and push it upstream to their repository (built into Eclipse if you use it), your code is copied over to Jenkins (I’ll get to CI in another post), and if all tests pass, your application is deployed in the cloud (on their app servers, I think it’s Tomcat). You get access to a couple of DB’s (I’ve used MySQL and MongoDB) so you can save data, they have different monitoring solutions to complement, so in the end, you get a complete Continuous Deployment solution, with minimal effort and knowledge.
Just to be clear, I don’t work at Cloudbees, nor do I have any stocks, I just think what they did is absolutely phenomenal. You can look at a youtube video which shows from zero to CD in 30 minutes using Cloudbees right here. Check it out, it’s well worth your time.