Internet-компании: проблемы и решения

Мейнард Вебб: «Самое разумное — выбрать решение, которое позволит непрерывно масштабироваться»
Первое, что необходимо сделать недавно назначенному директору по информационным технологиям компании eBay Мейнарду Веббу, — полностью восстановить цепочку обслуживания и положить конец срывам, которые уже обошлись крупнейшему в мире интерактивному аукционисту в миллионы долларов. Вебб, бывший директор по информационным технологиям компании Gateway, ранее работавший на аналогичных постах в Bay Networks и Quantum, в беседе со старшим редактором еженедельника Computerworld Джайкумаром Виджаяном рассказал о том, с какими проблемами в области информационных технологий сталкиваются относительно небольшие Internet-компании, подобные eBay, и как они их решают.

Сильно ли отличается ваша новая работа от того, чем вы занимались прежде?

Абсолютно. Вот почему я пришел в эту компанию. Я уверен, что перед eBay стоят самые важные и перспективные технологические задачи на всем пространстве Internet-бизнеса.

О чем именно идет речь?

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

Если же взять работу eBay, то здесь налицо тесная интеграция между всеми Web-транзакциями и базой данных. Объем и интенсивность позволяют ей на равных соперничать по объему транзакций с корпорациями, входящими в список Fortune 100.

Чем вызваны возникшие недавно в eBay проблемы с обслуживанием заявок?

Одно хорошо — это все проблемы, связанные с огромным ростом бизнеса. У нас есть прекрасно масштабируемые и тесно связанные приложения, которые написаны на языке C++, и достаточно широкие возможности для их работы. К сожалению, мы мало уделяли внимания готовности и надежности нашей платформы. В результате серьезных сбоев обнаружился недостаток устойчивости к сбоям и гибкости. Не была обеспечена должная избыточность и отказоустойчивость на аппаратном уровне. Поэтому, если сервер базы данных выходит из строя по тем или иным причинам, нам приходится исправлять элементы самого сервера вместо того, чтобы воспользоваться резервной копией и возобновить работу узла.

И что вы в связи с этим предпринимаете?

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

Как вы тестируете свою систему?

Создание тестовой среды для имитации всей структуры — задача не из легких. И руководствуясь прошлым опытом, я бы предпочел потратить больше времени на тестирование приложений, если бы не жесткие сроки выпуска новых продуктов. Мы работаем в Internet, где все меняется очень быстро, и потратили массу времени на то, чтобы предоставлять гарантированное качество обслуживания. Думаю, что тщательное тестирование всех изменений оправданно.

Сколько придется потратить на модернизацию вашего Web-сервера?

Мы прекрасно понимаем, что простой, связанный с модернизацией, стоит нам значительной потери прибыли. У нас очень надежные и лояльные пользователи, и самым серьезном препятствием на пути модернизации является наша неспособность масштабироваться. В своих расходах мы будем соблюдать умеренность и осторожность. Было бы одинаково глупо с нашей стороны не приобрести емкость, которая нам необходима, или позариться на недостижимые пока высоты. Архитектура, которой мы располагаем, должна превзойти самые смелые ожидания, поэтому мы можем работать с опережением, причем это касается не только ближайшего будущего, но и отдаленной перспективы. Наша компания и так считается крупной, но через год она вырастет в десять раз. Сейчас она в 100 раз больше, чем была год назад. Самое разумное — это выбрать решение, которое позволит масштабироваться почти непрерывно.

Что вы посоветуете компаниям, столкнувшимся с аналогичными проблемами?

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