История технического становления «ВКонтакте» действительно уникальна и разительно отличается от пути, который проходят современные стартапы с их доступом к облачным серверам. Информация из найденных источников позволяет составить достаточно подробную картину того, как выглядел «самый первый ЦОД» и из чего состояла инфраструктура в момент зарождения социальной сети.
Ранние годы: Эпоха «обычных компьютеров» и арендованных мощностей (2006-2007)
Когда Павел Дуров и его команда запускали «ВКонтакте» в 2006 году, ни о каком собственном ЦОДе речи не шло. Инфраструктура создавалась на коленке и по минимальной цене.
-
Серверы на базе обычных комплектующих: На заре существования проекта, когда сайт только набирал популярность, серверное оборудование часто собиралось из того, что было доступно. В условиях жесткой экономии и стремительного роста нагрузки использовались самые обычные, «десктопные» комплектующие, которые можно было купить в компьютерном магазине. Это были не отказоустойчивые корпоративные решения, а, по сути, мощные домашние компьютеры, поставленные на стойку в серверной .
-
Программный стек монолита: Вся логика работы сайта была реализована на PHP с использованием MySQL в качестве основной базы данных. Это был классический монолит, который, однако, очень быстро уперся в потолок производительности .
-
Зависимость от сторонних провайдеров: Собственных мощностей катастрофически не хватало. Для обработки и хранения данных «ВКонтакте» обратился к сторонним дата-центрам. Ключевую роль здесь сыграли Лев Левиев и Вячеслав Мирилашвили (сооснователи соцсети), которые в 2007 году основали компанию Selectel . Изначально Selectel создавался именно для того, чтобы закрыть потребности «ВКонтакте». Фактически, первый серьезный ЦОД для социальной сети был аутсорсинговым проектом своих же акционеров. До 2009 года «ВКонтакте» был основным и крупнейшим клиентом Selectel, арендуя там стойки и серверы .
Проблемы «кустарного» подхода и взрывной рост
Стремительный рост популярности «ВКонтакте» в 2008-2009 годах обнажил все недостатки такого подхода.
-
Ненадежность MySQL: Основная база данных (MySQL) работала на пределе возможностей. Она часто “падала” и повреждала данные, что было критично для растущей социальной сети. Разработчикам приходилось применять нетривиальные костыли и надстройки вроде Memcache, чтобы просто выдерживать нагрузку .
-
Необходимость собственных решений: Стало очевидно, что стандартные решения не справляются с масштабами проекта. Именно тогда команда «ВКонтакте» начала путь от использования «обычных компьютеров» и арендованных мощностей к созданию собственной, высоконагруженной инфраструктуры. Это привело к началу разработки собственных инструментов, таких как транслятор KPHP (превращающий PHP в C++ для повышения производительности) и отказ от стандартных баз данных в пользу самописных движков (Engines)
Взято: vk.com/id11

Так же доступны другие обзоры на тему ЦОД Вконтакте , можно перейти по ссылке







