Веб-ферма - что это?

Вс 6 июля 2014, 02:41:46


Каждый современный человек, знакомый с интернетом, с легкостью опишет структуру современного национального сегмента всемирной паутины. В ней будут фигурировать крупные правительственные сайты, новостные порталы, операторы электронной почты, социальные сети. Эта информация общеизвестна, и иные проекты являются гордостью рунета. Однако, мало кто представляет структуру и техническую организацию подобных порталов, слабо ориентируется в технологиях, сделавших возможными существования крупнейших национальный сайтов (да, пожалуй, любых крупных современных интернет-проектов).

Технологии распределенных вычислений появились достаточно давно. В основном, заказчиками высокопроизводительных систем были ВПК и организации, занятые в области визуальных эффектов и анимации. Реализация таких задач потребовала специфических решений распределенных или даже параллельных вычислений. В этом случае комплекс представлял собой набор однотипных вычислительных компонентов (серверов), а программная среда обеспечивала распределение между ними решаемой задачи. Собственно, это и были первые кластерные системы или серверные фермы.

С развитием технологий (в том числе интернет) расширялся круг задач, требующих больших мощностей. Супер-вычислительные системы стали использоваться не только в области военных разработок, но и в различных прикладных областях. Одной из таких значительных прикладных областей стало обслуживание крупных веб-порталов, т.е. высоконагруженных веб-серверов.

Принципы работы веб-сервера потребовали принципиально иного подхода при решении задачи увеличения производительности. Если в точных науках задачи хорошо распределялись, то веб-специфика требовала иных, несимметричных принципов распределения вычислительных мощностей. Такие решения стали называться Веб-фермами.

Чтобы понять специфику работы крупного портала, важно понимать, каким способом ведется обработка информации. Обычно, взаимодействие браузера с веб-узлом носит последовательный характер: браузер формирует запрос, соединяется с узлом и передает запрос, после чего получает ответ, разрывает соединение и отображает результаты в виде веб-странички. Специфика роста нагрузки на веб-портал носит характер ДДОС-атаки - растет количество относительно несложных вопросов. В таких случаях нужна защита от ddos атак. Еще одна специфика веб-технологии - активное применение СУБД в обработке поступающей и передаваемой информации. Если как следует разобраться, то становиться понятно, сколько ”узких” мест существует в структуре крупного веб-сервера.

Такая специфичная задача потребовала иного подхода - несимметричной кластеризации. Если отбросить тонкости, то современный веб-кластер представляет собой набор серверов, функции которых неодинаковы: одни обслуживают распределение входящих соединений между веб-шлюзами, другие занимаются управлением базами данных и подготовкой информации для веб-шлюзов, третьи следят за балансировкой нагрузки в разных сегментах фермы и т.д.

Безусловно, подобный функционал потянул за собой большое количество весьма специфических программных решений для каждого из компонентов веб-портала, которые выделились в отдельное программно-техническое направление.

Основными разработчиками, крупными игроками развития технологий веб-ферм, выступают крупнейшие софтверные компании - Майкрософт, Оракл и др.

Что такое веб-ферма? Это программно-аппаратное кластерное решение задач интернет-портала, благодаря которому стало возможным существование Facebook, YouTube и других веб-проектов, имеющих общемировое значение. Дата-центры в которых размещены выделенные сервера для таких сервисов находятся почти в каждом крупном городе страны.

Самое интересное