Кейс Parqour: автоматизация и безопасность инфраструктуры
Рассказываем, как выстраивали высокую доступность, отказоустойчивость и безопасность платформы.
О клиенте
Parqour — инновационная платформа с технологическими решениями для управления парковками. Поскольку сервис обрабатывает большое количество транзакций и взаимодействует с клиентами в реальном времени, ему необходима высокая доступность, отказоустойчивость и безопасность.
Точка «А»
До начала работы с нашей командой инфраструктура Parqour использовала локальные учетные записи пользователей и испытывала трудности с управлением доступом, хранением логов, мониторингом и обеспечением отказоустойчивости. Команда также хотела управлять развертыванием приложения и хранить секреты централизованно.
Решение
1. Внедрение FreeIPA
Ранее в Parqour использовались локальные учетные записи на каждом сервере, что усложняло управление. FreeIPA позволил централизовать управление пользователями, обеспечив безопасную аутентификацию и авторизацию. Теперь пользователи могут входить на любую машину с одной учетной записью, что повышает удобство и безопасность.
2. Миграция Prometheus TSDB в Grafana Mimir
Компания сталкивалась с проблемами масштабируемости и долгосрочного хранения в Prometheus TSDB. Мы внедрили Grafana Mimir, которая обеспечила отказоустойчивое и горизонтально масштабируемое хранилище временных рядов. Также мы улучшили работу с метриками и долгосрочным мониторингом.
3. Автоматизация настройки объектов через Ansible
Теперь все объекты инфраструктуры настраиваются через Ansible playbooks. Кроме того, исключены ручные ошибки при конфигурировании и гарантирована простота и воспроизводимость развертываний.
4. Бэкапирование кластеров Kubernetes
Реализовали резервное копирование всех данных в Kubernetes и гарантировали возможность восстановления данных в случае сбоев.
5. Настройка Sentry
Внедрили систему мониторинга ошибок и производительности Sentry, чтобы оперативно выявлять и устранять ошибки в коде. Также она интегрирована с Telegram для мгновенного оповещения разработчиков.
6. Настройка системы трассировки Grafana Tempo
Для распределенной трассировки запросов в микросервисной архитектуре настроили Grafana Tempo с объектным хранилищем (S3, MinIO) для эффективного хранения трассировок. Кроме того, поддержка OpenTelemetry и интеграция с Prometheus и Loki улучшают анализ работы сервисов.
7. Внедрение HashiCorp Vault и интеграция с ArgoCD
Настроили защиту секретов, паролей и API-ключей с помощью HashiCorp Vault. Также интегрировали ArgoCD. Эти решения помогают безопасно управлять развертыванием приложений в Kubernetes, исключая утечку конфиденциальных данных.
8. Внедрение Grafana Loki
Обеспечили эффективное хранение логов с минимальными затратами на инфраструктуру. Loki не требует индексации, что снижает нагрузку на систему и упрощает управление логами. Интегрировали решение с Kubernetes и Prometheus ради полного покрытие мониторинга.
9. Настройка репликации MySQL
Для повышения отказоустойчивости реализовали схему master-slave. Также теперь есть поддержка автоматического failover в случае отказа основного сервера. А масштабируемость достигается за счет балансировки нагрузки между репликами. Плюс добавили возможность развертывания в разных регионах для повышения доступности.
10. Автодискавери таргетов для Prometheus + Consul
Реализовали автоматический поиск новых целей для мониторинга без ручного обновления конфигураций. Consul используется как сервисный реестр, позволяя Prometheus автоматически отслеживать новые сервисы в кластере.
Результат
Благодаря внедрению современных DevOps-решений и автоматизации процессов, Parqour получила надежную, отказоустойчивую и безопасную IT-инфраструктуру. Это позволило повысить стабильность работы платформы, упростить поддержку и масштабирование, а также снизить затраты на управление системой.
Cтек технологий
Если и у вас есть задача для нас — обращайтесь. Можем начать с аудита инфраструктуры и после этого перейти к полноценному проекту.
Заказать аудит