Как увеличить рентабельность маркетплейса c помощью FinOps
Добрый день. Я Вячеслав Бессонов, СЕО IT-интегратора Hilbert Team. В этой статье я расскажу, как мы помогли крупному маркетплейсу с помощью FinOps оптимизировать облачные расходы и увеличить рентабельность бизнеса на 3,7%. Статья будет полезна CTO, CIO, CEO и специалистам, отвечающим за облачную инфраструктуру.
Вследствие технологического прогресса многие компании активно мигрируют в облака. Например, за прошлый год облачный рынок в России вырос на 40%. Работа в облаке во многом отличается от работы с on-premise инфраструктурой, и это стало определенным вызовом для компаний и руководителей бизнеса. В ответ на этот вызов возник новый подход к управлению облачными затратами – FinOps.
В России FinOps находится на ранней стадии развития, но на мировом рынке в 2023 году он стал приоритетным направлением в сфере облачных технологий, что подтверждает исследование аналитиков из Flexera.
О проекте
Наш заказчик — международный маркетплейс родом из Казани, один из первых сервисов с бесплатной доставкой товаров за один день. В экосистему компании входят каталог товаров, логистика, доставка, сеть пунктов выдачи и IT-решения для работы c B2B и B2C-клиентами. Система выдерживает highload уровень нагрузки — ежедневно на платформе совершаются тысячи покупок. Основная часть инфраструктуры располагается в Yandex Cloud.
В 2022 году представители маркетплейса осознали, что недостаток контроля над облачными расходами замедляет масштабирование бизнеса. Они обратились к Hilbert Team за проведением FinOps-оптимизации.
Как решали задачу
Команда экспертов Hilbert Team провела оптимизацию:
- числа ресурсов в составе облачной инфраструктуры,
- утилизации облачных ресурсов,
- архитектуры облачной инфраструктуры.
Расскажем о каждом этапе подробнее.
Этап 1. Оптимизировали число ресурсов
Обычно на этом этапе FinOps-команда делает гипотезы, как сократить число используемых ресурсов. Предложения мы отдаем инженерным командам заказчика, потому что только они знают, нужна ли компании каждая виртуальная машина и Kubernetes-кластер, или от них можно отказаться.
Мы уже работали с командой заказчика ранее и успешно помогли выполнить миграцию IT-инфраструктуры и сервисов в Yandex Cloud. Это ускорило процесс: у нас уже была документация, касающаяся инфраструктуры, и понимание всех бизнес-процессов в компании. IT-аудит, с которого мы всегда начинаем FinOps-оптимизацию, в данном случае не требовался.
Оптимизируя ресурсы, мы обнаружили старые тестовые окружения, которые разработчики и QA забыли выключить, диски с неиспользуемыми данными, оставшиеся после удаления ресурсов, и старые аудитные логи.
Этап 2. Оптимизировали утилизацию ресурсов
Этот пул работ направлен на повышение эффективности использования ресурсов, то есть оптимизацию их утилизации: выравниваем нагрузку, чтобы ничего не простаивало и работало стабильно.
Одним из основных направлений работы данного этапа была оптимизация стоимости Kubernetes-кластеров. В процессе работы наша команда заметила, что узлы кластеров нагружены неравномерно, что приводило к простою части ресурсов. Для оптимизации утилизации потребовалось выполнить детальный анализ требований к ресурсам всех микросервисов платформы и подобрать такую конфигурацию узлов, чтобы всем микросервисам было достаточно ресурсов для корректной работы, а общая нагрузка узлов стала более равномерной.
Также наша команда обнаружила неэффективность Elasticsearch-кластеров и приступила к оптимизации их стоимости. Для этого были настроены ILM (Index Lifecycle Management) политики для архивации старых и неиспользуемых данных, что позволило снизить нагрузку на Elasticsearch и уменьшить число их ресурсов, а соответственно и стоимость.
Дополнительно, замена Intel Broadwell на платформу Intel Ice Lake для части виртуальных машин и нод Kubernetes-кластеров позволила уменьшить стоимость облачной инфраструктуры еще на 9%.
Этап 3. Оптимизировали архитектуру
Данный этап заключается в переработке архитектуры облачной инфраструктуры. Примерами изменений, которые дают хорошие результаты являются: использование прерываемых виртуальных машин, переход на serverless-архитектуры и т.д.
Наша команда совместно с заказчиком остановила свой выбор на первом подходе. Мы выполнили оптимизацию архитектуры окружений для R&D и перешли на использование прерываемых виртуальных машин для Kubernetes-кластеров, использующихся для тестирования. Это позволило уменьшить стоимость тестовых окружений в 3 раза.
Какой результат получил заказчик
Это позволило компании получить массу свободных денег для инвестиций в развитие и выхода на новые рынки.
Если вы захотите глубже погрузиться в тему FinOps, загляните в эту таблицу, где мы собрали для вас полезные материалы на русском и английском языке и сегментировали их по уровню знаний: новичок и продвинутый. А если хотите задать вопрос лично автору, напишите в Telegram.
Яндекс облако - звучит конечно прикольно. Но по факту, те проекты, которые я встречал на нем - работают странно по скорости работы сети. Распределенности там не хватает и ответ сервера сайта из Владивостока больше секунды - это неправильно.
Здравствуйте, Алексей! Для оптимизации сокращения времени загрузки сайтов вы можете использовать сервис Yandex Cloud CDN (https://cloud.yandex.com/ru/services/cdn), который включает в себя 140+ CDN-серверов, ускоряющих загрузку вашего контента по всему миру.
CDN у Яндекса нет. Если вы посмотрите подробнее, то увидите, что это так. Просто перейти по ссылке на вашей странице надо...
в блоке "140+ CDN-серверов"
класс