New data center hardware, what do I need?

I will be sitting down tomorrow with a local hosting facility to discuss creating a small data center dedicated to my web portal and I would like to know given the following facts, what I should make sure that I get, any questions that I should make sure that I ask the hosting faciltiy and hardware recommendations.

We have a web portal that will be accessed by the medical community. One server will host IIS and Sharepoint, the second will host SQL Server 2005. The website's front end is Sharepoint and the backend is SQL. Storage will be separate.

As we are a new company working with limited funds, we are interested in an offering from the hosting facility to use their Infrastructure as a Service model. We can pay a monthly fee after startup costs for only what we need and can expand easily [more servers, more storage] as our traffic grows.

We need to be redundant and able to expand easily. Our test data center was running IIS and Sharepoint as VMware servers and storage, and separate dedicated Dell boxes for SQL.

We were thinking about using 2 VMware servers each with a copy of the website and Sharepoint loaded on them. Just in case one server goes down we have the second. We thought that as traffic increased we could add another VMware server with IIS and Sharepoint. We thought that we would need to purchase dedicated boxes for SQL as we have been told that SQL when it starts getting a lot of activity will not run smoothly. [is this true?] We also want to use load balancing so that as traffic and processes increased the 2 SQL servers and VMware servers can share the load. And as we grow and add more VM's and SQL boxes redundancy and load balancing will become more important.

We will be using their SANs and paying for 100GB increments. As we grow and we will grow as part of our offereing is to become a repository for our clients data. And this is another reason why we want to use this kind of model, because we have no idea how fast the data or traffic will grow.

Some of my questions I would like answered are:
How many processors for the SQL servers?
How much memory for both VM's and SQL servers?
What is needed to load balance?

thanks in advance. I know I will get some great responses as this is the reason I keep coming back here with my questions.
Who is Participating?
Ok,  SQL server is not a terrible choice  for a moderate-sized or even a large site;  Oracle is highly expensive by comparison, although it scales to a much more massive level.  4 cores 16GB of RAM is probably much more than you need on one server to just run one instance of SQL, for a long time.

It's much better to oversize, than to undersize; however,  unless your provider allows you to very easily change equipment practically on demand.   My thinking is based on the thought you may want to actually run 2  copies of SQL server  on the same physical equipment,  using virtualization.

For example, to allow you to have a  "production database",  a "testing/staging database",    so there is a place to  test and stage  changes
before moving them directly active on your main site.

And six month later, hardware will be six month old (at least 5%  value lost), and by the time it will get to the "pick" of usage- will turn out be either overkill, or undersized, for particular services.
I would say you should never lease anything without a sanity check.

If you are leasing two servers for $200/mo each total,  you will have spent  $2,400 after 6 months, and never owned anything that "had value" to be diminished.
Whereas, if you had searched and found say two refurbished $2,500 servers, much more powerful than needed, that lose 6% over 6 months they're now worth $2,350.00, each, a total cost of $300.

My math may be a bit rusty, but I think the 6%, a cost of $300  for owning 6 months is much less than a charge of $2,400 in lease/rent.

Now even if the  purchased server doesn't suit my needs,  i'm still better off than if I had leased it.

The two things are still worth  a total of $4,700.

If the problem is that the servers are way more powerful than you need;
this is a very high-quality problem.
I suppose you can add some CPU throttling or find other tasks to load on
the servers, so you can save any perceived money lost on power usage.

Hopefully if the influx of customers exceeds your wildest expectations,
this is also a high-quality problem, and the increased profits associated with
having more visitors  should offset  costs related to expanding capacity,
and selling servers if absolutely necessary.

Servers as a service is a very interesting concept, but I think you should still do a little bit of math to make sure it is not ridiculously overpriced.

If it costs you more in  6 months worth of monthly fees alone to have some
particular component as a service, then in many cases it's better to buy it
outright and get much more than you need...

Due to the fact , that you are small company, you might be better off lease hardware - you will need 2-3 boxes, each around $200/month.
After you established, and will realize, that hardware is not handling traffic, or have other related problem, than you can think about moving over to particular hardware.
At this point it is too much varibles, and will be waist of money, hardware getting cheaper and better every day, and do preize calculation is totaly overdo.
Um,  if it takes $400/month for leasing a total of 2 servers for 12 months that's  $4,800, and you own nothing after those 12 months.  For prices like that, you can possibly buy a server and have it more than meet your needs for years,  it just depends on how quickly you anticipate growing.

If you expect to have a million visitors a day in a year, it's very different from expecting  1000 visitors a day avg a year from now.

I would start with 1 or 2 servers compatible with ESXi hypervisor and use the free single server partitioning license.    

Get decent hardware: something 64-bit with a bare minimum 4 cores at minimum of 2ghz each,  i.e. a  quad-core proc,  or a dual cpu-socket system with 2 dual-core CPUs,  8gb RAM,  actually:  perhaps 16gb of RAM to provide extra room for development.

All this and more can be had for under $2000 per server, if you look hard enough.

As the site grows, it will eventually not be enough, but just getting started, I think both SQL Server  and the frontend can be virtual machines.

It just depends on how much traffic   and how sane the demands are being placed on the hardware.

Until you have large databases constantly being accessed and in particular updated by dozens of users,  the I/O  limitations of a virtual machine are not a major issue.
Be sure to install VMware tools on the VMs as there is a considerable performance difference,  and provide ample hardware.

Yes, virtualization has overhead.

However: if you are planning to scale this to a massive site; the first mistake is using Frontpage/IIS as a frontend.    And the second mistake is using SQL server as your backend.

I wonder if SAN storage you pay for is cost-effective...  local drives may be much cheaper.

The advantage of SAN storage is it's shared between servers.
(Can very easily move a VM to the other server, by shutting it down, de-registering, re-registering)

Maybe use local disk as backup,  in addition to some type of offsite storage.

Consider UPS and generator capacity available at the location.  

All "prediction"  is useless , untill all services is up and running, then you'll capability to mesure payload, for most services, and determine configuration of "permament" hardware.
Let say he'll need 6 month have everything operational(it is not as 1 year), and he'll mesure the load, it will allow to calculate very precicly what hardware he will need to choose.
>>>All this and more can be had for under $2000 per server, if you look hard enough.<<<<<<<<<<<<<<
What the point of looking hard for hardware now, which obviosly will not be used even of 2-3% an avarage, due to newly established production.
And six month later, hardware will be six month old (at least 5%  value lost), and by the time it will get to the "pick" of usage- will turn out be either overkill, or undersized, for particular services.

<<<<<<<<However: if you are planning to scale this to a massive site; the first mistake is using Frontpage/IIS as a frontend.    And the second mistake is using SQL server as your backend.>>>>>>>>>
Trying to predict what he should do, or not- just waist of time - the other reason why it is better "leased" hardware first, so he can test all details out, aso it will help him do the "right way"  6 month after  moving into "permanent" hardware. What CPU/memory and so on, it all will be easy determined by monitoring "leased" hardware during 6 month or so.
One point I would like to state- in this day size CPU/memory is not important no more- it is no problem get much more than you really need, most important is having SCSI drive with 15k speed(and choose proper raid , base on services provided by particular hardware), as well FSB of motherboard- those are most crucial parameters, can really effect your performance. create to use to detrmine performance on long run as well very usefull for many others purposes.

RSchiererAuthor Commented:
You both have brought really interesting thoughts to the table.

My reason for going with the Infrastructure as a Service instead of leasing or buying is the initial startup costs and the ability to have the host add more memory or SAN space.

Once we have been up and running and found our 'sweet spot' when it comes to configuration, we will have the accountants crunch the numbers to decide where the point is when it is better to buy/lease than to 'rent' the Infrastructure.

I like your reference to not using SQL. It was not something that I thought of not using. I guess perhaps we could use Oracle or go with an AS400 when we get bigger.

So if I read you right, for the SQL boxes, 4 cores, 16GB RAM as a starting point. Which is along the lines of what I had thought also.

Any other ideas, thoughts, concerns about this project that you have would be greatly appreciated.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.