Найти в Дзене
Аурига

Успешная миграция на PostgreSQL: оценка затрат

Оглавление

На российском рынке информационных технологий в 2023 году нет более актуальной темы, чем переход с проприетарного программного обеспечения на решения с открытым исходным кодом. Этот шаг становится неизбежным, учитывая прекращение продажи лицензий на многие проприетарные решения и прекращение технической поддержки для множества продуктов. Существует постоянный риск того, что очередное обновление проприетарного ПО может негативно повлиять на работу системы, и даже удалить важные данные. Кроме того, нельзя не отметить, что то, что сегодня функционирует, может быть закрыто завтра. Эти риски применимы к любой коммерческой организации в России или находящейся на ее территории.

Однако, помимо негативной мотивации к переходу на open source ПО, есть и позитивная. Миграция может снизить регулярные затраты на лицензирование, дать стимул для давно откладываемой модернизации всей ИТ-инфраструктуры предприятия и обновления многих корпоративных подсистем.

В качестве примеров задач, которые можно решить в процессе миграции, можно привести:

  • Внедрение контейнеризации и создание низкозатратной среды для поддержки разработки, непрерывной интеграции и непрерывной доставки (CI/CD).
  • Разделение монолитных решений на более управляемые компоненты, что в итоге облегчает их поддержку.
  • Оптимизация и очистка данных, повышение их качества и надежности.
  • Получение возможностей для внедрения новых бизнес-процессов и нового функционала для пользователей.

Миграция СУБД – предлагаемый нами подход

Для более эффективного управления сроками миграции между разными системами управления базами данных (СУБД) и ожиданиями бизнеса от этого процесса, целесообразно разделить проект на две фазы. Первая фаза представляет собой относительно простую и понятную задачу — перенос кода с одного SQL-диалекта на другой. Эта фаза является относительно короткой и обещает ощутимый, легко предсказуемый результат. Большую часть данных и функционала можно перенести оперативно. Затраты на данной этап легко оцениваемы и линейны, включая в себя стоимость написания кода, которую можно даже измерить по количеству строк.

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

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

  • Выбор методологии разработки (Waterfall vs Agile) обычно зависит от потребностей бизнеса. Важно помнить, что любая гибкая методология требует чуть больших трудозатрат, но быстрее дает результаты.
  • Оценка необходимого реинжиниринга. Возможно, бизнес будет готов выделить дополнительные ресурсы, если это позволит получить новые возможности и улучшить эффективность.
  • Протоколирование прошлых проблем. Соберите информацию о проблемах, с которыми сталкивалась система в течение последних пяти лет. Если они решались «творческими» способами, вероятно, потребуется разработать рабочий вариант (workaround) и в новой системе.
  • Оценка времени на тестирование данных.
  • Оценка процесса миграции существующей БД, включая перенос данных и тестирование совместимости с новой системой.

Оценка затрат на миграцию БД

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

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

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