«Черная пятница» — одна из крупнейших распродаж. В России в этом году она пройдет с 27 по 29 ноября и, учитывая пандемию и легализацию онлайн-продажи ювелирных изделий и лекарств, практически целиком сосредоточится в интернете.
Для интернет-магазинов такое событие — это не только повод заработать, но и огромные нагрузки на все системы и серверы. В 2019 году объем онлайн-продаж во время «черной пятницы» в России увеличился примерно на 30% и превысил 22 миллиарда рублей. Из-за наплыва покупателей на сайты магазинов нагрузка на инфраструктуру увеличилась как минимум в два раза, а на пиках в четыре-шесть раз.
Переход в облака
При этом нагрузки испытывает не только внешняя инфраструктура — сайт и приложение, которыми пользуются тысячи и десятки тысяч людей сразу. Под удар попадают CRM и WMS системы, колл-центр и другие важные части инфраструктуры продавца. Падение любого сервиса обернется потерей клиентов, упущенной прибылью, репутационными рисками (пользователи ожидают 100%-й доступности) и даже нарушениями SLA и невыполнением требований регуляторов. Например, в 2018 году в «черную пятницу» была нарушена работа сайтов Walmart, Lululemon и Ulta. Один только бренд J.Crew за пять часов простоя потерял 775 тыс. долларов.
Выстраивать локальную инфраструктуру, которая выдержит пиковые нагрузки, сложно и очень дорого. Необходимо закупить и обслуживать оборудование, которое будет работать только несколько раз в году. И даже оно не гарантирует, что система не обрушится в самое неподходящее время.
Чтобы обеспечить полную отказоустойчивость инфраструктуры, ритейл переходит на облачные решения, которые автоматически масштабируются и равномерно распределяют нагрузку и запросы пользователей между разными дата-центрами. При этом резерв мощностей подключается и оплачивается только на время, необходимое, чтобы справиться с нагрузкой.
Давно известно, чем хороши облачные решения, однако ими пользуются далеко не все онлайн-ритейлеры. Перенести инфраструктуру в облако — это сложно, долго и дорого: провайдеры часто рассчитывают стоимость перехода как отдельную услугу. С этого и начинаются преимущества Yandex.Cloud: мы умеем переносить крупные инфраструктуры в облако
за один день. У нас много
сертифицированных партнеров, которые помогут вам с миграцией.
Что предлагает Yandex.Cloud
Yandex.Cloud предлагает три готовых и многократно опробованных решения, которые позволяют быстро развернуть инфраструктуру клиента в облаке и масштабировать ее при пиковых нагрузках.
Instance Groups и Load Balancer — масштабируемые группы виртуальных машин и балансировщик нагрузки: самое простое решение в списке с минимальным порогом вхождения.
Serverless-платформа, разворачивание Yandex Database в
бессерверном режиме: для тех, кто хочет создать инфраструктуру с нуля или готов полностью обновить существующее решение.
Managed Service for Kubernetes — для тех, кто уже перешел на микросервисную архитектуру.
Первые два решения подразумевают перенос инфраструктуры в облако и настройку окружения. Все основные этапы миграции в Yandex.Cloud — создание виртуальных машин, подбор конфигураций, контроль переноса данных — полностью автоматизированы.
Миграция данных с помощью Yandex Data Transfer и Hystax Acura
Для миграции данных предусмотрено два варианта: через приложение Hystax Acura и новый сервис Yandex Data Transfer.
Hystax Acura позволяет перенести в Yandex.Cloud инфраструктуру с платформ любых мировых облачных провайдеров, платформ виртуализации VMware и OpenStack и собственного железа. Миграция происходит без простоев, бизнес-процессы не останавливаются, а данные гарантированно не теряются. Стоимость миграции известна заранее: одна виртуальная машина обойдется в 1500 рублей. Приложение можно запустить непосредственно из маркетплейса.
Также, на конференции Scale 2020 мы рассказали про
Yandex Data Transfer — новый сервис для миграции баз данных из других облачных платформ или локальных баз данных в сервисы управляемых баз данных Yandex.Cloud. Data Transfer позволяет перенести данные с сохранением рабочего состояния источника и минимизировать время простоя приложений, использующих базу данных. При этом сервис при возникновении проблем сам перезапускает задачи репликации. Если продолжить с нужного момента не получится, сервис автоматически вернется к предыдущей стадии миграции. Data Transfer находится на стадии Preview и не тарифицируется.
Виртуальные машины — Instance Groups и Yandex Load Balancer
Первое решение — Instance Groups — компонент сервиса Compute Cloud, который позволяет создавать и управлять группами автоматически масштабируемых виртуальных машин без установки стороннего программного обеспечения. Если заранее указанная нагрузка увеличится, в группу добавятся новые машины, а Yandex Load Balancer (/services/load-balancer) автоматически распределит нагрузку между ними. Если нагрузка уменьшится, лишние виртуальные машины просто отключатся.
Instance Groups умеет автоматически обнаруживать и исправлять неработоспособные виртуальные машины в группе, а также поддерживать работу служб приложений в надежной среде с многозональными функциями вместо выделения ресурсов для каждой зоны. Все это полностью защищает инфраструктуру от сбоев.
Managed Service for Kubernetes
Если вы уже перешли на микросервисную архитектуру и используете Kubernetes® для управления контейнеризованными рабочими нагрузками и сервисами, то Yandex.Cloud может взять на себя большую часть работы по обслуживанию кластера. Второе решение — сервис
Managed Service for Kubernetes — предоставляет окружение для удобного управления контейнеризованными приложениями. Вы получаете привычные инструменты для работы с кластерами, безопасную инфраструктуру (все взаимодействия между мастером и узлами кластера шифруются при помощи протокола TLS), легкое обслуживание и высокую доступность. При этом все ноды кластера находятся за балансировщиком нагрузки, а сам балансировщик защищен сервисом
DDoS Protection.
Serverless-платформа
В serverless-подходе нет понятия единицы ресурсов: количества виртуальных машин, нод базы данных и т. д. Это и безразмерные хранилища данных, и горизонтально масштабируемые СУБД. Вы просто создаете новую инфраструктуру, которая будет способна справиться с любыми нагрузками, а платить нужно только за реально потребленные ресурсы.
В основе serverless-платформы Yandex.Cloud лежит множество сервисов, которые образуют решение, позволяющее справиться с непредсказуемыми нагрузками:
Для хранения данных используйте
Yandex Database — горизонтально масштабируемую распределенную отказоустойчивую СУБД, которая проектировалась с учетом требований высокой производительности. Yandex Database может работать в двух режимах. Это:
Режим с выделенными инстансами (dedicated). Для базы выделяются виртуальные хосты с заданными ресурсами. Вы сами выбираете число хостов, их вычислительные ресурсы, параметры хранилища и настраиваете облачные сети.
Бессерверный (serverless) режим. Вы разворачиваете базу данных в обслуживаемой среде без создания хостов. Вам не нужно контролировать вычислительные ресурсы, сети и другие параметры. Все ресурсы для работы базы автоматически предоставляются сервисом и масштабируются в зависимости от нагрузки.
Для задач с неравномерной и плохо прогнозируемой нагрузкой подходит бессерверный режим. В нем вы платите за фактические операции с базой и за хранение данных и резервных копий.
В свою очередь, сервисы
Cloud Functions и
Message Queue помогают справиться с непредсказуемыми нагрузками:
- Cloud Functions позволяет разместить части приложений с непредсказуемой нагрузкой.=
- В managed-окружении, где за масштабирование отвечает платформа, вы платите за фактически потребленные ресурсы, поэтому можно сделать перенос в off peak сезон и начать экономить по сравнению с размещением в виртуальных машинах или в кластерах Kubernetes.
- Message Queue позволяет организовать асинхронную передачу данных между компонентами приложения и выступает слоем буферизации. Благодаря интеграции с Cloud Functions можно сэкономить на написании кода для интеграции сервисов между собой и просто подписать функцию на нужную очередь сообщений.
cloud.yandex.ru/services/functions
cloud.yandex.ru/services/message-queue
Вы всё успеете
До «черной пятницы» осталось мало времени, но вы точно успеете развернуть группы виртуальных машин, кластер и ноды Kubernetes в Yandex.Cloud (это займет от 15 минут), запустить код на Cloud Functions (время холодного старта при первом вызове <500 мс).
Для того, чтобы вам было проще решиться на миграцию, мы подготовили специальное предложение. Подробнее →
cloud.yandex.ru/promo/black-friday/
5 ноября мы проведем вебинар, на котором подробно расскажем о преимуществах облачных решений, а также о том, как быстро перенести инфраструктуру в облако и обеспечить масштабирование при пиковых нагрузках. Присоединяйтесь →
cloud.yandex.ru/events/276