DevOps: работа над ошибками, или Что обсудили на митапе МКБ

ИТ-дирекция Московского кредитного банка (МКБ) провела мероприятие IT Squad Meetup, в рамках которого специалисты различных банков и технологических компаний обсудили современные технологии разработки веб-приложений. В частности, в программе выступлений были технологии нагрузочного тестирования приложений, аутентификации в том числе и с помощью биометрии по новому протоколу WebAuthn, прогрессивные веб-приложения (Progressive Web Applications – PWA), управление Kubernetes и другие аспекты DevOps. Сейчас для российских компаний использование стека веб-приложений с доступом с помощью веб-браузера является одним из стратегических направлений импортозамещения, поскольку все компоненты такого приложения минимально привязан как к базовому программному обеспечению (ПО), так и к аппаратному обеспечению.

Корпоративная среда

Следует отметить, что серверная часть веб-приложений часто реализовывалась на основе операционных систем семейства Linux и продуктов с открытыми кодами, что позволяет легко перейти в их поддержке на отечественные решения. Механизмы распределения нагрузок, обеспечения отказоустойчивости и управления развертыванием, которые являются неотъемлемой частью веб-приложений и используют облачные и контейнерные технологии распределения ресурсов, сейчас уже проработаны достаточно хорошо и могут стать основной для приложений любой сложности. Кроме того, веб-приложения на текущий момент достаточно стандартизированы и могут эффективно работать во внешних облачных средах любых операторов, которые поддерживают соответствующую платформу. Возможность перенести свои приложения в ЦОДы облачных операторов снимает с компаний достаточно сложную в современных условиях задачу обеспечения развития и отказоустойчивости собственной серверной инфраструктуры. Именно поэтому основным способом импортозамещения для отечественных компаний является перенос их функционала в облака на инфраструктуру PaaS-провайдеров.

Важной процедурой при ориентации компании на веб-приложения является нагрузочное тестирование разрабатываемых компанией приложений, поскольку они могут стать целью для злоумышленников, которые будут пытаться вывести их из строя. Поэтому, прежде чем выкладывать новую версию веб-приложения в боевую среду, нужно провести нагрузочное тестирование со строго определенными метриками и критериями производительности. Об организации этого процесса на митапе как раз и рассказал руководитель направления нагрузочного тестирования банка МКБ Александр Гончаров. Он рекомендовал использовать для проведения нагрузочных тестов инструмент с открытыми кодами JMeter, который разрабатывается сообществом Apache.

Впрочем, Довлет Оразклычев из Bell Integrator рассказал еще о четырех инструментах для проведения нагрузочного тестирования: Locust, K6, LoadRunner и Gatling, а также подробно остановился на возможностях Locust, который позволяет создавать тесты для нагрузочного тестирования с помощью языка Python. В то же время для работы с JMeter придется использовать Java. Сравнение возможностей различных языков программирования для работы с автотестом привел в своем докладе руководитель группы автоматизации тестирования “Ростелеком Информационные технологии” Ирек Насибуллин. В частности, он описал, как с помощью таких языков как Java, Python, JavaScript, Rust, C#, Go, PHP, Kotlin и Ruby можно реализовать простейший автотест.

 

Клиентская сторона

Клиентом для доступа к корпоративным веб-приложениям сейчас выступают различные мобильные устройства на платформе Android или iOS. Пока импортозамещения в этой части не происходит — отечественные платформы, такие как «Аврора» и «Роса» поддерживаются небольшим количеством аппаратных платформ. Поэтому приходится работать в прежней среде Android и iOS. Основной угрозой в ней является удаление приложения из магазина производителя. Хорошим вариантом минимизации подобного риска было бы использование мессенджеров для организации взаимодействия с корпоративной платформой. Однако Роскомнадзор запретил отечественным компаниям реализовывать свои интерфейсы в наиболее перспективном для этого мессенджере Telegram. Поэтому осталась практически единственная возможность — использовать технологию PWA. Она позволяет с помощью стандартного браузера создать мобильное приложение, которое не требует установки дополнительных компонент из магазина приложений и может вызываться отдельной кнопкой в интерфейсе операционной системы.

В частности, в рамках митапа начальник управления развития электронной коммерции банка «Мир привилегий» Владимир Мошков сравнил производительность классических мобильных приложений с PWA банка. Команде разработки веб-приложения удалось разработать очень похожий интерфейс и обеспечить оптимальную скорость работы, сравнимую с нативными приложениями для платформы. Причем приложение может работать в том числе и в режиме оффлайн, загружая в браузер клиента все необходимые для этого компоненты. Одной из сложностей в реализации PWA оказалась биометрическая аутентификация, что для банковского приложения является важным элементом защиты. Однако здесь на помощь пришел недавно опубликованный стандарт W3C для любых типов веб-аутентификации WebAuthn, который поддерживается практически всеми мобильными платформами.

Игорь Элканюк рассказывает подробности протокола WebAuthn

Впрочем, более подробно о механизмах биометрической аутентификации с помощью протокола WebAuthn рассказал на митапе руководитель команды веб-разработки банка для бизнеса Бланк Игорь Элканюк. Он подробно разобрал работу самого протокола аутентификации и даже привел код на JavaScript для подключения соответствующей библиотеки.

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

Следите за нашими новостями в Телеграм-канале Connect


Поделиться:



Следите за нашими новостями в
Телеграм-канале Connect

Спецпроект

Медицинские задачи для ИИ

Подробнее
Спецпроект

Цифровой Росатом

Подробнее


Подпишитесь
на нашу рассылку