Компьютерра - Компьютерра PDA 17.04.2010-23.04.2010
Компьютерра: А как это всё тарифицируется?
Дмитрий Лоханский: Тарифицируется по часам и по количеству заказанных "слотов", как это у нас называется. Слот - это 512 Мб оперативной памяти плюс определённые характеристики по процессору и по пропускной полосе, внешней и внутренней.
Надо отметить, что Amazon просто продаёт определённую инфраструктуру, на которую каждый может прийти и работать. У компании "Оверсан-Скалакси" в данный момент стратегия такая, что мы всегда продаём ресурсы со включённой технической поддержкой. Что мы в это понятие вкладываем? У нас работают специалисты, которые разбираются в программировании и системном администрировании. То есть, мы занимаемся и администрированием, и доработкой и исправлением багов на стороне клиента – всеми теми вещами, где нужно программирование.
Приведу пример: работал сайт какой-нибудь. Запланировали они рекламу на "Одноклассниках". Что в этом случае происходит? В текущей модели, когда начинает идти поток трафика, естественно, первым валится хостинг, потому что ресурсов не хватает. Но даже если хостер начинает ресурсы добавлять, начинает скрипеть архитектура самого сайта. Тогда подключаются программисты и на ходу думают: "О боже, как эту базу разложить на несколько, собрать в кластеры?!". И так далее. В нашем случае, наша техническая поддержка всё это делает сама. И базу оптимизирует, и запросы. Обычно хостеры этим не занимаются. Они отвечают за гарантию сервера: моё железо работает, дальше – ваши проблемы. А здесь ключевая особенность в том, что по условиям в договоре мы отвечаем за работу сайта, а не сервера. Если на сайте какая-то страница не отвечает, подключаются наши специалисты и исправляют проблему, а не ждут, пока клиентский программист придёт и начнёт править. Наши специалисты вникают в архитектуру проекта, разбираются в коде, чтобы уметь оперативно реагировать на любые неполадки.
Компьютерра: Вот, допустим, какой-нибудь старый проект с "античной" архитектурой и необходимым приложением, у которого "течёт" память. Ваши специалисты с таким работают?
Дмитрий Лоханский: Да, конечно. У нас был и остаётся с давних времён клиент – Eva.ru, достаточно известный проект, женская социальная сеть, работает с 1999 года. Он был написан на доисторических технологиях: Java-машина, которая раздувается и жрёт всю память, память течёт... В итоге мы спокойно перевели проект к себе, заменили некоторые куски кода, например, выкинули базу данных Firebird, которую уже никто практически не развивает, и заменили на MySQL. Сделали её прозрачно, без остановок в работе. Саму Java-машину перевели на новый кластер JBoss, перестала течь память. Постепенно производим рефакторинг, чтобы использовались современные технологии.
Проблемы могут быть самые разные. Например, раньше у каждого сайта была папка "/images", в которую отправляют все картинки. А когда этих картинок становится миллион, диски начинают умирать, потому что они не были приспособлены к тому, чтобы одна папка содержала такое огромное количество файлов.
Мы отслеживаем такие вещи, перепроектируем, разносим, используя современные кластерные файловые системы, раскладываем так, чтобы система быстрее находила и отдавала результаты.
Компьютерра: Надо полагать, это всё делается за отдельные деньги?
Дмитрий Лоханский: Нет, суть именно в том, что всё в пакете.
Компьютерра: Проблема с некоторыми облачными сервисами заключается в том, что они используют только свои API, так что перейти на них и уйти, если потребуется, оказывается проблематично. Как обстоят дела с этим у вас?
Дмитрий Лоханский: Такая проблема есть и у нас, но только с переездом от нас.
Андрей Артищев: Перенос информации к нам осуществляет наша техническая поддержка.
Дмитрий Лоханский: Я думаю, облачных провайдеров заставлять работать по единому стандарту уже нет возможности. Amazon работает по-своему, и де-факто считается на Западе стандартом. При этом появляется множество новых команд, которые делают API на более современном уровне. Мы тоже пошли по этому пути, сделали свой API более современным, но есть сторонние разработчики, которые создают общие библиотеки, которые позволяют приложению общаться с облаком, а дальше уже не важно, что "сзади" – Amazon, "Оверсан-Скалакси" или кто-то третий.
Компьютерра: "Облачные вычисления" – достаточно грубая калька с английского. Как вы считаете, есть ли более адекватный перевод этого термина на русский язык?
Андрей Артищев: "Резиновый хостинг". Обычно говорится, что данные пользователей хранятся в "облаках", которые как-то там масштабируются. Сложно объяснить обычному человеку, что "облако" может увеличиваться и сжиматься в размерах, обычно люди такими образами не мыслят. Основная суть Cloud Computing заключается в том, что сайты могут масштабироваться "вверх" и "вниз", динамически растягиваться как жевательная резинка.
Дмитрий Лоханский: Тут ещё стоит добавить, что cloud computing сам по себе, это всего лишь один из наших инструментов. Мы долго думали, как называть себя. Первым облачным хостинг-провайдером? Или говорить в связи с компанией о cloud computing? Решили не использовать западную терминологию.
Когда мы разрабатывали сервис "защита от всех атак", мы сначала анализировали проблемы и выделили три главные. Первая связана с ростом трафика и с нагрузкой. Вторая проблема – развитие ботнетов, а значит, нужна надежная система защиты. Третья проблема – от которой болит голова у всех владельцев ресурсов - надёжность. Так называемая high-availability (высокая доступность). Но тут есть своя специфика. Сделать её нормально – дорого. То есть, даже пару лет назад 99% админов на рынке интернета не знали, как это делать. Знали только западные. Только сейчас все это раскрутилось, люди знают, что можно поставить два сервера, зарезервировать между ними один ip-адрес – и в случае падения одного, другой поднимается. Это все достаточно дорого, нужно арендовать два сервера, один из них при этом будет стоять только для подстраховки – то есть ничего не делать. Если система, к примеру, из пяти серверов (такой средненький проект), то уже десять машин нужно. И так далее. Причём в серверах может отказать что угодно. Редкий случай, когда покупают себе сервера с двумя блоками питания, поэтому бывает, что выключается блок питания, и раз – всё сдохло.
А здесь, в случае с "облаком" происходит следующее: можно заказать полное резервирование. "Оверсан-Скалакси" реализует его на уровне современных систем виртуализации – VMWare, Parallels, XEN Server. Таким образом, у всех есть возможность поднять зеркальную копию машины, и будет поддерживаться синхронизация пары. Если одна копия падает, то другая гарантированно работает. Я разговаривал со многими владельцами серверов – для них порой бывает не так страшно, что сервер упал и, допустим, через минуту поднялся. Это нормально. А в "облаке" получается, что есть железо, какой-то сервер. Если он по каким-то причинам выходит из строя, то хранилище у нас - отдельно, все сервера бездисковые. Хранилище у нас всегда доступно, оно зарезервировано с четырёхкратной степенью надёжности, и я не знаю, что должно случиться на планете Земля, чтобы оно отказало. Поэтому, когда сервер физически "умирает", машина (то есть все ресурсы, которые там крутились) поднимается на другом сервере. При этом тот интерфейс суперкомпьютера, который в интернет смотрит, в этот момент замораживает все клиентские соединения. Замораживает на то время, пока машины не переподнялись на другом сервере. Они загружаются с диска, это состояние то же самое - и хоп - дальше, соединения продолжают работать. То есть, пользователь в большинстве случаев даже не заметит, что есть какая-то пауза.
Суть в том, что высокая надёжность уже встроена в систему. Неважно, что случится - ну откажет железка – сервер перезапустится. Если уж этого будет недостаточно, можно купить полное резервирование.
Компьютерра: А полное резервирование - это что?
Дмитрий Лоханский: Все ваши ресурсы будут гарантированно работать, часть на одном физическом сервере, часть на другом, и они по высокоскоростной шине будут синхронизировать между собой это состояние, даже памяти. То есть, если сервер "умирает", то копия будет идентична на сто процентов. Этого даже на Западе никто не делает. Но суть в том, что платить тогда уже нужно в два раза больше - за две копии ресурсов.
Компьютерра: Очень часто, когда начинают писать об облачных вычислениях, говорят: "Существует российский аналог "Амазона", "Оверсан-Скалакси"...
Дмитрий Лоханский: Мне кажется, это некорректно. "Амазон" - просто пионер, и его технологии, на самом деле, уже устарели. У этого сервиса есть ряд проблем. Например, самая распространенная - когда с "Амазоном" в первый раз знакомишься, сталкиваешься с тем, что данные, сохранённые на прилагающимся к инстансу диске, сбрасываются, если инстанс выключить и включить снова. Вот такое ненадежное хранилище. На самом деле это временное хранилище, и после перезагрузки или выключения инстанса никто не гарантирует, что данные сохранятся. Мы знаем, почему это сделано, но это лишь технические причины. А хранилища у них не внешние, как у нас, и гарантировать, что они виртуальную машину перезапустят прямо на этом же сервере, они не могут, потому что у них должна распределяться нагрузка. Поэтому они и не могут гарантировать, что после перезагрузки ты окажется на том же диске, на котором раньше был, они стирают её. Лишь позже, спустя два года, они ввели у себя дополнительное хранилище, которое уже точно стопроцентно гарантированно. Но суть от этого не изменилась. Причем, перезагрузиться система может не только по вине админа, система виртуализации сама по себе также может глючить. Просто зависла, к примеру: перезагрузилась машина - и всё, данных нет.