Эффективная миграция данных: как избежать ошибок и минимизировать риски

О сложностях интеграции систем, методах минимизации рисков потери данных, выборе инструментов для успешной интеграции — рассказывает Сергей Прорубщиков

Эффективная миграция данных: как избежать ошибок и минимизировать риски

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

  • отсутствие или недостаточность стандартных интерфейсов для взаимодействия;
  • отсутствие актуальной документации;
  • отсутствие знающих специалистов или разработчиков.

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

Как правильно оценить и минимизировать возможные риски

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

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

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

Интеграция устаревших систем

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

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

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

Масштабируемость и инновации

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

Правильным решением в такой ситуации будет применение специализированного программного обеспечения для интеграции. Другими словами, использование интеграционного брокера/шины. И в дальнейшем уже совместно масштабировать брокера и конечные системы.

Еще одна важная задача для бизнеса — отслеживать и внедрять инновации. А их сегодня немало и количество растет.

Например, одним из наиболее заметных направлений является широкое использование стриминговых сервисов, таких как Kafka, и процессов, основанных на этих сервисах, например Siddhi. Эти технологии позволяют более эффективно обрабатывать и передавать потоковые данные. Еще одна интересная тенденция — растущая популярность сервисов для управления жизненным циклом API, в частности WSO2 Api Management, которые обеспечивают более эффективное управление и контроль за API

Особенности миграции данных

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

  • наличие специалистов по DevOps;
  • повышенное внимание к защите данных при их передачи;
  • надежные доступы.

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

Непрерывность бизнес-процессов во время интеграции систем

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

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

Критически важно провести end-to-end-тестирование интеграции до ее внедрения, включая процедуры перехода и отката системы в исходное состояние. Помимо этого, следует осуществлять опытную эксплуатацию, а в некоторых случаях и так называемую параллельную эксплуатацию.

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

Управление версиями данных и их согласованность при интеграции

Довольно часто во время интеграции возникает проблема несоответствия данных в разных системах. Тем более, когда одна из них получает информацию из нескольких источников. А в совсем сложных ситуациях информация может быть несогласованной в разных местах одновременно. Как пример, можно привести ситуацию в авиации, когда пилоту разрешают отстыковку, но на информационном табло все еще отображается процесс посадки. Для решения этой ситуации нужно найти баланс между скоростью и точностью работы системы.

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

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

Оценка и выбор инструментов для интеграции данных

Выбор правильного инструмента — один из главных залогов успешной интеграции. И начинать стоит с обзора рынка. После этого составьте список с несколькими инструментами, которые могут вам подойти. Некоторые эксперты утверждают, что в списке должно быть примерно 2-3 пункта. И далее вы уже можете вступать в диалог с поставщиками для обсуждения нюансов и условий.

Во время выбора инструментов опирайтесь на следующие критерии:

  • способность обеспечивать требуемую функциональность;
  • наличие успешных кейсов;
  • развитая база знаний и активное сообщество разработчиков.

Кроме того, важно рассматривать доступность квалифицированных специалистов на рынке труда, что влияет на возможности поддержки и развития решения. Немаловажен и аспект простоты обучения и внедрения инструмента в практику, включая наличие удобных средств разработки и интеграцию со средствами непрерывной интеграции и развертывания (CI/CD). 

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

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

Что в итоге

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

Данные о правообладателе фото и видеоматериалов взяты с сайта «РБК Компании», подробнее в Условиях использования
Анализ
×
Прорубщиков Сергей
API
Технологии
38