Подписаться на рассылку

Как сделать миграцию на новый биллинг простой и понятной: автоматизируем перенос данных

Павел Грачев, 05 июля 2016

Операторы связи, которые по какой-то причине решают сменить используемый биллинг, встают перед выбором: провести миграцию самостоятельно или обратиться за помощью к разработчикам выбранной системы. В первом случае «переезд» всегда осуществляется в наполовину ручном режиме — это разовая операция, автоматизировать которую нет смысла. В итоге возникают ошибки, сдвигаются сроки, а затраты ресурсов постоянно растут.

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

Одно из таких узких мест — перенос данных из старого биллинга в новый. И сегодня мы расскажем о том, как автоматизировали этот процесс.

Сложности миграции

Когда руководство оператора связи санкционирует проект по переходу на новый биллинг, оно ожидает, что приобретаемое решение позволит не только снизить издержки в будущем, но и избавиться от проблем здесь и сейчас. И тем более никому не нужны сложности с самим внедрением — в идеале пользователи вообще не должны заметить, что биллинг стал другим. Это значит, что после завершения процесса внедрения все абоненты должны получать те же самые услуги, а баланс средств на лицевом счете должен сойтись, сетевые адреса и контактные данные должны быть актуальными.

Но сказать проще, чем сделать, и проблемы начинаются уже на этапе выгрузки данных из старой системы. Даже в случае использования серийного биллинга это может оказаться сложной задачей, а при работе с самописными решениями ситуация усложняется. Обычно лишь немногие сотрудники знают детали реализации и если с этими людьми что-то случается (болезнь, увольнение), то на восстановление полной картины приходится тратить много времени и сил.

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

Но для более крупных компаний такой подход нереализуем — это очень долго и трудоемко. Кроме того, информация в биллинге меняется в реальном времени, и эти изменения необходимо учитывать. Разрабатывать же собственное средство для переноса данных не всем под силу, поэтому мы взяли эту задачу на себя.

Автоматизация переезда на Гидру

Биллинг — это масштабный продукт, в котором используются не всегда очевидные подходы и решения. Поэтому мы решили отказаться от попыток создания инструмента, задачей которого был бы перенос данных из одной подобной системы в другую за один шаг. Гораздо эффективнее разбить этот процесс на промежуточные этапы.

Мы разработали так называемую «промежуточную схему» — упрощенный формат (набор таблиц), в котором нужно выгрузить данные из старого биллинга. Впоследствии уже эти данные попадают в Гидру. Такой подход значительно облегчает формирование выгрузки, кроме того, мы помогаем автоматизировать этот процесс.

Для автоматизации задач по выгрузке и переносу данных можно использовать ETL-средства (Extract, Transform, Load) — например, Pentaho Data Integration или Talend Open Studio. Мы используем Kettle (один из модулей пакета Pentaho Data Integration) для создания и конфигурирования ETL-задач и трансформаций. Затем выгрузка выполняется в один клик — учитывая, что в процессе внедрения ее придется сформировать далеко не один раз, это значительно ускоряет миграцию.

ETL-инструменты позволяют решать и проблемы качества данных. Бывает, что старая система не способна обеспечить соответствие данных стандартам (это важно, например, для адресов и телефонов) или вынуждает применять спорные решения (например, хранить IP-адреса в поле с ИНН). Если в новом биллинге эти данные хранятся в структурированном виде, то есть смысл привести данные в соответствие стандартам или новой схеме хранения вместо того, чтобы «тянуть» за собой неудачные решения. К примеру, мы автоматизировали преобразование введенных вручную адресов к корректному и единообразному виду с помощью сервиса DaData.ru.

Как это работает

Проиллюстрировать все описанное выше проще на примере. Ниже представлена часть трансформации для приведения данных из формата биллинга UTM5 в упрощенную промежуточную схему Гидры. Здесь мы генерируем данные для доступа абонентов в сеть и в личный кабинет.

migration1

Так может проходить трансформация ошибочно введенных номеров телефонов к красивому формату хранения E.164:

mig2

Каждый шаг процесса можно гибко настраивать, например, вот так:

mig3

Что в итоге

Сервис автоматизации миграции на Гидру снимает большое количество проблем. Операторам не нужно привлекать своих разработчиков, поскольку работа с ETL-конфигурациями — это не программирование, и для ее поддержки программисты не нужны, а простота и скорость формирования выгрузки позволяет быстро находить ошибки в данных и исправлять их, улучшая качество самой хранимой в биллинге информации.

В случае серийных биллингов все еще лучше — однажды выполнив проект по автоматизированной миграции, в дальнейшем мы можем адаптировать созданное решение для новых заказчиков. Это позволяет сделать процесс миграции еще более простым и быстрым.

Отметить статьюУ статьи уже 6+ таких отметок
Комментариев: 0
КОММЕНТАРИИ К СТАТЬЕ

АВТОРИЗУЙТЕСЬ И ОСТАВЬТЕ КОММЕНТАРИЙ

ИЛИ

↑ К НАЧАЛУ СТАТЬИ