Как облачное решение ускорило разработку пилотного высоконагруженного сервиса: кейс RedLab

25 февраля 2022
Поделиться

Скорость прохождения пути от идеи до запуска пилотного продукта является важной составляющей его успеха. Не менее важен бюджет, который компания тратит на разработку ИТ-сервиса. Чем качественней будет проработка инфраструктуры решения в начале проекта, тем быстрее произойдет релиз продукта и тем меньше дополнительных средств потребуется в будущем на его доработку и содержание. Кроме того, грамотно проработанная инфраструктура обеспечит стабильную и бесперебойную работу highload сервиса даже в пиковые нагрузки.

Стоит отметить, что проектирование и разработка высоконагруженных систем имеют ряд особенностей, требуют серьезного подхода и, соответственно, наличия определенных компетенций. Если в инхаус-команде такие ресурсы отсутствуют, то компании привлекают внешних ИТ-инженеров. Именно за экспертизой в devops к нам обратился один из ведущих российских разработчиков.

Описание задачи

Для пилотирования высоконагруженного проекта (в перспективе, обработка нескольких терабайт данных в сутки), специалистам компании RedLab требовалось развернуть инфраструктуру для MVP нового сервиса.  Клиент обозначил 2 основных требования:

  • Использовать в проекте  инструменты не привязанные к какому-либо поставщику облачных решений.
  • Развернуть инфраструктуру для проекта в максимально сжатые сроки.

Реализация

Чтобы выполнить требования клиента и завершить разработку инфраструктуры и всех необходимых компонентов в строго установленные сроки, в первую очередь мы приступили к поиску и выбору подходящего сервиса. После проведения глубокого анализа и изучения характеристик релевантных технологий, наши специалисты остановились на следующем решении:

  • В качестве основной платформы был выбран AWS.
  • Мы использовали только те сервисы AWS, для которых есть полные аналоги on-premise.
  • Для хранения файлов подобрали Amazon S3.
  • Метаданные хранятся в Amazon Keyspaces (for Apache Cassandra).
  • Очередь на обработку реализовали на Amazon MQ (for RabbitMQ).
  • Воркеры расположили на независимых Docker нодах (полная загрузка сетевых интерфейсов).
  • Полная автоматизация развертывания инфраструктуры осуществляется при помощи AWS CloudFormation, Terraform, Ansible.
  • Автоматизация CI/CD процессов – через pipelines в Jenkins.  

Используемый технологический стек

AWS, Amazon S3, Amazon Keyspaces, Amazon MQ, Docker, AWS CloudFormation, Terraform, Ansible, Jenkins.

Команда

2 инженера команды ИТ-инфраструктуры

Результат

Благодаря богатому опыту и глубокой экспертизе devops-инженеров RedLab, мы смогли быстро определить подходящую под требования заказчика облачную платформу – AWS и в рекордные сроки развернуть всю необходимую инфраструктуру для MVP высоконагруженного сервиса. Это позволило нашему клиенту своевременно начать пилотное внедрение нового продукта и уложиться во внутренние дедлайны.

Простое и гибкое управление потреблением ресурсов позволит заказчику максимально оперативно и эффективно реагировать на меняющиеся потребности бизнеса и легко осуществлять новые итерации по доработке пилотного продукта.  А за счет использования подхода Infrastructure as Code и отсутствия vendor-lock’а в выбранном сервисе, текущее решение можно при необходимости быстро перенести на другую облачную платформу или в собственную инфраструктуру заказчика. 

Смотрите также