Эпизод 26 :: Серверовка наших проектов
Доктор Хаус (House M.D.)
Проблемы начались неожиданно. Так иногда бывает. В середине декабря вместе с увеличением нагрузки на сайты резко упала производительность скриптов на
Наши проекты активно используют сокеты, поэтому многие операции не видны пользователям (они работают в фоне), но при этом они весьма серьезно нагружают процессор и очень интенсивно используют память сервера. Эти процессы могут выполняться многие часы, потому-что обрабатывают огромные массивы статистической информации. Итог — сервер перестал справляться с нагрузкой.
До недавнего времени все три наших флагманских проекта
Переезжаем!
Короче, все само шло к тому, чтобы переезжать на клауд. Для динамично развивающихся проектов это, казалось, был идеальный вариант: в любое время несколькими кликами мышки можно увеличить мощность процессора и добавить памяти или места на диске, а можно все это если нужно уменьшить. При этом оплачиваешь только реально израсходованные ресурсы. Сказка, чо. До недавнего времени об этом можно было только мечтать.
Но сказка — она поэтому и сказка, что понарошку. Но обо всем по порядку. Ранним морозным декабрьским утром многие мегабайты информации наших проектов шустро переезжали на клауд-хостинг и ничего не предвещало беды. Предварительно мы проконсультировались у техподдержки на предмет возможных проблем. Нас заверили, что все будет в порядке, на доступность сайтов переезд не повлияет и даже айпшиники останутся теми же. Окей, сказали мы, и согласились на эту, как оказалось в дальнейшем, авантюру.
Вляпываемся в удобрение
Уже в первые несколько дней результат работы наших сайтов огорчил и опечалил нас до глубины души. Всем офисом мы поднялись на ежедневную битву за доступность сайтов. Проекты по несколько часов лежали в различных ошибках или в полной недоступности вообще всего, а когда поднимались, то на их быстродействие нельзя было смотреть без слез. Мы строчили тикеты в техподдержку один за другим. Техподдержка оперативно уверяла нас в том, что работает над проблемами, устраняла их и затем все повторялось по кругу. Метрика засыпала нас сообщениями о недоступности проектов. Каждое утро сайты были либо недоступны, либо быстродействие было таким, что приходилось просить слабонервных удалиться от экрана монитора.
В таком «блокадном» клауд-хостинге мы жили три недели. Замечу, что это были две недели ДО нового года, и посленовогодняя праздничная неделя. Т.е. праздничное настроение было подпорчено основательно и на тот момент мы все еще надеялись на лучшее. Техподдержка работала оперативно, проблемы устраняли тоже быстро, но с такой же быстротой они появлялись снова. На вопрос, когда будет налажена стабильная работа сервера, бодро рапортовали об устранении проблем. Вскоре обещать светлое будущее уже перестали, ограничиваясь размытыми формулировками. Для нас это стало звоночком. Нужно было что-то предпринимать.
Кумекаем
Праздники закончились, а Метрика все не успокаивалась. Услуга ультрамодного клауд-хостинга, оказалась, мягко говоря, сырой. Если считать за аптайм время работы сайтов в нормальном режиме без тормозов, то он точно не превышал 40%. Нас это совершенно и абсолютно не устраивало и нужно было что-то предпринимать. Мы, конечно, лояльные клиенты, но не до такой же степени. Очевидным в этой ситуации был переезд. Оставался самый «простой» вопрос: куда?
Мы рассматривали три варианта:
- VPS
- Аренда сервера
- Собственный сервер
Погуглив в Яндексе стало понятно, что вариант с VPS для наших немалых потребностей в оперативке и мощности процессора никто из более-менее известных хостинг-провайдеров предложить не может. Поэтому этот вариант мы решили не рассматривать. Менять шило на мыло сильно не хотелось. Переезд — это всегда проблемы, поэтому если уж переезжать — то на что-то более продвинутое.
Огромное количество времени было потрачено на поиск и чтение отзывов о различных вариантах аренды серверов за рубежом. Почему за рубежом? Потому-что там действительно дешевле. Однако, после детального изучения конфигураций железа этих серверов оказывалось, что их дешевизна достаточно сомнительна. Все бюджетные варианты были компьютерами с многолетним стажем работы и, соответственно, с настолько же устаревшими параметрами. Кроме того, сервера, в большинстве случаев, предоставляются голыми, и все установки-настройки нужно производить самому, что еще больше ставит под сомнение их выгодность. Плюс англоязычный саппорт, плюс территориальная удаленность, плюс почасовая поддержка за 120 евро в час,… Короче и от этого варианта мы отказались.
Остался третий, тоже не самый идеальный вариант, — покупка собственного сервера. На нем было решено остановиться. Почему вариант не идеальный? Потому-что хороший сервер — весьма дорогое удовольствие. Но ключевое слово здесь — удовольствие, потому-что это именно то, что мы испытали после переезда на свой собственный сервер. Это был глоток свежего воздуха. Месяц ежедневной борьбы за доступность сайтов остался позади.
Отвалить более полутора тысяч долларов за железяку мы себе позволить не могли, поэтому был найден вариант лизинга. Это, кстати, и был тот идеальный вариант, о котором с самого начала мы не догадывались. Мы, конечно, думали о покупке сервера в кредит, но это предполагало кроме бумажной волокиты еще и затраты времени на хождение по банкам.
А вот лизинг работает очень просто: хостинговая компания размещает у себя на колокейшне сервер, и кроме оплаты за услуги хостинга мы частями выплачиваем стоимость сервера. Выплаты могут быть разделены на 6 или 12 месяцев. После этого срока сервер переходит в нашу собственность.
Хостинговая компания ни чем не рискует, потому-что сервер находится у нее, а мы при этом избавлены от «справок о доходах» и прочих радостей кредитования. Вот так, оформив два договора и заплатив первый взнос, мы стали владельцами собственного сервера и вышли из затруднительной ситуации. Теперь наши проекты живут на четырехядерном Intel Xeon QuadCore E3-1230 3.20 GHz / 8GB / 2?1TB.
Разместились мы в дата-центре Воля 2 (см.фото). У них на сайте написано вот что:
Дата-центр ВОЛЯ обеспечивает:
- 99,98% времени бесперебойной работы
- Круглосуточную квалифицированную техническую поддержку
- Высокоскоростные каналы связи
- Необходимые климатические условия
- Распределенные отказоустойчивые решения, благодаря возможности дублирования серверов на двух независимых технических площадках.
Проверим 🙂
Тру экспириенс
Мораль всей этой «басни» такова: если предполагается, что проекты будут высоконагруженными и довольно долгосрочными, а финансы на покупку сервера ограничены, то самый идеальный вариант — взять сервер в лизинг. И нервы сэкономите и сервер через некоторое время станет вашей собственностью. Все эти ВПСы и клауды — лишь временное решение, пока проект находится в стадии прототипа и его показатель аптайма не слишком критичен.