Internet-компании: проблемы и решения
Мейнард Вебб: «Самое разумное — выбрать решение, которое позволит непрерывно масштабироваться» |
Сильно ли отличается ваша новая работа от того, чем вы занимались прежде?
Абсолютно. Вот почему я пришел в эту компанию. Я уверен, что перед eBay стоят самые важные и перспективные технологические задачи на всем пространстве Internet-бизнеса.
О чем именно идет речь?
Если тщательно проанализировать коммерческие Web-узлы других компаний, то выяснится, что несмотря на их большой объем и высокую активность, реальная эффективность на самом деле достаточно низка. Производится масса модернизаций серверных баз данных. Информация гуляет по Сети в виде заплаток.
Если же взять работу eBay, то здесь налицо тесная интеграция между всеми Web-транзакциями и базой данных. Объем и интенсивность позволяют ей на равных соперничать по объему транзакций с корпорациями, входящими в список Fortune 100.
Чем вызваны возникшие недавно в eBay проблемы с обслуживанием заявок?
Одно хорошо — это все проблемы, связанные с огромным ростом бизнеса. У нас есть прекрасно масштабируемые и тесно связанные приложения, которые написаны на языке C++, и достаточно широкие возможности для их работы. К сожалению, мы мало уделяли внимания готовности и надежности нашей платформы. В результате серьезных сбоев обнаружился недостаток устойчивости к сбоям и гибкости. Не была обеспечена должная избыточность и отказоустойчивость на аппаратном уровне. Поэтому, если сервер базы данных выходит из строя по тем или иным причинам, нам приходится исправлять элементы самого сервера вместо того, чтобы воспользоваться резервной копией и возобновить работу узла.
И что вы в связи с этим предпринимаете?
У нас уже есть решение, предусматривающее использование резервной копии и позволяющее достаточно быстро возобновить работу в любой момент. К середине октября будет установлена резервная система высокой готовности (причем все серверы получат дублера), после чего появится возможность восстанавливать обслуживание в течение часа. В то же время мы работаем над проектом архитектуры следующего поколения, с помощью которой можно будет устранить любое уязвимое место, порождающее сбой всей системы. Мы намерены распределить приложение и базу данных по нескольким серверам, обеспечив такой уровень нагрузки при работе с базой данных, который в 100 раз превышает нынешний.
Как вы тестируете свою систему?
Создание тестовой среды для имитации всей структуры — задача не из легких. И руководствуясь прошлым опытом, я бы предпочел потратить больше времени на тестирование приложений, если бы не жесткие сроки выпуска новых продуктов. Мы работаем в Internet, где все меняется очень быстро, и потратили массу времени на то, чтобы предоставлять гарантированное качество обслуживания. Думаю, что тщательное тестирование всех изменений оправданно.
Сколько придется потратить на модернизацию вашего Web-сервера?
Мы прекрасно понимаем, что простой, связанный с модернизацией, стоит нам значительной потери прибыли. У нас очень надежные и лояльные пользователи, и самым серьезном препятствием на пути модернизации является наша неспособность масштабироваться. В своих расходах мы будем соблюдать умеренность и осторожность. Было бы одинаково глупо с нашей стороны не приобрести емкость, которая нам необходима, или позариться на недостижимые пока высоты. Архитектура, которой мы располагаем, должна превзойти самые смелые ожидания, поэтому мы можем работать с опережением, причем это касается не только ближайшего будущего, но и отдаленной перспективы. Наша компания и так считается крупной, но через год она вырастет в десять раз. Сейчас она в 100 раз больше, чем была год назад. Самое разумное — это выбрать решение, которое позволит масштабироваться почти непрерывно.
Что вы посоветуете компаниям, столкнувшимся с аналогичными проблемами?
Я думаю, здесь не избежать ситуации, когда получается, образно говоря, стрельба из пушки по воробьям. Аппаратное обеспечение дешево, темп гонки чрезвычайно высок и быть лидером в такой отрасли, как наша, крайне важно. Любой компании прежде всего необходимо разработать бизнес-план, создать сценарий, предусматривающий несколько вариантов развития событий, и создать архитектуру, которая позволит расширять бизнес так, чтобы получить максимальный результат. Исключительно трудно управлять средой уровня крупной корпорации, будучи компанией, которая только становится на ноги.