В сложившейся на сегодняшний день ситуации, когда Россия отрезана от доступа к программным продуктам ведущих мировых разработчиков, как никогда остро встаёт вопрос технического и технологического суверенитета. На важность данного вопроса обращал внимание Владимир Владимирович Путин, что в свою очередь зафиксировано в Указе Президента Российской Федерации от 14.04.2022 № 203 «О Межведомственной комиссии Совета Безопасности Российской Федерации по вопросам обеспечения технологического суверенитета государства в сфере развития критической информационной инфраструктуры Российской Федерации».
В данный момент при решении вопроса как перевода существующих государственных информационных систем с зарубежного программного обеспечения, так и создания новых программных продуктов необходимо всесторонне изучить вопросы информационной безопасности, производительности и ресурсоемкости отечественных программных продуктов.
В качестве замены для операционных систем семейства Debian и Ubuntu, использующих deb-пакеты, выступает отечественная операционная система Astra Linux, а в качестве замены для операционных систем семейства Red Hat Enterprise Linux, CentOS и Fedora, использующих rpm-пакеты, предлагается использовать РЕД ОС и ALT Linux.
Также важно отметить, что крупные разработчики не просто создают один продукт, а создают целую экосистему продуктов, которые предоставляют широкий спектр инструментов для конечного заказчика для выполнения комплексного перехода на отечественное программное обеспечение: операционные системы, СУБД, платформы виртуализации, инструменты централизованного управления IT-инфраструктурой и другие.
С точки зрения информационной безопасности российские программные продукты, которые могут быть использованы при разработке информационных систем, сертифицированы регуляторами в сфере информационной безопасности – Федеральной службой безопасности и Федеральной службой по техническому и экспортному контролю, что в свою очередь позволяет их применять для защиты:
- государственных информационных систем до I класса защищенности включительно;
- информационные системы для обработки персональных данных до I уровня защищенности включительно;
- компоненты критической информационной инфраструктуры до I категории значимости включительно;
- информационные системы общего пользования до II класса защищенности.
А если нужного программного продукта нет в портфолио, то разработчики операционных систем взаимодействуют с разработчиками прикладного программного обеспечения с целью подтверждения совместимости.
С целью выбора оптимального решения для магистерской работы был проведен сравнительный анализ программных продуктов для оценки производительности. В роли тестового стенда выступила виртуальная машина на базе РЕД ОС со следующим аппаратным обеспечением: процессор Intel Xeon Bronze 3204, 6 ГБ оперативной памяти и 50 ГБ дискового пространства.
Важно отметить, что выполнение «синтетических» тестов позволяет получить приблизительную оценку быстродействия информационной системы, однако в некоторых случаях реальные результаты могут отличаться.
Для сравнения использовались следующие открытые СУБД. – MySQL и PostgreSQL. Основные различия этих продуктов приведены в таблице 1.
Таблица 1
Сравнение СУБД
|
PostgreSQL |
MySQL |
---|---|---|
Типы данных |
Широкий спектр современных типов данных, включая массивы, hstore (хранилище типа «ключ-значение») и JSONB (бинарный JSON) |
Ограниченный набор типов данных и ориентирован на более простые веб-приложения |
Поддержка геопространственных данных |
Полная поддержка |
Ограниченная поддержка |
Индексирование |
Используется тип индекса B-tree |
Поддержка индексов B-tree, GiST (Generalized Search Tree – обобщенное поисковое дерево) и GIN (Generalized Inverted Index – Обобщенный обратный индекс) |
Репликация |
Мульти-мастер репликация |
Репликация master-slave (ведущий-ведомый) |
Транзакции |
Multi-Version Concurrency Control – многоверсионный контроль параллелизма) |
Multi-Version Concurrency Control (Многоверсионный контроль параллелизма) |
Хранимые процедуры |
Процедуры, написанные на различных языках, включая PL/pgSQL, PL/Tcl, PL/Perl |
В основном поддерживает хранимые процедуры, написанные на языке SQL |
Расширения |
Более широкие возможности |
Менее широкие возможности |
Производительность |
Высокая производительность операций записи, ниже производительность операций чтения |
Высокая производительность операций чтения, ниже производительность операций записи |
Масштабируемость |
Вертикальная масштабируемость |
Горизонтальная масштрабируемость |
Стоимость |
Полностью бесплатна |
Более сложная модель лицензирования |
Это иностранные разработки (хоть и открытые), но хотелось бы отметить важный момент – при необходимости можно практически без проблем и смены бизнес-процессов мигрировать с Postgres на отечественную Postgres Pro (внесена в Единый реестр российских программ для ЭВМ и БД). Для сравнения быстродействия выполнено тестирование продуктов «из коробки», как есть, без каких-либо специальных настроек, база данных содержала 500 тыс. записей. Сравнение быстродействия приводится на рисунке.
Рис. Сравнение быстродействия СУБД
PostgreSQL и MySQL – это надежные реляционные системы управления базами данных с уникальными возможностями и ограничениями. Решение об использовании какой‑либо из них должно основываться на конкретных требованиях проекта, таких как характер и объем данных, сложность запросов, а также потребности в производительности и масштабируемости.
Также необходимо сравнить открытые веб-серверы – Apache и nginx, результаты приводятся в таблице 2.
Таблица 2
Сравнение веб-серверов
|
Apache |
Nginx |
---|---|---|
Метод обработки соединений |
Один клиент – один процесс (или поток) |
Master-процесс и несколько дочерних процессов |
Отдаваемый контент |
Статический и динамический |
По умолчанию только статический |
Индексирование |
Используется тип индекса B-tree |
Поддержка индексов B-tree, GiST (Generalized Search Tree – обобщенное поисковое дерево) и GIN (Generalized Inverted Index – Обобщенный обратный индекс) |
Работа с модулями |
Модули подключаются динамически |
Требуют сборки и не могут динамически загружаться |
Интерпретация запросов |
Интерпретирует запрос как физический ресурс в файловой системе или как URI |
Работает в первую очередь с URI, транслируя их при необходимости в запросы к файловой системе |
Работа с языками |
Все хосты вынуждены работать с одной и той же версией php |
Может использовать Python, PHP, Perl, Ruby, Go, JavaScript/Node.js и Java |
Скорость работы |
Отдает динамический контент немного быстрее |
Отдает статический контент быстрее |
Производительность |
Высокий расход ресурсов при большом количестве запросов |
Низкий расход ресурсов при большом количестве запросов |
Это также иностранные разработки (хоть и открытые), но и в данном случае при необходимости можно без особых затруднений мигрировать с веб-сервера nginx (а ещё лучше сразу использовать при разработке) на отечественную Angie (также внесен в Единый реестр российских программ для ЭВМ и БД) – эффективный, мощный и масштабируемый веб-сервер, реализованный как форк nginx).
В заключение можно отметить, что российское программное обеспечение в данный момент очень стремительно развивается, и многие продукты достигли достаточно высокого уровня, и позволяют достаточно успешно заменять программные продукты западных технологических лидеров.