Проектный опыт: Реализация процесса CI/CD в Visiology

Команда Ёлва

Подпишитесь, чтобы получать новые статьи

Подписаться

Компания «NDA» – российская нефтегазовая компания. Входит в ТОП-5 компаний в своей отрасли.

В современных BI-системах, таких как Visiology, удобное и надежное резервное копирование данных является критическим фактором для поддержания бизнес-процессов. Однако стандартные методы часто требуют участия системных администраторов, использования консольных команд и других неинтуитивных процессов, что усложняет работу пользователей, сокращает системность ведения процесса создания резервных копий и увеличивает риск ошибок и потерь данных.

IT-интегратор Ёлва одна из первых компаний в России разработала собственное решение по интеграции с CI/CD пайплайнами GitLab в Visiology. Наша разработка позволяет автоматизировать резервное копирование и развертывание данных в графическом интерфейсе GitLab, что делает управление данными удобным и доступным для всех участников процесса. 

Интуитивно понятный интерфейс позволяет пользователю выбрать соответствующий его задачи блок действий, которое он планирует выполнить (создать резервную копию или опубликовать ее), а затем указать соответствующую среду и запустить процесс.  

Ключевые возможности решения: 

  1. Полноценное управление резервными копиями. Все резервные копии сохраняются в GitLab в виде отдельных веток. Это обеспечивает полную историю изменений и позволяет вернуться к любой версии данных в любой момент. 
  1. Частичное резервное копирование и развертывание. Вы можете избирательно переносить конкретные дашборды, рабочие области или наборы данных между средами, избегая избыточного копирования и сохраняя актуальность других данных. 
  1. Использование API Visiology. Решение максимально использует возможности API для автоматизации процессов. Это включает авторизацию, запросы на создание и развертывание резервных копий, обработку данных и обновление репозиториев. 
  1. Гибкость настройки через переменные. Администраторы и разработчики могут задавать параметры для пайплайнов, такие как среда для работы, наборы данных, подключение к серверу, а также другие конфигурации, чтобы кастомизировать процессы под конкретные задачи. 
  1. Интеграция с процессами CI/CD. Решение легко вписывается в существующие пайплайны GitLab, позволяя запускать процессы копирования и развертывания одновременно с другими автоматизированными задачами. 
  1. Поддержка нескольких сред. Позволяет эффективно работать как с тестовыми, так и с продуктивными средами. Это полезно при тестировании обновлений или анализе исторических данных без влияния на основную рабочую среду. 

Архитектура и процесс работы 

Архитектура решения 

Решение включает несколько ключевых компонентов: 

  • GitLab: используется как основная платформа для хранения данных, управления версиями и автоматизации пайплайнов. 
  • API Visiology: обеспечивает доступ к функционалу резервного копирования и развертывания данных. 
  • Скрипты автоматизации: отвечают за обработку данных, генерацию архивов и управление ветками в репозитории. 

Этапы работы 

  1. Создание резервной копии: 
  • Пользователь запускает пайплайн в GitLab. 
  • Скрипт инициирует процесс резервного копирования через API Visiology. 
  • Данные разбиваются на отдельные компоненты (дашборды, наборы данных, визуализации) и сохраняются в GitLab. 
  • Ветка latest обновляется новой резервной копией, а предыдущая версия архивируется с меткой даты и времени. 
  1. Развертывание резервной копии: 
  • Пользователь выбирает необходимую ветку с резервной копией и запускает пайплайн развертывания. 
  • Скрипт автоматически переносит данные на целевой сервер Visiology. 
  • Данные синхронизируются, а пользователь может проверить результаты через интерфейс платформы. 
  1. Частичное развертывание и экспорт: 
  • Пайплайн позволяет экспортировать или развертывать только необходимые рабочие области или дашборды, что особенно полезно для частичного переноса и тестирования. 
  • Пользователи задают параметры с помощью переменных, например, выбирая конкретную ветку данных. 

Технические детали реализации 

  1. Работа с ветками GitLab. 
  • Каждая резервная копия сохраняется в отдельной ветке с именем, содержащим дату и время создания. 
  • Ветка latest всегда хранит актуальную версию резервной копии, упрощая доступ к последним данным. 
  • Архивирование старых версий позволяет отслеживать изменения и восстанавливать данные из любой точки времени. 
  1. Обработка данных. 
  • Файлы резервных копий разбиваются на отдельные SQL-скрипты для каждой таблицы, что упрощает их анализ и обновление. 
  • Конфиденциальные данные, такие как пароли и логи, исключаются из резервных копий, чтобы избежать проблем с безопасностью. 
  • Дашборды сохраняются в формате JSON, что позволяет легко восстанавливать и редактировать их структуру. 
  1. Гибкость настройки. 
  • Пользователи могут использовать переменные для настройки пайплайнов. Например, можно указать рабочую область для копирования, адрес сервера или параметры подключения. 
  • Это позволяет адаптировать решение под конкретные сценарии, такие как тестирование новых функций или восстановление удаленных данных. 
  1. Логирование и мониторинг. 
  • Каждый этап пайплайна сопровождается логированием, что упрощает диагностику и решение возможных проблем. 
  • В случае ошибок пользователи могут перезапустить отдельные шаги пайплайна, не нарушая общий процесс. 
  1. Оптимизация производительности. 
  • Процесс создания и развертывания копий оптимизирован для работы с большими объемами данных. Это достигается за счет параллельной обработки задач и минимизации объема запросов к API. 

Преимущества для бизнеса 

  • Экономия времени: автоматизация процесса значительно сокращает время на создание, хранение и развертывание резервных копий. 
  • Снижение рисков: исключается человеческий фактор, а использование версионности GitLab позволяет минимизировать потери данных. 
  • Гибкость: возможность частичного копирования данных и адаптации пайплайнов под конкретные задачи делает решение универсальным и покрывает большое количество различных бизнес-кейсов заказчиков. 
  • Прозрачность: полное логирование всех процессов позволяет легко отслеживать изменения и выявлять ошибки. 
  • Доступность: графический интерфейс GitLab упрощает доступ к данным для всех категорий пользователей.

Применение в реальных кейсах 

Наше решение уже успешно применяется для автоматизации процессов резервного копирования и развертывания в крупных компаниях. Например, в одном из проектов пользователи смогли быстро восстановить данные, удаленные по ошибке, благодаря доступу к архивным веткам в GitLab. 

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

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

В вебинаре мы продемонстрировали, как процесс CI/CD может улучшить вашу текущую инфраструктуру данных на конкретном уникальном примере.
Поделились последними обновлениями BI-платформы Visiology, которые заявлены вендором как масштабные, и разобрали так ли это. Леонид Соловьев, ведущий бизнес-аналитик IT-компании Ёлва, поделился своим опытов и инсайтами:

Заключение 

Решение от IT-интегратора «Ёлва» объединяет возможности GitLab и Visiology, создавая мощный инструмент для управления резервными копиями и хранения данных разработок. Оно упрощает процессы резервного копирования и развертывания, делая их доступными и понятными для всех участников. Если вас заинтересовало данное решение, вы хотите повысить надежность и упростить работу с резервными копиями в Visiology, оставьте заявку на нашем сайте, и мы поможем вам внедрить это решение в вашу инфраструктуру. 

Если вас заинтересовал данный проект, свяжитесь с нами через форму обратной связи на сайте, по телефону +7-499-500-45-29 или пишите на request@yolva-it.com. Команда специалистов «Ёлва» внимательно изучит ваш запрос и подберет оптимальное решение для вашего бизнеса.

#BI#Visiology#Кейс

Подпишитесь на наши статьи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *