22/3/2024
Приветствую всех новичков и гуру фронтенда, а также всех, кто работает с интерфейсами. Я Никита Борцов, создаю красоту на фронте первой в России FinOps-платформы для управления облачными затратами “Инферит Клаудмастер”.
В этой статье вы узнаете о:
Микрофронтенд — это архитектурный подход в разработке фронтенда, при котором веб-приложение разбивается на независимые функциональные части (микрофронтенды), каждая из которых может разрабатываться, тестироваться и разворачиваться отдельно.
Растущий тренд на переход к микрофронтенду обусловлен 4 объективными техническими преимуществами подхода:
В дополнение к описанию технических преимуществ микрофронтенд не только упрощает работу команды разработки, но несёт ценность основному стейкхолдеру продукта — клиенту.
Однако, противоречия присутствуют везде. Нужно упомянуть о некоторых сложностях данного архитектурного подхода:
Для платформы Инферит Клаудмастер мы используем вертикальное разделение, т.к. реализуем две функциональности: CloudOps (Инфраструктура) и FinOps (Финансы). В итерации после перехода на микрофронтенд пользователи увидели единое боковое меню с разделами (страницами) каждой функциональности. Микрофронтенд позволил бесшовно переключаться между разделами решений, которые с точки зрения фронтенда представляют собой отдельные микрофронтенды, а на бэке — микросервисы (см. ниже описание нашего кейса).
Есть несколько подходов к организации микрофронтенда в команде:
Наша команда использует фреймворк Module Federation, поскольку у нас все микрофронтенды написаны на одной библиотеке React. Single-SPA больше подходит, когда фронт пишется на разных фреймворках или библиотеках. Podium создает микрофронтенды на стороне сервера, что нам не подходит, так как мы хотим гибко их настраивать на стороне фронтенда.
Фронтенд-разработка наблюдает следующие изменения в рабочем процессе после перехода на микрофронтенд:
Что почитать для погружения в микрофронтенд?
Сайт автора микрофронтенда Майкла Гирса.
Видео-обзор книги Луки Меззалира "Building Micro-Frontends. Scaling Teams and Projects, Empowering Developers".
Наш продукт исторически развивался как два взаимосвязанных модуля (CloudOps и FinOps): с одной стороны оба использовали общие компоненты, с другой — фронтенд каждого модуля собирался независимо.
Было много конфликтов, связанных с обновлением компонентов и синхронизацией обновлений. Чтобы общие разделы всегда вели себя одинаково, мы нашли решение в микрофронтендной архитектуре.
Команда фронтенд-разработки:
Попробуйте определить, нужен ли вашему продукту переход на микрофронтенд, с помощью такого чек-листа:
Если на минимум 2 вопроса вы ответили положительно, стоит изучить микрофронтендный подход и подумать о переходе на него.
Микрофронтенд — это архитектурный подход в разработке фронтенда, при котором веб-приложение разбивается на независимые функциональные части.
Его основные преимущества: масштабируемость, независимость разработки, технологическая гибкость, упрощение обновлений, скорость загрузки UI компонентов продукта.
К сложностям работы с микрофронтендом можно отнести большее внимание к интеграции между фронетндом и бэкендом, типизацию, управление состоянием микрофронтендов, постоянное внимание к производительности общего приложения, а также управлению общей библиотекой и зависимостями микрофронтендов.
Микрофронтенд бывает горизонтального (по функциональным блокам приложения) и вертикального разделения (по сервисам/модулям и их доменам). Архитектурный подход организуют с помощью одного из 3 самых популярных фреймворков: Podium, Single-SPA и Module Federation.
Чтобы понять, что продукт пора переводить на “рельсы” микрофронтенда вместо монолита, я сформулировал 5 вопросов. Если вы отвечаете на них положительно, изменений требует фронтенд-разработка, а если точнее пора “приручать микрофронтендного зверя”.
Технический директор "Инферит Облако" Сергей Андриевский раскрывает секреты создания по-настоящему суверенного облака. От российских ЦОДов до OpenStack: как отечественные технологии меняют правила игры на рынке облачных услуг? Узнайте, почему бизнес выбирает независимость и какие преимущества получает от полного импортозамещения в облаке.
Российский облачный рынок активно растет, сегодня облако — неотъемлемая часть бизнес-среды. Однако, этот спектр технологий опутан мифами. Вместе с техническим директором «Инферит Облако» Сергеем Андриевским разберем эти мифы, чтобы доказать их несостоятельность.
Облачные технологии стали неотъемлемой частью инфраструктуры предприятий. Облака дают гибкость, масштабируемость и доступ к высокопроизводительным ресурсам. Однако с ростом использования облачных вычислений возникают вызовы, связанные с эффективным финансовым управлением облачной средой. Может ли тут помочь искусственный интеллект? Читайте о роли ИИ в оптимизации затрат и управлении облачными финансами, о перспективах инструментов на основе искусственного интеллекта и барьерах внедрения ИИ-функциональности в FinOps-решения.