Should a Web Startup Go Straight To the Cloud?
Javaman59 writes "I am a one person company developing a web site from home. The site is hoped to attract millions of accounts and daily hits (just to give an idea of the scale of things, as its important to the question). My infrastructure is currently Visual Studio 2010 on a PC. To progress the site I need to set up version control, continuous integration, and staging. I have a Win2008 server VM, with all the Windows software (free and legal) to do this. However, I am only just competent as a Win admin, and I foresee each step of the way (setting up a domain; SQL-Server, etc) as a slow, risky process, and a big disruption to development. Should I forget my VM server (it will make a nice games machine!) and just go straight to the cloud for all my infrastructure?"
I really don't understand why a small web startup would go with Microsoft. The licensing costs when you (hopefully) start to scale up are going to kill you. There's a reason that all the big-hit startups over the past decade weren't standardizing on Windows as their web platform.
What you really need to do is find an entity who can help you with the tech mechanics. That entity could be a friend you promise to reward later, a business partner you legally go 50/50 with, an independent consultant you hire, a company (large or small) you hire. But you're asking really basic questions about stuff, so you obviously need some help. Moving to the cloud just moves the problem to some place you can't touch; it doesn't address it.
(If you're offended by the suggestion that you need help, you need to adjust your thinking significantly, or abandon the idea of going into business for yourself. No one person can do everything, and any successful business person will need to realize that early on.)
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
'The cloud' does not set up your infrastructure. It does not design or enforce your version control. It does not harden against SQL injection attacks.
Your 'infrastructure', Visual Studio on a PC, is not infrastructure. That is merely a basic dev box.
Staging? Needs to be a small scale duplicate of production.
Do you have any clue? Apparently not. If you did, you'd hire someone else that actually knows how to do this. Because you clearly do not.. You have an 'idea'. An idea that you apparently cannot bring to the public.
Sorry, but that the truth.
The guy above said you're not qualified, but the young and inexperienced have come up with plenty of new and innovative stuff, so:
I think the question is: If not cloud, what?
In no case would I run the site from home. You'll probably get your home Internet yanked.
Cloud usually implies the ability to instantly increase/decrease the size of your server. I don't think you need that at the start.
You could go with a cheap VPS. In fact, I think that's what you should do. You should be able to take a stock Windows VPS and install your application, and have everything working. Either write an installation how-to, or reduce the steps to a script (PowerShell or whatever).
After you're able to do that, you could start looking into cloud provisioning, separate database server, database replication, DNS proxying, round-robin DNS, backups/rsync, https and SSL certificates.
You'll need to run email on the server, too, if only to send notification messages to your users (or to yourself). So you need to learn about how to administer and email server. Or rent and Exchange Server.
You also need to learn about CANSPAM requirements.
You'll need to have some kind of monitoring service to alert you to problems with your server. collectd is great for this on Linux.
You also need to look into which ad service you'll be using. Or alternatively, which payment service. Don't keep credit card numbers on your site, don't manage subscriptions by yourself. Let the payment processor do it.
I'm not a lawyer, but I play one on the Internet. Blog