Будущее переносимого ПО

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

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

В промышленности переносимость особенно важна. Если в IT сбой - это просто временные неудобства или потеря части выручки, то в АСУТП ошибка может остановить завод или электростанцию, а это уже миллионы убытков и даже риски для людей. Именно поэтому к промышленному софту предъявляются особые требования: он должен быть предсказуемым, стабильным на годы вперёд. 

Есть и ограничения. Долгие годы промышленность опиралась на стандарт IEC 61131, который закрепил пять языков программирования для контроллеров. Но у него есть слабое место: проекты, написанные под одного производителя, плохо переносятся на устройства другого. Чтобы решить эту проблему, появился новый стандарт IEC 61499. Его идея - строить системы из распределённых функциональных блоков, которые легко комбинировать и переносить. Уже есть открытые реализации, например Eclipse 4diac, и они показывают, что такой подход реально работает. Сейчас тренд очевиден: будущее за модульными и переносимыми системами.

В России тема переносимости получила стратегическое значение. В 2023 году была создана рабочая группа по открытой АСУТП, куда вошли крупнейшие промышленные компании. Главная цель - уйти от замкнутых «островков автоматизации» и выработать единые правила, при которых решения будут совместимы и переносимы между разными платформами. Если западные гиганты вроде Siemens или Schneider делают ставку на закрытые экосистемы, где клиент полностью зависит от поставщика, то для России этот путь невозможен. У нас ставка делается на открытые стандарты и open source, потому что только так можно сохранить независимость и устойчивость от иностранных решений и возможных санкций.
Технологическая база для этого уже формируется. На практике применяются разные подходы: от специализированных сборок libc под встраиваемые системы до промежуточных байт-кодов вроде WebAssembly (WASM) и eBPF, которые позволяют запускать один и тот же код на разных архитектурах. В embedded-системах популярна musl - облегчённая альтернатива glibc, которая хорошо работает на компактных контроллерах. Важное направление - адаптация под отечественные процессоры: «Байкал», «Эльбрус». 

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

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

Наши статьи: