I am planning to set up a Tech startup company that will provide web application solutions. Eventually we hope to diversify into different areas such as possibly social media or other services. For now we plan on running a high demand (from 1000 to 10,000 users in the first year) website running the application. This includes a MySQL database backend, email, and development servers.
My question is then, what type of server arrangement will work best, that is ti say should i have a small cluster of ultra high power machines (E.G. Top of the range Xeons, with 12GB RAM) or will it be better to have more less powerful servers load balanced?
Should I go for 1 - 2 u servers rack mounted ot would it be beter for it just to be tower servers for maintainability?
Finally I would also like to know what kind of Internet and router i would need, I currently have 10mbit down and barely 1 mbit up, but soon our area will have a fiber optic connection with international speeds of up to 25 mbit / sec.
Thanks in advance, RayQuang
UPDATE: sorry I forgot to mention it, the platform that I will be using is PHP with the APC code cache, Probably running Debian.
From the brief overview you've provided; I'd suggest that you outsource your infrastructure in the short-term. You don't mention what your platform will be, but, it sounds like either PHP or RUBY; look at some of the cloud-style providers.
heroku.com is highly reccomended by others for scalable RAILS hosting, I have no experience of either. This is managed style hosting.
linode.com gives you some basic 'cluster' style tools like private IP ranges and failover IP addresses. This will require investment in either your time or money for SA duties.
Start small, build your app so that it can scale-out easily. Scale up as far as you can with RAM and CPU when you need it, then, scale-out on to your own hardware / datacentres as needed.
Remember, CPU/RAM goes UP, prices come down over time. If you can make your app work for the next 12 months, you should be able to scale-up performance to meet demand without spending any extra money.
You don't want to host from your office as is implied from your post, you may be able to get fibre, what about redundant switches. What about load-balancers, cooling, replacement parts. All of these things cost time and money whcih is better spent on building your app.
Good luck.
Andrew