igooods доставляет продукты и товары из гипермаркетов для жителей из разных уголков России. Пользователь оформляет заказ через сервис и получает товары по магазинным ценам уже через 90 минут — ему не нужно тратить время и силы на походы за покупками.
География
Россия
Бизнес
Доставка товаров
Продукт
Веб-сервис и приложение
Какие задачи нужно было решить
Увеличить инфраструктуру по мере роста бизнеса
Сначала igooods арендовал облачный сервер в Digital Ocean. Потом компания начала расти, и нужно было расширять инфраструктуру. Масштабирование облака в Digital Ocean оказалось дорогим, что не подходило сервису — ведь бизнес и дальше развивался, подключение новых мощностей было необходимым на каждом этапе роста. Чтобы сэкономить, igooods перешел на выделенные физические серверы у другого зарубежного провайдера — аренда физических серверов обходилась дешевле.
Соблюсти закон о персональных данных
igooods арендовал «железо» у зарубежного провайдера. Все работало исправно, но 1 июля 2017 года вступили в силу поправки к закону 152-ФЗ «О персональных данных». Теперь закон требовал, чтобы компании, которые работают с клиентами из России, хранили и обрабатывали их личные данные на территории РФ. Чтобы отвечать 152-ФЗ, igoods нужно было переехать — организовать свою IT-инфраструктуру в России.
Быстро адаптироваться к изменениям
igooods искал провайдера, на которого можно положиться даже в непредвиденной ситуации (забегая вперед, надежность стала крайне необходима во время пандемии коронавируса). Разработчик iGooods порекомендовал своим коллегам Selectel — он сказал, что «это нормальные и крупные ребята». Так команда переехала к российскому провайдеру.
«С Selectel довольно простые договоренности обо всем и простой вход в услуги. Понятная цель, понятные ребята. Для нас главное — надежность. Мы остаемся с Selectel, потому что это надежный партнер, и можно не беспокоиться».
Какие решения Selectel помогли
igooods пришел в Selectel и арендовал выделенные серверы для приложений и баз данных — при стабильной нагрузке размещение инфраструктуры на «железе» обходилось компании выгоднее, чем в облаке. Нагрузка у сервиса сезонная, ее легко спрогнозировать: летом и в хорошую погоду покупатели реже оформляют заказы, а зимой, пока все сидят по домам, спрос на доставку растет.
Клиентов у igooods становилось больше в несколько раз год к году, росла и инфраструктура — требовались новые мощности. Для продакшна компания арендовала еще несколько выделенных серверов, а для тестовых сред разработки развернула виртуальные машины в «Облачной платформе».
Бизнес рос, и igooods нужно было развивать отдельные сервисы — для этого компания решила построить микросервисную архитектуру и подключила Managed Kubernetes. В итоге с помощью услуги каждый сервис хранится в своем контейнере — это упрощает разработку и тестирование приложений. Кроме этого, igooods подключил еще несколько сервисов Selectel. Для хранения товарных остатков и других данных, которые регулярно отгружают партнеры из магазинов и гипермаркетов, компания стала использовать «Облачное хранилище». А чтобы изображения товаров прогружались быстро у пользователей из любых городов, команда подключила сеть доставки контента CDN.
Сбой во время пандемии
В марте 2020 года, когда в мире случилась пандемия коронавируса, клиентов у igooods стало больше в 2-3 раза — компания впервые столкнулась с таким высоким спросом. Серверы работали на 40-60% емкости, и нужно было срочно увеличить их мощности.
17 марта для кластера приложений igooods арендовал 2 новых сервера в «Панели управления». Чтобы ускорить получение «железа», команда сразу позвонила своему менеджеру в Selectel — с его помощью оборудование под нужную сборку igooods было готово уже через 4 часа вместо привычных 2 дней. Кроме того, через несколько часов из-за возросшей пользовательской нагрузки команде пришлось переносить базу данных на более мощный сервер.
Так за 1 день компания сделала 2 сложных изменения в своей инфраструктуре — многое разработчики настраивали вручную. При этом в igooods не изолировали друг от друга сервисы приложений, логи ошибок были переполнены и не все важные сервисы были включены в мониторинг. Все это повлияло на то, что когда на следующий день в сервисе случился сбой, было сложно найти причину — не было понятно, связано ли это с базой данных, новыми серверами или чем-то другим.
Сбой был серьезным, о нем писали в соцсетях и СМИ. Легли сайт, приложения и внутренние системы igooods — курьеры не могли доставить даже оформленные до сбоя заказы. Сервисы igooods были недоступны, потому что сервер базы данных столкнулся с очень высокой нагрузкой в процессор — запросов к БД было не больше, чем обычно, но по времени они длились дольше. Было не ясно, почему так происходит.
Команда стала искать причину и направила все силы на устранение даунтайма. Спустя несколько часов нашла ошибку на стороне разработки. Все дело было в том, что кэш Redis перестал записывать страницы с приложения на Rails — это заметно увеличило нагрузку на базу данных и вывело сервисы igooods из строя. Когда ошибку устранили, сайт и приложения возобновили работу, а клиенты начали получать заказы.
«Сейчас главная задача — сделать системы независимыми, чтобы при падении публичных систем работали внутренние. Исполнение заказов — наивысший приоритет: нужно закончить старые, даже если нет возможности принять новые».
Каких результатов добились
Сейчас у igooods 14 физических выделенных серверов приложений и баз данных. В «Облачной платформе» развернуто 10 виртуальных машин, а в «Облачном хранилище» — 29 контейнеров и 6 ТБ данных гипермаркетов и магазинов.
С начала пандемии у сервиса значительно выросло число заказов: в феврале их было 87 000, а уже в июне — 184 000. После мартовского сбоя все работает стабильно, и связная IT-инфраструктура помогает компании расти.
В планах у igooods — запускать новые сервисы и партнерства с магазинами, а еще информировать людей о том, что можно покупать продукты, не выходя из дома. Команда хочет развивать эту удобную привычку, которая помогает покупателям экономить много времени и делает их жизнь комфортнее.
«Хороший хостинг — о котором не вспоминают, потому что он стабильный. Selectel — именно такой. Мое пожелание Selectel: продолжайте в том же духе!».
Реализуйте похожий проект
Оставьте заявку, и мы свяжемся в течение рабочего дня.
Вы всегда можете получить бесплатную консультацию по телефону 8 800 555 06 75, почте sales@selectel.ru или в Telegram.