Давайте рассмотрим проблему в небольших масштабах. Крошечный офис с одним сервером, на котором работает почта, ActiveDirectory, общий файловый ресурс и веб-сайт компании.
Хакеры бьют по нему, и вам приходится перезагружаться, потому что IIS не работает. Или Exchange нуждается в обновлении и перезагрузке. Или Active Directory поврежден.
Любая из этих изолированных проблем "одна служба не работает" затрагивает весь сервер, поэтому все, что происходит на этом сервере, повлияет на них в силу необходимости перезагрузки или чего-либо еще.
Как только настоящий ИТ-специалист обнаружит и увидит этот сервер, он порекомендует разделить их на отдельные серверы (и иметь резервный сервер контроллера домена).
Это старая поговорка «не кладите все яйца в одну корзину»
Теперь эта философия применяется к веб-серверам. Если у меня есть только один веб-сервер, и я публикую свое веб-приложение (новое MyFaceLink.com), и оно становится действительно популярным, у меня возникают новые проблемы. Я не могу отключить сайт для обслуживания, пока на нем есть пользователи. И если он выходит из строя или я получаю слишком много пользователей, мне не хватает. Даже самый большой в мире сервер будет перегружен 1 миллиардом конвертируемых FB.
Итак, балансировка нагрузки вступает в игру по той же причине «яйца в корзине». Распределите сайт по 3 серверам, и если один из них выйдет из строя, оставшиеся 2 будут управлять емкостью. Если мне нужно сделать патчи, я просто делаю по одному, и никто не замечает.
Проще говоря, речь идет не о цене мегасервера или о том, действительно ли он может справиться с нагрузкой (хотя это может быть). Это о единой точке отказа. Когда бизнес достаточно занят и происходит круглосуточно, а не для 5 пользователей, работающих 8-5, простои не допускаются. Запланированные отключения сложнее планировать. Итак, вы распределяете нагрузку.