От одного контейнера до 4000 RPS: как мы масштабировали GitLab в 3 датацентрах

Архитектура и масштабируемость

Отказоустойчивость
Распределенные системы
Архитектуры / другое
Логирование и мониторинг
Devops / другое
Микросервисы
Инфраструктура
Сеть

Доклад принят в программу конференции

Целевая аудитория

Те люди, которым нужно разворачивать, поддерживать масштабную или быстро растущую инсталляцию Gitlab CE/EE.DevOps-инженеры, архитекторы высоконагруженных систем, системные администраторы, специалисты по инфраструктуре.

Тезисы

Доклад посвящён реальному опыту масштабирования GitLab от маленького контейнера до крупного распределённого решения в трёх датацентрах с нагрузкой 4000 запросов в секунду. Мы подробно рассмотрим ограничения, с которыми столкнулись при росте нагрузки и пользователей, и конкретные шаги по решению этих проблем:
• Почему Docker-контейнер стал узким местом и как мы решили эту проблему.
• Причины перехода на различные редакции GitLab (от CE до собственной редакции): какие преимущества получили и когда стоит переходить на новую редакцию.
• Проблемы производительности, когда SSH перестал успевать проверять ключи, и как это исправили.
• Оптимизация хранения и бекапов, включая миграцию на S3 и смену подхода к резервному копированию.
• Отделение очередей и GitLab в отдельные сервисы для повышения стабильности.
• Почему и как мы мигрировали на Kubernetes-кластер.
• Масштабирование GitLab VCS и внедрение балансировки для отказоустойчивости.
• Переход на In-memory(redis/valkey) базы данных и разделение нагрузки на несколько кластеров.
После доклада слушатели смогут лучше понять, как последовательно и эффективно масштабировать GitLab и аналогичные сервисы, избегать распространённых ошибок и заранее подготовиться к техническим ограничениям инфраструктуры.

В ИТ более 17-ти лет
Прошёл путь от системного администратора сайтов и devops в bigdata, а далее разработчика до архитекторы трайба и более 10-ка продуктов как внешних так и разрабатываемых внутри.

Видео

Другие доклады секции

Архитектура и масштабируемость