Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

For me it would consist of:

Traffic routed in through a firewall then a load balancer to N+1 (web) servers. Web servers are connected to a clustered SQL server cluster behind them and run state through a distributed state service. This provides security from the firewall, redundancy for the connection (NLB) and redundancy for the data (clustered SQL).

share|improve this question

closed as not constructive by Michael Hampton, Helvick, mdpc, Khaled, Sven Feb 10 '13 at 11:44

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

This should be marked as Community Wiki. – Wayne Koorts Jun 20 '09 at 22:53
It looks like what you want to know about is high availaibility, if that's the case: What about storage replication? Multiple DC sites? – Jason Tan Jun 21 '09 at 2:28

In the classic words of any experienced system administrator: It Depends. What are the goals for the organization that owns the web site? If the web site is a hobby forum run by my brother's girlfriend's niece as an experiment for her computer class, then having N+1 load balanced anything is going to be considered extreme overkill and out of her budget.

I would say the ideal environment is one that meets the needs and expectations of the person or organization that owns the web site.

For smaller sites that are essentially electronic brochures, a single web server behind a NAT router in their office connected to a cable or DSL line might be sufficient. In the case of mission-critical web sites or e-commerce applications, having everything redundant with automatic failover may be ideal if the costs can be justified.

So really, it depends on the needs of the client involved.

share|improve this answer

The ideal web hosting environment is that environment which provides initial cost-effectiveness, minimal ongoing maintenance expense, suitable performance for the application / site being delivered, security (including redundancy) to the level that the owner is willing to finance, and ability to scale in a manner that provides granular increases in expense and performance.

It's not any one thing.

What you propose, for example, has no geographic redundancy (it does propose redundant network connectivity, but one well placed tornado would take care of that). For some applications, that would not be acceptable (advertising-supported social network site), but for others it would not (credit card merchant processing services, financial services, hosted line-of-business applications).

Some business concerns won't need any level of redundancy at all, or won't be able to afford it. A single virtual server instance w/ a web server, database server, and SSH server is all that some web sites will ever need.

It's not a technical problem, really. It's a finance and management problem. If management has the money, us technical people can make anything happen.

share|improve this answer

Two things I might add to this list:

  1. You might consider separating your web-content off the actual webservers. We have 2 redundant content servers, and mount the content via nfs on the webservers AND a developer machine. This has security benefits, as the public facing machines have no extra user accounts or services running, and you can prevent root-level-access over nfs. It also eliminates the need to keep your webservers in sync, since there is only one shared content source.

  2. An ideal environment must also include some sort of site-availability / response-time monitoring. This can be done locally using nagios or something similar - however a better solution would be to monitor things as the world sees them using a 3rd party distributed service such as

share|improve this answer
We had problems with NFS stale file handles on our webservers. IIRC the content management system would replace files while they were still open which caused the problems. The answer to that is probably a clustered file system. – Jason Tan Jun 21 '09 at 10:46

Not the answer you're looking for? Browse other questions tagged or ask your own question.