I'm planning a software based service. To give it a bit of context (type of traffic), assume it similar to facebook in nature (with a little GitHub thrown in).
I've been trying to understand my different hosting options. I've been using a shared host with GoDaddy for years just fine. I currently host a Wordpress web site there and I've not had any problems. Quite frankly, they've taken good care of me.
However, the nature of a shared hosting environment is limited in nature. For example, I can't do anything but host a web site there. For example, I can not run a Mercurial server.
Last time I attempted to build a web application with the intention of eventually launching it via GoDaddy, I ran in to all sorts of troubles because it was shared-hosted. Assembly issues, etc. At the time, the cost and time sank my project. (The lack of direct access was also frustrating.) (to be fair to godaddy, this was over 3 years ago)
I've been looking at Rackspace or Amazon as a possible cloud solution but it seems to be just processing power and bandwidth (and an OS). From what I understand, I'd need to get Apache and MySQL Working on my own. The way cloud hosting is priced, however, seems appealing.
I figure my final option might be to use a virtual private host. I think this would be more flexible than a shared-host site but less scalable than a cloud based server.
So, I guess my question is what is an appropriate solution for someone who intends to build a web application service? I figure that I need to establish a hosting environment now rather than later so I can plan to effectively use the environment.
I'd prefer to be fairly economical to start out with. I really can't afford to pay $999 (or even $99) while I build up the site and get the core functionality online but at the same time, I'd like to have the selected environment grow as needed.
Thank you.
I personally like the private VPS Linode It's cheap and scalable. Starting price is like $20(cheapest single VPS) and you can buy multiple VPSs located in different locations around the world so that you have your own cloud.
Maintenance of course is all on you. You have a dedicated IP and root access, so there are no real restraints. Whenever I setup an Arch Linux VPS, it came with more than just bare bones. It had Apache and SSH already up and running, along with things like sudo configured. From there, PHP was easy to install as was PostgreSQL. Course, the problem with Arch Linux is that it's always changing (you cross your fingers on
pacman -Syu
) but I assume you'll pick a more beginner-friendly distro.They do however have excellent support even for the distro. For instance, I did an update to arch linux and it wouldn't boot. They told me how to fix it and everything. They aren't just like "You have root access, so you don't have to call us"
For getting something off the ground I'd say it's great. Cheap, and doing the simple DB and software setup is pretty easy. I don't think Managed services are required until your site begins to get a significant amount of traffic.
As you mentioned in your last paragraph, money can be a real issue with launching services, especially if it's your first outing.
Until your service takes off, I would suggest that a managed VPS would be most likely the way to go for you. Get them to install your OS of choice, and then you can install whichever services you require. The higher monthly costs will be balanced by the fact that you have someone to fall back on if things hit the fan. Most VPS providers will also backup your VPS for you (you will want to double-check this when taking out a plan) which makes their price overheads well worth it.
Once (and only once) you start to outgrow your VPS, then you should have enough cash flow to investigate other avenues, like moving to a "cloud" (as someone who's been using virtualisation for a while, I hate hate hate that term), or co-locating a dedicated server (which, depending on where you live, might not be as expensive as you think).
As far as developing and testing the site go, do you have a spare whitebox lying around you could just cobble together?
I don't want to shill for Salesforce.com here, but I did see that they offer a free development environment and 100 users at http://free.force.com. If you want to taste true cloud computing, than this is where its at.
The reality though, is that you are probably developing a standard multi-tenant PHP, ASP.NET or Ruby application in which case a VPS would be a appropriate.