Westwing — первый в России шопинг-клуб и интернет-магазин для тех, кто увлекается дизайном и хочет сделать дом уютнее.
Шопинг-клуб работает по принципу flash sales или «сделки дня»: когда за короткое время продается ограниченное количество товаров со скидками в 70-90%. Мы ежедневно предлагаем участникам клуба пять-семь идей для интерьера с продукцией известных брендов. Каждая акция — не просто набор предметов, а дизайнерская концепция.
Интернет-магазин Westwing, напротив, работает по традиционной модели. В любой момент на сайте можно купить мебель, декор, освещение, текстиль, аксессуары и другие товары для обустройства дома.
Сейчас Westwing Russia — самостоятельная компания, но раньше мы были частью немецкой Westwing и поэтому, как и многие европейские компании, изначально сотрудничали с Amazon Web Services (AWS).
В облаке AWS мы держали вспомогательные системы, а основные, с критичными данными систем интеграции – на базе колокейшн во Франкфурте. Персональные данные российских пользователей сервиса во исполнение 152-ФЗ хранились в третьем месте, в колокейшн на территории России.
Несколько лет нас устраивала гибридная инфраструктура в таком виде. AWS — действительно удобная, но далеко не идеальная платформа. Например, нам не нравился vendor lock, когда мы сильно зависим от продуктов и услуг конкретного поставщика. Но на тот момент это была справедливая плата: мы используем готовые решения as a service, а взамен нас избавляют от какой-то головной боли. Однако ситуация поменялась.
Однажды Роскомнадзор заблокировал иностранные IP-адреса во время попыток заблокировать Telegram — тогда на нашем сайте исчезли изображения. Мы поняли, что, если это повторится, в другой раз наши магазины могут оказаться вообще недоступны для российских пользователей.
Поскольку бизнес целиком зависит от функционирования сайта, мы решили уменьшить риск недоступности сервиса для пользователей. Мы полностью созрели к тому, чтобы отказаться от AWS в пользу альтернативного решения. Тем более, у нас было на примете несколько довольно интересных с точки зрения функционала и стоимости вариантов.
Помимо риска блокировок, наша гибридная схема затрудняла масштабирование инфраструктуры. И это стало второй причиной того, что мы пришли к идее миграции на нового провайдера.
Мы сравнили разные облачные варианты и colocation. И поняли, что реализовать одно и то же на локальных вычислительных мощностях в два-три раза дороже, чем в облаке. При этом даже с учетом таких больших вложений трудно будет нарастить мощности, достаточные для пиковых загрузок, и для масштабирования мощностей наиболее эффективным является облачное решение.
Однако полагаться на одного поставщика услуг все же рискованно. Поэтому мы решили перенести наши клиентские системы из колокейшнов в облако для масштабирования емкости. Причём это должно было стать российское облако, чтобы избежать каких-либо внешних рисков.
На российском рынке не так много провайдеров, которые предлагают достаточно надежные облачные решения. Рассмотрев разные варианты, мы остановились на платформе VK Cloud Solutions:
Мы начали миграцию в конце 2019 года — переместили в облако VK Cloud Solutions сайт интернет-магазина Westwing. Сайт шопинг-клуба с ежедневными распродажами остался на colocation в Германии.
Нам предстояло перенести порядка 80 виртуальных машин, которыми мы пользовались в AWS, плюс лямбды, балансировщики нагрузки и другие сетевые сервисы. Работы затянулись из-за vendor lock со стороны AWS — в нашем случае это действительно тормозит миграцию.
Затем мы переместили большую часть наших вспомогательных систем в VK Cloud Solutions, и сейчас постепенно переносим их все. Миграция небыстрая, поскольку некоторые функции необходимо переписать, а затем настроить интеграцию с другими системами.
Сейчас на мощностях VK Cloud Solutions размещается наш интернет-магазин с основным ассортиментом товаров для обустройства дома. Открыли его сравнительно недавно, но за это время он успешно пережил «черную пятницу».
До этого у нас был небольшой кластер виртуальных машин, которые страховали друг друга. О серьезных пиковых нагрузках до этого речи не было. Тем не менее на момент роста нагрузки мы смогли без проблем развернуть необходимое количество виртуальных машин, доставить код, включить балансировку и спокойно обслуживать посетителей. На выходе получили гибкую инфраструктуру, способную адаптироваться под рост нагрузки в такие дни.
Можно выделить следующие ключевые результаты миграции:
Рост производительности. Мы заметили его после переноса сайта интернет-магазина Westwing в облако VK Cloud Solutions.
Возможность быстро масштабироваться. Представим, что интернет-магазин работает на собственных серверах, а не в облаке. Наступает «черная пятница», и количество посетителей на сайте увеличивается кратно. Если в такой ситуации откажет незарезервированное оборудование — ничего не успеешь сделать: на его поиск и установку потребуется минимум три часа.
Напротив, в облаке можно масштабироваться за 10 минут: в два клика собираешь и запускаешь виртуальную машину, добавляешь IP-адрес выкатки и пару нод. Что-то падает критично — тоже не беда, перемещаешь машину на другой гипервизор.
Экономия на администрировании. Сейчас нашу гибридную инфраструктуру, включая небольшой colocation, обслуживают два DevOps-инженера. Если же в компании есть только разработчики — ей выгоднее использовать PaaS и SaaS-сервисы, и не нанимать дорогостоящих DevOps-специалистов.
Снижение расходов на облачные решения. У AWS оплата в долларах, а у VK Cloud Solutions — в рублях, за счет разницы в курсах валют экономия существенная.
Возможность кастомизировать решения. VK Cloud Solutions самостоятельно разрабатывают свое облако, и у них есть возможность дорабатывать решения по запросу клиентов.
Мы не первый год используем облачную инфраструктуру и прекрасно осознаем ее преимущества, потому выбрали миграцию в российское облако вместо того, чтобы полностью перейти на colocation.
После завершения миграции с AWS мы подумаем, стоит ли переносить всю инфраструктуру в одно облако. Скорее всего, сохраним гибридную модель: часть систем — в облаке, а часть — на colocation. Такое решение снижает риск простоя.