Технологии распределенных вычислений появились достаточно давно. В основном, заказчиками высокопроизводительных систем были ВПК и организации, занятые в области визуальных эффектов и анимации. Реализация таких задач потребовала специфических решений распределенных или даже параллельных вычислений. В этом случае комплекс представлял собой набор однотипных вычислительных компонентов (серверов), а программная среда обеспечивала распределение между ними решаемой задачи. Собственно, это и были первые кластерные системы или серверные фермы.
С развитием технологий (в том числе интернет) расширялся круг задач, требующих больших мощностей. Супер-вычислительные системы стали использоваться не только в области военных разработок, но и в различных прикладных областях. Одной из таких значительных прикладных областей стало обслуживание крупных веб-порталов, т.е. высоконагруженных веб-серверов.
Принципы работы веб-сервера потребовали принципиально иного подхода при решении задачи увеличения производительности. Если в точных науках задачи хорошо распределялись, то веб-специфика требовала иных, несимметричных принципов распределения вычислительных мощностей. Такие решения стали называться Веб-фермами.
Чтобы понять специфику работы крупного портала, важно понимать, каким способом ведется обработка информации. Обычно, взаимодействие браузера с веб-узлом носит последовательный характер: браузер формирует запрос, соединяется с узлом и передает запрос, после чего получает ответ, разрывает соединение и отображает результаты в виде веб-странички. Специфика роста нагрузки на веб-портал носит характер ДДОС-атаки - растет количество относительно несложных вопросов. В таких случаях нужна защита от ddos атак. Еще одна специфика веб-технологии - активное применение СУБД в обработке поступающей и передаваемой информации. Если как следует разобраться, то становиться понятно, сколько ”узких” мест существует в структуре крупного веб-сервера.
Такая специфичная задача потребовала иного подхода - несимметричной кластеризации. Если отбросить тонкости, то современный веб-кластер представляет собой набор серверов, функции которых неодинаковы: одни обслуживают распределение входящих соединений между веб-шлюзами, другие занимаются управлением базами данных и подготовкой информации для веб-шлюзов, третьи следят за балансировкой нагрузки в разных сегментах фермы и т.д.
Безусловно, подобный функционал потянул за собой большое количество весьма специфических программных решений для каждого из компонентов веб-портала, которые выделились в отдельное программно-техническое направление.
Основными разработчиками, крупными игроками развития технологий веб-ферм, выступают крупнейшие софтверные компании - Майкрософт, Оракл и др.
Что такое веб-ферма? Это программно-аппаратное кластерное решение задач интернет-портала, благодаря которому стало возможным существование Facebook, YouTube и других веб-проектов, имеющих общемировое значение. Дата-центры в которых размещены выделенные сервера для таких сервисов находятся почти в каждом крупном городе страны.