8 декабря 2024
Блог
Сервисы разработки под отечественную операционную систему "Аврора"
Текущие реалии значительно повлияли на тенденции в мобильной разработке. Сейчас большое внимание привлекла к себе новая операционная система - она отечественная, абсолютно безопасная, отвечающая всем потребностям корпоративного сектора. Мы говорим о новой ОС "Аврора". С ней мы уже успели познакомиться и даже сделать под нее приложение. Об особенностях этой ОС и нашем опыте рассказываем в новой статье.
Введение
Наша компания работает как на рынке B2C (Business-to-Consumer), так и B2B (Business-to-Business) решений. Это значит, что многие наши решения нацелены не на конечных пользователей, а на сотрудников компаний, которые используют их в повседневной работе. Некоторые такие решения реализованы для мобильных устройств. Предполагается, что сотрудник во время работы может находиться не за компьютером, а осуществляет рабочую деятельность с помощью корпоративного мобильного приложения.
До недавнего времени основным решением для подобных проектов было использование мобильного устройства на базе Android. Но с учетом текущих политических реалий, тренда на импортозамещение и острых вопросов информационной безопасности все взгляды корпоративного сектора приковала к себе восходящая звезда российского мобильного рынка – Отечественная операционная система «Аврора».
Пока компании не ограничены в использовании для корпоративных целей зарубежных платформ. Используется «мягкие меры» перехода на отечественные IT-решения для корпоративных нужд. Так, под условия использовать устройства с ОС «Аврора» пока попадают компании федерального уровня. Примером могут служить РЖД и компании энергетического сектора. Но уже в ближайшем будущем мы увидим, что решение о переходе на отечественную ОС принято и все новые проекты будут реализовываться с учетом этих требований.
Кстати, совсем недавно в СМИ появилась новость о том, что Минцифры вводит дополнительные требования, которые дают российской ОС преимущества на госзакупках: совместимость с российским процессором и наличие прав на средства разработки. Последнее, полагают эксперты, даст преимущество ОС «Аврора» на госзакупках перед системами, основанными на Android.
Наша компания уже давно следит за развитием ОС «Аврора». Это важный игрок как с точки зрения корпоративной разработки (безопасное приложение для сотрудников компаний), так и с точки зрения клиентской разработки (Открытые продажи устройств и поддержка магазина Рустор). В статье мы хотим поделиться нашим опытом выстраивания процесса разработки приложений на базе ОС «Аврора» в инфраструктуру компании.
ОС «Аврора»
Отечественная операционная система «Аврора» позиционируется как мобильная ОС, предназначенная в первую очередь для работников госструктур и корпоративного сегмента. Основная особенность данной ОС — повышенная безопасность, которая была достигнута разработчиками ОС. В ее основе лежат библиотеки и ядро Linux, обеспечивающие полноценное POSIX-совместимое окружение. Изначально ОС «Аврора» — это форк 2016 года операционной системы Sailfish OS. Впоследствии он был существенно переработан российскими разработчиками и на данном этапе считается отечественным программным продуктом. ОС «Аврора» имеет сертификаты безопасности ФСБ России АК1/КС1 и АК2/КС2. Имеются сертификаты безопасности ФСБ и ФСТЭК. Операционная система внесена в Единый реестр российского ПО
Функциональные возможности
Какие функции несет в себе ОС «Аврора»? Большинство из них «заточены» на безопасность и шифрование, но есть и возможности, которые смогут заинтересовать среднестатистического пользователя.
- Защита каналов связи. В ОС «Аврора» используется собственная технология защиты каналов связи. Благодаря этому все переговоры, а также сообщения, отправленные посредством мобильной связи или мессенджеров, являются максимально защищенными.
- Шифрование данных. Сильная сторона ОС «Аврора» — улучшенная технология шифрования данных. Она основана на собственной системе Mobile Device Management, а также приложении «КриптоАРМ ГОСТ».
- Защита системы с помощью доверенной загрузки. Доверенная загрузка представляет собой специальное программное обеспечение, которое путем проверки электронной подписи загружаемых образов (загрузчиков, ОС).
- Верификация программного обеспечения. Система постоянно проводит верификацию запускаемого и устанавливаемого ПО для исключения возможности загрузки вредоносных программ. Также эта функция обеспечивает общую безопасность операционной системы и сохранность данных.
- Полный дистанционный контроль над функциями смартфона. Среди функций «Авроры» есть уникальная возможность полностью контролировать устройство удаленно. Это может быть полезно при утере гаджета или же в тех случаях, если нужно управлять смартфоном или планшетом удаленно для обеспечения соответствия определенным политикам безопасности.
- Работа с электронной подписью ОС. «Аврора» позволяет полноценно работать с цифровой подписью, что дает возможность обеспечить подлинность и целостность электронных документов. Ни одно массовое мобильное устройство не имеет такой функции. А это значит, что гаджеты на «Авроре» можно использовать для работы в организациях со строгими правилами документооборота.
С точки зрения разработчика
Для разработки прикладного ПО используется фреймворк Qt, который предлагает как компоненты интерфейса пользователя на языке QML, так и библиотеки для реализации различной функциональности на C++: мультимедиа, геолокации, получения информации c датчиков и т.п. Но для полноценной enterprise разработки недостаточно только лишь использовать фреймворк и язык. В нашем случае нужны определенные инструменты, которые обеспечивают непрерывную сборку и поставку решения для тестирования, а также выпуск новых версий приложения.
Для обычных приложений под Android и iOS мы используем наши решения либо готовые инструменты из Google Firebase SDF. В приложении под «Аврору» использование стороннего SDK невозможно, да и не полагается в приложении для отечественной операционной системы использовать зарубежные «компоненты». Поэтому мы в работе ограничиваемся нашими наработками, либо адаптированными под наши задачи наработками российских компаний. Коснемся основных из них:
1. Автоматическая сборка
В настоящее время разработка немыслима без настроенных процессов CI/CD. В случае iOS и Android стандартным помощником является проект fastlane, который позволяет автоматизировать сборку и деплой артефактов. Для мобильных проектов под «Аврору» мы решили проблемы замены. Был создан сервис для удаленной сборки. Он представляет из себя клиент-серверное приложение. API сервера позволяет загружать и собирать проект на удаленной машине, узнавать статус и вывод сборки, а также получать готовый RPM пакет для любой из доступных архитектур. Кроме того, при помощи подключения по SSH к эмулятору можно программно деплоить и устанавливать пакеты. Используя эти знания, был создан клиентский скрипт, который автоматизирует все нужные процессы: отправку проекта, сборку, скачивание с сервера, деплой и установку.
В будущем планируется доработать API для большего удобства и написать небольшое клиентское GUI приложение на замену скрипту, чтобы улучшить опыт использования.
2. Непрерывная поставка на тестирование
Для удобного принятия приложения на тестирование, необходимо обеспечить сборку и выкладывание версии в сервисе таким образом, чтобы в тестовом устройстве можно было легко получить доступ до сборки и установить ее. Также обязательным является то, чтобы доступны были ближайшие версии, так как тестировщикам бывает необходим тестировать определенную сборку из прошлого, либо протестировать то, как приложение обновляется. Тут мы использовали нашу разработку TE App Distribution, которая позволяет и локально загружать, хранить, и предоставлять доступ до сборок тестировщикам. Она является отличной альтернативой сервису Firebase App Distribution с тех пор, когда Google стал блокировать скачивание больших файлов из своих CDN.
3. Аналитика в приложении
При разработке корпоративного приложения очень важный момент - получение быстрой обратной связи от пользователя, все ли работает хорошо и удобно. Еще более надежным вариантом является автоматический сбор статистики по работе приложения и взаимодействия пользователей с ним. В «Авроре» пока с этим не так хорошо, как в сверхпопулярном Android, но в будущем, вероятно, такие сервисы появятся. Мы при разработке создали собственное решение, адаптировав продукт MyTracker. Это позволило уже сейчас получить сервис с аналитическими данными по приложению.
4. Сервис фиче-флагов и управления контентом
Применения такого подхода к разработке, когда разработчики работают над приложением на основе магистральной (писали об этом тут https://www.trueengineering.ru/blog/feature-flags-software-factory ) ветки также стало стандартом де-факто при максимально быстром выводе версий в продакшн. Применение портала фиче-флагов зарекомендовало себя как надежный механизм, обеспечивающий устойчивость при релизе новой фичи. А без возможности управления контентом и доступностью фич приложения наши бизнес-заказчики уже не могут представить себе нормальное управление продуктом. В случае с «Авророй», используем наше открытое решение портал фиче-флагов и все возможные клиенты для платформ разработки (доступен на https://github.com/True-Engineering ).
А в ближайшее время мы предоставим сообществу разработчиков полноценный SDK под ОС «Аврора», который позволит быстро и удобно интегрировать управление контентом в свое приложение.
5. Распространение и пуш-уведомления
А вот сервис, аналогичный Firebase Cloud Messaging по сути уже существует для разработчиков корпоративных приложений. Для распространения и управления приложениями необходимо использовать решение «Аврора Центр». Решение «Аврора Центр» обеспечивает централизованное управление парком мобильных устройств и используемым мобильным ПО на основе сценариев и политик безопасности. Обновления ОС и установки и запуска приложений до защиты корпоративных данных, включая их удаление в случае потери устройства.
Выводы
Итак, сейчас «Аврора» это:
• Специальная ОС. Эта операционная система в первую очередь предназначена для корпоративных клиентов и госсектора.
• Защита данных. Ее ключевая особенность — повышенные меры безопасности и продвинутые технологии защиты пользовательских данных.
• Ничего лишнего. На «Авроре» пока очень мало приложений — в основном только специализированные.
• Управление и контроль. Управлять устройствами на «Авроре» можно удаленно при помощи собственной уникальной системы «Аврора Центр».
• Гарантии. Есть возможность работать с крипто-софтом и с электронной подписью. Имеются сертификаты безопасности ФСБ и ФСТЭК. Операционная система внесена в Единый реестр российского ПО.
Эти пункты делают ее очень привлекательной для использования в бизнес-решениях. Тем не менее, компаниям-разработчикам не всегда легко отказаться от многих привычных подходов и сервисов, которые активно использовались в разработке решений на базе зарубежных ОС. Мы на своем опыте прошли путь замещения таких сервисов на готовые или собственные наработки. И можем утверждать, что как процесс разработки приложений под ОС «Аврора», так и эксплуатация приложений пользователями становятся соизмеримы по затратам и удобству с тем, что было до появления ОС «Аврора». Мы считаем, что переход на платформу «Аврора» является логичным шагом движения бизнеса нашей страны в сторону импортозамещения. Мы поможем сделать этот шаг максимально комфортным.