2023/09/14 15:42:15

Роман Карпов, Axiom JDK: Миграция с зарубежного стека на отечественную Java — это быстрая победа

Как успеть импортозаместить КИИ к 1 января 2025 года, в чем опасность «озлобленного» open source, как Java готовили к сертификации ФСТЭК и где получить отечественный сертификат Java-программиста, — TAdviser рассказал Роман Карпов, директор по стратегии и развитию технологий Axiom JDK, руководитель комитета по ИБ АРПП «Отечественный софт», советник Министра цифрового развития по вопросам системного ПО, руководитель технического комитета АНО «Открытый код», председатель ЦКР по Управлению ИТ-инфраструктурой.

Содержание

Роман
Карпов
Наши Java-технологии — в отличие от зарубежных и самосборок OpenJDK — входят в реестр ПО Минцифры и совместимы с отечественными ПО и оборудованием.

Импортозамещение КИИ

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

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

В чем специфика технологии Java?

Роман Карпов: Java-приложение будет работать на любой базовой платформе, причем одинаково. Преимущество Java — в кроссплатформенности.

Бизнес-логика описывается на нескольких языках программирования — Kotlin, Java, Groovy и ряде других. Но чтобы приложение заработало, код должен быть транслирован в машиночитаемый язык. Этим занимается виртуальная машина Java (JVM), она же — среда исполнения. JVM запускает приложение в базовой среде — ОС и процессор, — где ее поместили.

Как много критических информационных инфраструктур (КИИ) работает на платформе Java?

Роман Карпов: В нашей стране порядка 400 государственных информационных систем функционирует на Java и в целом платформа используется во всех отраслях экономики. Банковские и финтех системы, промышленные комплексы SCADA, интеллектуальные системы месторождений, торговые терминалы, соцсети и многое другое. Согласно экспертным мнениям, число КИИ в России оценивается в 300 000. Не все из них работают на Java, но даже если взять самую низкую планку — 10%, то это уже 30 000.

Есть ли особые проблемы в контексте импортозамещения связующего ПО?

Роман Карпов: Эта тема долго оставалась в тени. Все знают, что надо замещать операционную систему, офисный пакет. Отчасти сказываются 30 лет экспансии зарубежных вендоров: и Oracle, и IBM предоставляли полный стек, от инфраструктуры до бизнес-логики. В результате о важности связующего слоя забыли, и он выпал из KPI по импортозамещению.

Но все меняется — вышедший в этом году Приказ Минцифры №21 от 18.01.2023 более проработан, включает импортозамещение, в том числе и сред исполнения, связующего ПО.

Насколько сложно заказчикам уйти с западных технологий? Что тормозит и где найти стимулы?

Роман Карпов: На рынке нет полнофункциональных решений, которые способны полностью воспроизвести западные продукты. В первую очередь, речь идет о системах проектирования для промышленности, MES-системах и прочем «тяжеловесном» ПО.

Но есть место и позитиву. Миграция с зарубежного стека технологий Java на наши решения — это «быстрая победа»: достаточно заменить один бинарный файл на другой. И все продолжает работать, поскольку Axiom JDK Pro — это среда разработки и запуска на основе стандарта Java SE. В случае же замены, например, VMware, такого простого способа нет, процесс несет много технологических рисков.

Еще одна сложность, едва ли не главная, — инерция мышления. Мировому ИТ-рынку порядка 50 лет, и 30 из них наша страна инвестировала ресурсы в зарубежные технологии, приобретая и используя решения, компетенции, знания, формируя навыки инженеров, которые работали в западных компаниях, развивали их решения и адаптировали под них технологические процессы на предприятиях.

И вот последние 10 лет звучит призыв инвестировать в отечественных инженеров, российское ПО. К сожалению, это встречает сопротивление. Ведь раньше пользовались надежными, работающими западными разработками, и переход на свое, которое нужно «допиливать напильниками, — процесс мучительный и сложный.

Полный отказ от поддержки ПО зарубежных вендоров, введение KPI по импортозамещению помогут преодолеть ментальный барьер?

Роман Карпов: Если в плане личной гигиены человек на генетическом уровне уже усвоил, что перед едой надо мыть руки, а для еды нужно брать воду из крана с фильтром, а не из лужи на улице. То цифровой мир еще молод и кибер-гигиена не вошла ДНК компаний, не стала привычкой у людей. Большинство заказчиков, к сожалению, относится спокойно к тому, что обновление безопасности не установлено.

Хотя есть и флагманы импортозамещения, чей опыт стоит брать за образец. Благодаря таким стратегически мыслящим руководителям и профессиональным ИТ-командам россияне, например, имеют возможность проводить 18 млн СБП платежей в сутки[1].

Представьте, если бы компания НСПК в 2020 году не перевела платежную систему «МИР» на отечественное ПО, включая платформу Java Axiom JDK Pro, мы не смогли бы осуществлять карточные операции с высокой производительностью и отказоустойчивостью и продолжать расплачиваться картами Visa и MasterCard. Система быстрых платежей, другие цифровые и транспортные сервисы Mir.Platform работают на нашей платформе Java с SLA 99,999%. Без преувеличения — косвенно две трети россиян ежедневно ее используют.

Полный стек доверенных Java-технологий

Программные продукты Axiom JDK образуют полный стек Java-технологий российского происхождения. Как ведется их разработка?

Роман Карпов: Технологии Java в этом году исполнилось 28 лет. Axiom JDK создала управляющая команда Центра разработки Oracle в Санкт-Петербурге, а ядро составляют инженеры, которые больше четверти века развивают Java и OpenJDK. Много ли вы знаете отечественных программистов с опытом работы по специальности 30 лет? У нас одна из самых профессиональных инженерных команд в России.

Весь продуктовый портфель Axiom JDK основан на проектах с открытым кодом. С выпуском нового релиза мы, как и другие участники проекта, берем кодовую базу и делаем свои дистрибутивы. Но только наши Java-технологии — в отличие от зарубежных и самосборок OpenJDK — входят в реестр ПО Минцифры и совместимы с отечественными ОС, СУБД, приложениями и оборудованием. Это преимущество для российских компаний. Синхронно с Oracle Java мы выпускаем 6 релизов и обновлений в год. И почти каждый инженеры дополняют локализацией в соответствии с российскими нормами.

Например, в среде разработки и исполнения Java Axiom JDK Pro — нашем флагманском продукте, интегрированы TLS-сертификаты Минцифры РФ. Зарубежные сертификаты безопасности больше недоступны, а с нашим дистрибутивом подключение произойдет автоматически при установлении защищенных TLS-соединений с цифровыми сервисами, использующими отечественные сертификаты. Это оценили разработчики ГИС, КИИ, банковских и других комплексных систем.

Какие зарубежные платформы способна заместить среда Java Axiom JDK Pro?

Роман Карпов: Продукт соответствует стандарту Java SE и замещает любые зарубежные дистрибутивы. Наиболее популярны миграции с Oracle Java, дистрибутива Red Hat, собственных разработок клиентов на базе OpenJDK.

Лидерами импортозамещения являются высоконагруженные финтех-системы. Например, Санкт-петербургская международная товарно-сырьевая биржа (СПбМТСБ) и ЕДИНЫЙ ЦУПИС, кредитная организация, предлагающая широкий выбор способов перевода денежных средств для регулируемой индустрии развлечений. Они обеспечили безопасность и надежность КИИ, переведя их на Axiom JDK Pro, и выиграли в скорости разработки за счет уникальных оптимизаций, внедренных нашими инженерами.

Сколько времени и ресурсов требуется на миграцию?

Роман Карпов: В случае с Axiom JDK Pro — это замена пары строк кода и несколько месяцев тестирования и пилотирования в соответствии с внутренними регламентами заказчика, например, если речь идет о финтехе и ГИСах.

Для серверов приложений миграция сложнее. Зарубежные продукты помимо спецификаций Java EE (Jakarta EE) содержат проприетарные функции, то есть собственные доработки. Ход миграции зависит от того, как именно построено приложение у заказчика. Если с ориентацией на отраслевую спецификацию Java EE, то переход будет проще. В ином случае потребуется существенная переработка приложения, и это займет больше времени.

Например, недавно завершилась миграция системы ДБО на сервер приложений Libercat в одном из крупных отечественных банков. Изначально дистанционное банковское обслуживание было построено на сервере приложений IBM WebSphere. Миграция заняла около года, включая функциональное и нагрузочное тестирование, обязательные в случае такого уровня систем. В результате заказчик остался весьма доволен выполненными KPI по импортозамещению.

Роман
Карпов
Сервер приложений Libercat разработан для российского рынка, где Java занимает центральное место в ИТ-ландшафте большинства банков и предприятий.

Что представляет собой сервер приложений Libercat?

Роман Карпов: Мы разработали его с учетом потребностей российского рынка, где Java занимает центральное место в ИТ-ландшафте большинства банков, госорганизаций, промышленных предприятий. Cтандартизованный cервер приложений Libercat основан на открытых исходных кодах Apache Tomcat, одного из самых популярных серверов приложений и предназначен для работы с технологиями Java EE (Jakarta EE). В связке с Axiom JDK Pro клиенты получают комплексное сертифицированное решение для разработки и исполнения Java-приложений КИИ.

Libercat поставляется в двух вариантах. Первый предполагает реализацию сервлетов — это современный подход с использованием, например, фреймворка Spring. Второй вариант подразумевает реализацию Java и ее спецификаций, то есть полноценный сервер приложений, который является заменой зарубежным Oracle WebLogic, IBM WebSphere и JBoss или WildFly от RedHat. Обновления Libercat включают все исправления уязвимостей безопасности и оптимизацию производительности.

Безопасная разработка и сертификация ФСТЭК

Продукты компании создаются в концепции SDL (Security Development Lifecycle), жизненного цикла безопасной разработки. Зачем это нужно и что дает заказчикам?

Роман Карпов: Мы входим в число лидеров безопасной разработки в России. Одна из идей, лежащих у истоков российской среды исполнения Java в концепции SDL by Design, — это создать надежный продукт, обеспеченный высоким уровнем доверия потребителя, вниманием к процессам тестирования и качеству при каждом обновлении. SDL позволяет воплотить эту идею и сократить расходы на процессы, необходимые для поддержания качества.

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

Стоит отметить, что только в 2023 г. было внесено 115 критических патчей безопасности в открытый код среды разработки и запуска Java и устранено 18 уязвимостей. Риск ИБ в виде отказа в обслуживании — бомба замедленного действия. Невозможность получения обновлений, закрытия уязвимостей — то, что сейчас наблюдается, с течением времени может привести к проникновению злоумышленника в периметр и краже данных.

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

Для применения наиболее передовых SDL-инструментов мы сотрудничаем с ИСП РАН им. В.П. Иванникова, используем научные разработки для статического и динамического анализа, доверенный компилятор.

Сертификация ФСТЭК — трудоемкий процесс. Как команда инженеров Axiom JDK смогла сертифицировать Java?

Роман Карпов: Кодовая база Java сравнима с операционной системой, это сложная технология. И процесс сертификации действительно многогранный. Безопасная разработка — один из его аспектов, который мы реализуем для всех продуктов, мы только скорректировали его под требования ФСТЭК.

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

Для этого наши инженеры реализовали ряд функций. Самая важная это «сборщики мусора» (garbage collectors). Специальные подпрограммы внутри Java занимаются «удалением удаленного». Когда приложение работает, оно порождает удаленные данные, по сути, — мусор. В штатной логике он физически удаляется не сразу, а может и остаться не удаленным. Наши инженеры доработали код и теперь при удалении на логическом уровне информация в тот же момент исчезает и на физическом, что уменьшает поверхность атаки. Это соответствует требованиям безопасности в нормативах ФСТЭК.

В каких случаях нужна сертифицированная Java Axiom JDK Certified, а когда достаточно Axiom JDK Pro?

Роман Карпов: Сертифицированный продукт Axiom JDK Certified требуется в системах с повышенным требованиями к безопасности. Это ГИСы, вплоть до 1-го класса защищенности, критические информационные инфраструктуры (КИИ) и системы персональных данных. Нужно включить еще финансовый рынок. Банки рассматривают сертификацию критичных систем, например, АБС, ДБО, с тем, чтобы привести их в соответствие с нормативами ЦБ РФ.

Кроме того, Axiom JDK Certified решает задачи разработчиков отечественных приложений, так как при сертификации ФСТЭК требует сертифицировать и среду их исполнения. С выходом Axiom JDK Certified спрос вырос в 5 раз. С нашим продуктом партнеры могут сфокусироваться на проверке кода только своего приложения и экономят ресурсы.

Отмечу, что процесс создания сертифицированной версии занял порядка десяти человеко-лет разработки, а объем верифицированного кода составил 3 Гб.

Роман
Карпов
Риск ИБ в виде отказа в обслуживании — бомба замедленного действия. Отсутствие обновлений безопасности приоткрывает двери злоумышленникам.

Экосистема и тренды

Облачная и микросервисная архитектура сейчас в приоритете при разработке новых систем и сервисов. Как российская Java поддерживает эти тренды?

Роман Карпов: Одна из составляющих нашей стратегии — повышение эффективности разработки и продуктивности разработчиков. Изначально Java не предназначалась для облачных или микросервисных систем, но мы оптимизировали ее под современные нужды.

Мы выпустили продукт Axiom Runtime Container Pro — легковесный докер-контейнер с полнофункциональной средой Java. В его основе легковесная ОС Alpine Linux, доработанная с точки зрения безопасности, производительности и универсальности. Если сравнить с зарубежными аналогами, подобный продукт вместе с операционной системой и Java, например, у Red Hat, занимает порядка 0,5 Гб, а размер нашего решения — всего 41 Мб, то есть в 12 раз меньше.

Маленькие контейнеры потребляют меньше памяти, способствуя сокращению затрат на облако, а многочисленные оптимизации позволяют уменьшить время отклика и повысить пропускную способность. В результате наши клиенты, например, «М.Видео-Эльдорадо», «Альфа-Банк» смогли ускорить разработку и выпуск новых продуктов на 15-25%.

Как развивается экосистема Java в Россия?

Роман Карпов: Она активно расширяется и, что приятно, постепенно замещает экосистему Oracle. Наши продукты используются повсеместно — в процессинге карт, розничной торговле, добыче и транспортировке газа, онлайн-платежах, банковских системах, государственных сервисах, соцсетях и самых популярных ИТ-решениях. По итогам прошлого года число клиентов выросло в 5 раз, в этом году уже реализовано более 40 поставок.

Наша партнерская сеть объединяет более 70 компаний и выросла почти в 2 раза за последний год. Это разработчики систем на заказ, ISV или ОЕМ-партнеры, создающие приложения, для работы которых требуется Java, а также поставщики готовых «коробочных» продуктов. У нас дистрибуторская модель.

Мы инвестируем в сертификацию и совместимость продуктов. Технологическое партнерство, гарантирующее совместную работу продуктов, — еще одна часть экосистемы. Оно связывает нас с ведущими разработчиками ОС, СУБД, приложений, облаков и оборудования и позволяет создавать сквозные решения для проектов импортозамещения. Наши продукты могут работать с любой российской ОС, а более тесное сотрудничество нас связывает с лидерами — Astra Linux, РЕД ОС, РОСА и ALT Linux. Стоит отметить расширение сотрудничества с компаниями-разработчиками банковского ПОДиасофт, ЦФТ, R-Style и другие. Ведь 80% систем в этом секторе работают на Java.

Проводится ли обучение и сертификация специалистов партнеров, заказчиков?

Роман Карпов: Да, это еще одна часть нашей экосистемы. Совместно с УЦ IBS и фондом Сколково мы запустили отечественную сертификацию Java-программистов. Каждый месяц в 4 городах России проходят экзамены, а также предлагаются курсы по подготовке. По сути — это импортозамещение сертификационных экзаменов от Oracle. Их результаты действуют 2 года, то есть уже скоро в нашей стране не останется ни одного специалиста с действующим сертификатом, а они тем не менее требуются при найме на работу и в тендерных заявках. Кроме того, мы анонсировали партнерство с УЦ Форс и работаем с сервисными партнерами — центрами обучения над созданием курсов. Учебный центр TUNE-IT уже запустил несколько курсов по Axiom JDK и Libercat, которые ведут преподаватели с опытом проектов разработки.

Ваши планы по развитию бизнеса и продуктовой линейки?

Роман Карпов: Мы, как поставщик российской платформы Java, заинтересованы в результатах и ROI, которые получают заказчики как при замещении зарубежного ПО, так и при создании новых систем и сервисов. Мы видим свою главную задачу в предоставлении безопасных и надежных базовых Java-технологий. Наш портфель включает полный, сквозной стек — сервер приложений Libercat, среду разработки и запуска Java-приложений Axiom JDK Pro, среду контейнеризации Axiom Runtime Container Pro и контейнерную операционную систему Axiom Linux.

В ближайшее время ожидаем завершение сертификации ФСТЭК и выхода сервера приложений Libercat Certified. Мы продолжим расширение продуктовой линейки, процессы сертификации и локализации функциональности под российские нормативы.

В сентябре выходит LTS-релиз Java 21 с долгосрочной поддержкой. И всех, кто хотел бы узнать о его новшествах, погрузиться глубже в доверенные Java-технологии и выяснить, как с их помощью выполнить KPI по импортозамещению, мы приглашаем на онлайн митап о российском Java-стеке. Он пройдет совместно с JUG Ru Group 27 сентября в 18.00. Регистрация открыта.

Примечания