Build a high-end web server

Hello experts,

I know this question touches several topics but here it goes..

I need some guidance in designing and constructing a web server for public and internal use. There will be two websites, one public website with mostly static content, around 50-100 pages and 1000-1500 hits/month.
The other website will be a website with 500-1000 user logins where they will access different assigned webspaces and collaborating sharing documents. This website will have around 500 hits/month.

I know it's popular today to have web servers on the cloud or as SaS. Mostly because of the performance gain I guess. But that's where I'm looking for advice. If I were to build my own Web server and have it on-premises, how would this setup look like if I want to somewhat get near an online service. (Although budget is limited)

I'm planning on purchasing a host where I install vSphere and setup the servers as VM's. What would be proper hardware requirements on the host? would a set up like this be of use?

Oh, another thing is the platform for building the website, we are thinking of going for wordpress, any disadvantage using Wordpress under IIS?

4-6 CPU sockets (6-8 cores per socket)
Local RAID 10 15k disks (alternative SSD)
SSD disk for Host caching
2-4 1Gbit nics

Now sizing the VM's is about monitoring resources and adjusting accordingly but would it be necessary setting up a separate VM to host the database or would I gain little to nothing by doing that in comparison of giving more resources to the VM instead?

looking forward for tips
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
If you are just wanting a public facing website, maybe cloud or hosting provider is all you need.

Unless you want to manage it.

How is providing the content?

You may decide to build a Web Farm, with Network Load Balancing or another load balancer to balance traffic across the web farm?

Have you considered Sharepoint ?

Is it just a Web Site, showing pages like a brochure ?

Wordpress is a Web Application. This requires a Web Engine, usually Apache! (Windows or Linux) - Word Press is popular!

IIS is just Microsoft Web Engine, it does nothing on it's own!

If using VMware vSphere ensure you hardware is in the HCL.

Are you purchasing a SAN, or more than one host?
Given your load numbers hardly two users ever meet on your website. You need something (or two) very power-saving with 1 socket and 1 core (maybe 2 cores if operating system recommends one)
Still costs will be much higher than cloud/hosting
Bes4dminAuthor Commented:
yes, I know cloud services cost less but it is decided to host the website in-house in our environmet, so I want to build something robust and scalable that fit the goal but that also is prepared for future loads. And offcourse budget is in mind too.

I'm thinking of having the VMFS datastores on local 15k or SSD disks with RAID10. This is mainly for two reasons.
1. The budget doesn't allow me to purchase a SAN
2. A SAN isn't really necessary as I only intend to have one host (as for now at least)

To keep costs down we decided on going with Wordpress, yes one of the sites will be a static one like a broschure but with many pages with pictures, maybe some slides, videos etc. easy stuff.
The other website will be more of a portal where members of a group will have a login to see and edit their own stuff and also be able share documents. Here is where the power of Wordpress come in to play.

As we are Microsoft users I intend to install Wordpress on a windows server running IIS. I have done this kind of setu before but never for a project like this. I have mailny deployed wordpress sites under IIS internally for minor stuff so I don't know how it differs on performance or stability in comparision to running wordpress under Apache e.g using WAMP.
That leads me to the next question about where to host the database. Either I deploy a third VM and host the SQL server in it so the two websites uses it or I just install the SQL DB's locally on the corresponding website VM. I don't know if using SSD disks for the databases would boost the performance of the websites significantly
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

Wordpress requires MySQL or MariaDB and really not so much resources you are trying to give it.
(Not a Windows-)Cluster of multiple webservers and cluster of multiple DBs will guarantee uptime close to 5-6 nines
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
So how is your server ROBUST, if you just have the VM, running on a single host and datastore.

What happens when the host server blows up!

You are OFF and DOWN.

Wordpress on LAMP runs much better, and performs better. But if you have experience of Windows, then stick with WIndows.

Performance will be the same as for the DB,, depends on your licenses for Windows, if you are covered for licensed, create a new DB server. (less risk, and better security).
wordpress runs very well on windows PHP for some.
but it gets costly if you want some resilience...

You need next server for replica of database, and another (or more) web frontend for the bad days of month windows is to restart. I'd go for a bunch of smaller servers. 6 sockets or even 4 limits your choice of processors, or gives you non-standard numa-link (i.e 2 systems on same motherboard connected high on system bus)

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Bes4dminAuthor Commented:
Yeah I know, sorry about that, I wrote robust but I meant performance. The idea is to buy another server later to get the redundancy, maybe going vSAN but for now I want to focus more on performance.
 I'm probably going for your suggestion of having a dedicated DB server. This one can be of some Linux flavor since I'm opting for MySQL.

gheist, Could you elaborate more on your thoughts? I'm not sure I'm following you on the resilience. Yo say smaller servers, you mean VM's? 4-6 sockets on the host? Numalink?

As for now I got a quote for a PE630
2x Xeon E5-2660 (10core per socket)
1x SSD 100GB
6x SAS 15k 600GB

Think this is over dimensioned for the purpose?
You need more RAM and less CPU, so trade 2nd CPU for RAM.
Each CPU can fill something like 50Gbit network completely (you dont have it nor your internet connection can do that, even less any disk of today does it)

And why not 2 average range servers?
Bes4dminAuthor Commented:
Good point. I got another quote for 2 servers with 1 Xeon E5-2620 2.4Ghz 15MCache 6 core on each
32GB RAM on each
4x 600GB SAS 15k on each

With this I now have redundancy and can apply vSphere HA. It feels like this is a good starting point to build on when needed. Putting a second CPU, adding more RAM etc. As long as the performance is being jeopardize as I understand it wont.
Bes4dminAuthor Commented:
Question now I think is what I do about redundancy with the datastores since I'm not having a SAN nor vSAN. I guess vSphere Replication will do the trick.
VSphere HA does zero about redundancy.
DRS rules are the right way (dont run master and slave on same ESXi)

I'd dump disks for simple mirror of 2 disks and swap to RAM.

MySQL or MariaDB has replication feature built in. No need to resort for bigger edition of vmware.
Without shared data storage you need either rsync on each update or use some sort of clustered filesystem within virtual machines. (As much as it concerns wordpress - all content is in (hopefully shared) database.
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
You cannot do VMware HA without a SAN!
Vmotions with changing CPU and storage at the same time neither....
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
Replication is an option, it depends on how much downtime can you afford ?
Wordpress caches everything in ram and client browser if you choose... 1h should be OK...
Bes4dminAuthor Commented:
Crap, I didn't think of that. So what are my options here really if I go for two hosts with only local storage. One active host and one for failover? Can I have some sort of continous replication on the VM's?
Regarding downtime it is not critical being down but yeah max 1 hour I think it's acceptable.
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
Veeam Backup and Replication or Naviko

but you will have to manually start the other one (DR copy), and it could be at least 15 minutes old....

That's being discussed here actually...

No SAN, Two Hosts and if you want Automatic...

Double Take
2 wordpress app servers (they are dependent only on database)
Whichever replicating database you choose
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Web Servers

From novice to tech pro — start learning today.

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.