Открыть сервис

Legacy-системы

Legacy-система (от англ. legacyнаследие) — это устаревшая информационная система, программное обеспечение или аппаратный комплекс, который продолжает использоваться в организации, несмотря на наличие более современных альтернатив. Такие системы, как правило, были разработаны и внедрены значительное время назад, но остаются критически важными для бизнес-процессов из-за высокой стоимости замены, сложности миграции данных или интеграции с другими системами. Legacy-системы часто характеризуются использованием устаревших технологий, отсутствием поддержки со стороны разработчика, несовместимостью с современными стандартами безопасности и производительности, а также дефицитом специалистов, способных их обслуживать.

История и причины появления

Понятие legacy-систем возникло с развитием вычислительной техники и корпоративного программного обеспечения в 1960–1980-х годах. В этот период крупные организации (банки, государственные учреждения, промышленные предприятия) активно внедряли мейнфреймы и специализированные прикладные программы, часто написанные на языках COBOL, FORTRAN, PL/I или Assembler. Эти системы решали конкретные задачи — от бухгалтерского учёта до управления производственными линиями — и были оптимизированы под аппаратные платформы того времени.

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

  • Высокая стоимость: разработка новой системы с нуля или миграция данных может стоить миллионы долларов.
  • Риски для бизнеса: остановка работы legacy-системы на время перехода способна парализовать ключевые процессы.
  • Сложность интеграции: legacy-системы часто тесно связаны с другими устаревшими или уникальными решениями, что делает их замену нетривиальной задачей.
  • Отсутствие документации: многие системы создавались без подробной технической документации, и их логика восстанавливается только путём анализа кода или эксплуатации.

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

Характеристики и признаки

Legacy-системы обладают рядом типичных черт, которые отличают их от современных решений:

  • Устаревшая технологическая база: использование языков программирования, не поддерживаемых современными компиляторами (COBOL, FORTRAN, Ada), операционных систем (OS/390, VMS, Windows NT) или аппаратных платформ (мейнфреймы IBM System/360, PDP-11).
  • Отсутствие поддержки: производитель либо прекратил выпуск обновлений и исправлений безопасности, либо взимает за продление поддержки непропорционально высокую плату.
  • Сложность сопровождения: для обслуживания требуются специалисты с узкой квалификацией, которых на рынке труда становится всё меньше (например, программисты COBOL).
  • Низкая производительность и масштабируемость: системы не рассчитаны на современные объёмы данных и нагрузку, что приводит к сбоям и замедлению работы.
  • Проблемы безопасности: отсутствие обновлений делает их уязвимыми для кибератак; часто используются устаревшие протоколы шифрования или аутентификации.
  • Несовместимость с современными стандартами: legacy-системы могут не поддерживать XML, JSON, REST API, современные форматы данных и протоколы обмена.

Классификация и виды

Legacy-системы можно классифицировать по нескольким критериям:

По типу устаревания

  • Технологическое устаревание: система работает на оборудовании или ПО, которое больше не производится и не поддерживается. Пример — мейнфреймы IBM System/390.
  • Функциональное устаревание: система выполняет свои задачи, но не соответствует современным требованиям бизнеса (например, отсутствие веб-интерфейса, невозможность интеграции с CRM).
  • Архитектурное устаревание: система построена на монолитной архитектуре, что затрудняет её расширение и модернизацию.

По сфере применения

  • Банковские и финансовые системы: многие крупные банки до сих пор используют системы на COBOL для обработки транзакций, расчёта процентов и ведения счетов.
  • Государственные информационные системы: в России к legacy-системам можно отнести некоторые подсистемы ГАС «Выборы», ГИС ЖКХ, а также системы пенсионного и налогового учёта, разработанные в 1990–2000-х годах.
  • Промышленные системы управления (SCADA, PLC): устаревшие контроллеры и программное обеспечение для управления производственными линиями, например, системы на базе Siemens S5 или Allen-Bradley PLC-5.
  • Медицинские информационные системы: старые версии электронных карт пациентов, лабораторных информационных систем, работающих на устаревших операционных системах.

Проблемы и риски

Использование legacy-систем сопряжено с рядом серьёзных проблем:

  • Безопасность: отсутствие обновлений делает системы лёгкой мишенью для злоумышленников. Например, в 2017 году атака вируса-вымогателя WannaCry затронула множество организаций, использовавших устаревшие версии Windows.
  • Высокие эксплуатационные расходы: поддержка legacy-систем требует дорогостоящего оборудования, лицензий и оплаты труда редких специалистов.
  • Несовместимость с современными технологиями: legacy-системы часто не могут взаимодействовать с облачными сервисами, мобильными приложениями или современными API, что ограничивает цифровую трансформацию.
  • Риск потери данных: устаревшие форматы хранения и носители (магнитные ленты, дискеты) могут выйти из строя, а данные — стать недоступными.
  • Юридические риски: несоответствие современным требованиям законодательства (например, в области защиты персональных данных — 152-ФЗ в России) может привести к штрафам и санкциям.

Стратегии модернизации

Организации применяют несколько подходов к работе с legacy-системами:

1. Полная замена (replacement)

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

2. Миграция (migration)

Перенос данных и функциональности на новую платформу с сохранением логики работы. Например, перевод приложения с мейнфрейма на серверную архитектуру x86.

3. Инкапсуляция (encapsulation)

Сохранение legacy-системы в неизменном виде, но добавление поверх неё современного интерфейса (например, веб-обёртки) для доступа через API. Это позволяет продлить жизнь системы без её полной переработки.

4. Рефакторинг (refactoring)

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

5. Эмуляция и виртуализация

Запуск legacy-системы на современном оборудовании с помощью эмуляторов или виртуальных машин. Например, эмуляция мейнфрейма IBM на сервере x86.

6. Вывод из эксплуатации (decommissioning)

Полное прекращение использования системы после миграции всех данных и процессов на новое решение. Этот этап часто является завершающим в проекте модернизации.

Примеры legacy-систем в России и мире

  • COBOL-системы в банках: многие крупные банки США (например, JPMorgan Chase) и Европы продолжают использовать системы на COBOL для обработки транзакций, несмотря на то, что язык был создан в 1959 году.
  • ГАС «Выборы»: в России государственная автоматизированная система «Выборы» была введена в эксплуатацию в 1994 году и с тех пор неоднократно подвергалась критике за устаревшую архитектуру и проблемы с безопасностью.
  • Системы управления воздушным движением: в ряде стран (включая США) используются legacy-системы на базе мейнфреймов, разработанные в 1970-х годах, что создаёт риски для безопасности полётов.
  • Медицинские системы NHS: в Великобритании Национальная служба здравоохранения (NHS) долгое время использовала устаревшие системы на Windows XP, что привело к серьёзным сбоям при атаке WannaCry в 2017 году.

Критика и перспективы

Legacy-системы часто критикуются за то, что они тормозят инновации и создают «технический долг» — накопленные проблемы в архитектуре и коде, которые требуют всё больших затрат на исправление. С другой стороны, их сторонники указывают на то, что многие legacy-системы десятилетиями работают стабильно и без сбоев, а их замена может привести к неоправданным рискам.

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

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →