Всегда интересно, как клиент попадает к нам, на основе каких параметров он делает свой выбор — в нашу пользу или в пользу другого провайдера. В последнее время мы взяли курс на то, чтобы чаще общаться с теми, кто давно живет на наших серверах и готов поделиться с нами своей историей и мыслями.
Один из таких клиентов — Антон Кинстлер, руководитель IT-отдела интернет-магазина мебели «1HMM». И сегодня он расскажет о том, с какими трудностями столкнулась его команда, когда компания решила выйти в онлайн, и какие жизненные уроки из этого вынесла.
1hmm.ru
Предыстория
Наша история началась с маленького магазинчика в городе Верхний Уфалей Челябинской области. В 2011 году был открыт оптовый склад в Челябинске, в 2013-м создали интернет-магазин, а в апреле получили первый заказ через него. Это был многостраничный сайт на 1С-Битрикс: Управление сайтом редакции «Бизнес», и в тот момент на него было заведено около тысячи позиций.
Постепенно интернет-магазин развивался — мы добавляли десятки тысяч новых товаров, оптимизировали сайт, стали использовать такие технологии, как Redis, ElasticSearch, RabbitMQ. Сейчас на сайте свыше 200 тысяч товарных позиций, более тысячи личных кабинетов оптовых покупателей и партнеров, а также десятки миллионов цен.
Сайт интернет-магазина сегодня. Ежедневно его посещают до 50 000 человек
Вообще у нас интересная система. Кроме привычной механики личного кабинета для розничных покупателей и франчайзи, мы реализовали готовый инструмент продаж для наших оптовых покупателей. На базе нашей системы они могут кастомизировать предложенный шаблон, разместить его на своем домене, поставить на товары свои цены, изменить дизайн, добавить свои реквизиты. То есть по факту каждый наш оптовый покупатель получает свой полноценный интернет-магазин, который актуален по ассортименту, остаткам, ценам. И при этом вся работа поддерживается нашими отделами.
Естественно, с ростом проекта требования к серверной инфраструктуре менялись. За семь лет мы успели поработать с разными хостинг-провайдерами, меняли серверы и не раз сталкивались с разными сложностями, которые только добавляли нам опыта. И сегодня я расскажу о трёх уроках, которые кое-чему научили нас за это время.
Урок первый. Как мы просчитались с ресурсами
На старте у нас не было большого трафика на сайт, и мы решили использовать недорогой виртуальный хостинг в Екатеринбурге. Что мы не учли, так это «тяжесть» самого проекта. Дело в том, что помимо большого ассортимента у нас на каждый регион — так исторически сложилось — свой тип цены. Соответственно, у нас десятки миллионов цен (предложений). Поэтому, несмотря на небольшой трафик, мы почти сразу упёрлись в потолок виртуального хостинга. Сайт тормозил, страницы открывались медленно, мы теряли клиентов и деньги. Пришлось срочно «переобуваться» и искать другие варианты.
Мы арендовали выделенный сервер немецкого провайдера с надеждой, что ситуация улучшится. Но и после переезда периодически упирались в ограничения по железу. Часто это было не фатально, но в момент пиковых нагрузок, как правило, заметно снижалась скорость отклика сайта. Как только мы начинали ощущать такие симптомы, то уходили на другие мощности — данные переносили своими силами.
Проект рос быстро, поэтому для нас стал критичным такой параметр, как оперативное и легкое масштабирование. Мы несколько раз меняли провайдеров и порой сталкивались с тем, что у некоторых из них, например, не было возможности добавить аналогичный сервер в том же дата-центре, расширить дисковое пространство или объединить несколько серверов в одну сеть с широкой полосой и низкой задержкой.
Вывод — заранее закладывайте запас по ресурсам
«Переезжать» к новому хостеру каждый раз, когда вы упираетесь в нехватку ресурсов, дело не самое простое – особенно, если у вас большое количество данных. Поэтому теперь мы заранее прикидываем, как будет расти проект и сможет ли провайдер быстро и без проблем добавить нам мощностей при необходимости. Инфраструктура у нас удваивается практически ежегодно, потребности растут — более 50 тысяч посещений ежедневно, а если по хитам смотреть, то по 10 на каждого.
Сейчас у нас нет проблем с масштабированием — просто пишем в поддержку, что нам нужен еще один сервер, и его поднимают.
Урок второй. На хостера надейся, а сам не плошай
Как я уже говорил, какое-то время мы размещали сайт у немецкого хостера, пока он не разочаровал нас. Было несколько остановок, деградировали жесткие диски. На серверах, которые мы арендуем, работает сам интернет-магазин, розничные магазины, франчайзи, партнеры и оптовые покупатели — остановка даже на несколько часов влияет на всех. В сутки мы получаем порядка 1200 заказов. Соответственно, час простоя обходится в потерю примерно ста клиентов. Поэтому для нас так важно, чтобы серверы работали без перебоев.
Столкнувшись с проблемой, мы стали, во-первых, более тщательно оценивать надёжность самого хостера, а во-вторых, уделять внимание резервированию мощностей. Теперь мы стараемся строить структуру так, чтобы при выходе одного сервера из строя, мы могли быстро запуститься на резервном. В некоторых частях системы мы также предусмотрели возможность распределять нагрузку между серверами.
Вывод — обращайте внимание на надёжность хостера и резервируйте мощности
Высокий аптайм означает, что провайдер резервирует мощности и проводит замену оборудования, не приостанавливая работу серверов. При этом ДЦ защищён от пожаров, человеческих ошибок и аварий. Но даже если вы размещаете сайты на серверах самого надежного хостинг-провайдера, не лишним будет подумать о том, как повысить отказоустойчивость своей инфраструктуры.
На данный момент мы добились высокого аптайма всех наших систем. По аренде это возможно дороже, чем содержать собственную систему, но для нас важнее стабильность, поэтому мы выбрали именно такой подход. Сбоев почти не бывает, по мелочи если и были какие-то вещи, то это очень быстро решалось и для пользователей было незаметно.
Урок третий. Сервис с человеческим лицом
Был у нас и такой случай. Довольно долгое время мы хостились у одного из топовых российских провайдеров. Никаких нареканий в техническом плане. И всё шло хорошо, пока мы не столкнулись с проблемой совсем другого характера.
Как-то мы не оплатили вовремя услуги, то ли забыли, то ли платеж по бухгалтерии прошёл поздно — как говорится, с кем не бывает. И нас отключили. Поддержка отвечала очень долго, а позже выяснилось, что в выходные дни она и вовсе не работает — для юридических лиц только в будни. Пока мы разбирались с платежами, серверы были остановлены. И даже после того, как платеж поступил, на включение потребовались сутки. И хотя нас в целом все устраивало, пришлось снова менять хостинг-провайдера.
Вывод — выбирайте круглосуточную техподдержку
Хостинг — это не только серверы, но и люди. Пока сам не столкнёшься с тем, что из-за долгого ответа поддержки можешь потерять клиента, не придаёшь этому особого значения. Сейчас всё гораздо проще. Техподдержка реагирует круглосуточно. Есть услуга обещанного платежа и возможность зачислить деньги при предоставлении платёжного документа. Пока необходимости воспользоваться не было, но это определённо плюс для провайдера.
На старте многие компании не имеют чётко сформулированных требований к хостингу, отсюда форс-мажоры и другие непредвиденные ситуации. Ошибки, на самом деле, — это не страшно, если каждую ты готов анализировать, делать выводы и больше не допускать подобных ситуаций. Зато теперь мы точно знаем, какие критерии при выборе хостинг-провайдера важны для нас, и это помогает нам быстрее решать задачи бизнеса.