Подробное руководство по микрофронтенд архитектуре
2 года назад·2 мин. на чтение
Микрофронтенд становится популярной архитектурой, компании растут, появляется необходимость масштабировать команды.
Микрофронтенд - это архитектура, которая позволяет масштабироваться, делать команды независимыми и больше ориентироваться на бизнес потребности.
Мы начинаем большую и подробную серию видео о микрофронтенд архитектуре на Boosty с ранним доступом. Некоторые темы будут эксклюзивно доступны только на Boosty по подписке. Мы будем читать и обсуждать книгу “Building Micro-Frontends. Scaling Teams and Projects, Empowering Developers”. Книга не переведена на русский язык. В этих видео мы будем обсуждать самую суть книги, без воды. Также я буду давать свои комментарии, основываясь на своем опыте внедрения микрофронтендов в большом проекте.
В этих видео будет дано большое количество полезной информации по всем аспектам распиливания монолита на микрофронтенды. Мы рассмотрим большое количество вариантов внедрения микрофронтенд архитектуры, рассмотрим все достоинства и недостатки вариантов, сложности перехода на микрофронтенд архитектуру и что стоит учесть заранее. Также коснемся принципов Domain Driven Design (DDD) и как эти принципы связаны с микрофронтендами.
Рассмотрим следующие темы:
- Как распилить монолит на микрофронтенды
- Архитектуры фронтенд приложений - SPA, Изоморфные, Статичные, JAMstack
- Что такое микрофронтенд и каковы его принципы
- Что учитывать при переходе на микрофронтенд
- Краткий обзор видов разделения на микрофронтенды
- Вертикальное разделение на микрофронтенды
- Горизонтальное разделение на микрофронтенды
- Микрофронтенд на основе Module Federation
- Микрофронтенд на основе iframes
- Микрофронтенд на основе веб-компонентов
- Server Side микрофронтенды
- Edge Side микрофронтенды
- Проект с Webpack Module Federation
- Эволюция проекта с Webpack Module Federation
- Как деплоить микрофронтенды
- Как версионировать микрофронтенды
- CI/CD микрофронтендов
- Стратегии деплоя микрофронтендов
- Пример автоматизации пайплайна для микрофронтенда
- Общение микрофронтендов с бекендом
- Пример распиливания монолита на микрофронтенды. О приложении
- Пример распиливания монолита на микрофронтенды. Детали реализации
- Как презентовать микрофронтенд архитектуру команде
Архитектура веб-приложений
год назад·1 мин. на чтение
Что такое архитектура веб-приложения и как спроектировать приложение
Существует много вариантов архитектур для построения веб-приложений.
В понятие архитектуры можно включить множество вопросов. Буквально все вопросы, которые появляются перед тем как начинать делать проект, можно отнести к архитектуре. От ответов на эти вопросы будет зависеть архитектура веб приложения.
При построении архитектуры нужно исходить из потребностей и требований. Если требования не ясны, то следует исключить все пробелы.
Если у приложения есть публичная часть, которая должна индексироваться поисковиками, то следует посмотреть в сторону рендеринга на стороне сервера и соответствующие фреймворки. Это блоги, новостные сайты, интернет магазины, маркетплейсы и т.д.
Если веб-приложение представляет собой приватное приложение, то отличным вариантом может стать решение на основе рендеринга на стороне клиента (CSR). Это решения, основанные на SPA (Single Page Application), написанные с помощью фреймворков React, Angular, Vue, Svelte или PWA (Progressive Web Apps). Примерами таких приложений могут быть приложения для автосалонов, через которые зарегистрированный пользователь может записаться на техобслуживание.
С ростом проекта нужно правильно организовать не только проект, но и работу команд. Стоит рассмотреть разделение монолита на микросервисы на бекенде, и на микрофронтенды на фронтенде.
В архитектуру приложения также входит устройство бэкэнда и баз данных, наличие балансировщиков нагрузки, CDN, горизонтальное и вертикальное масштабирование и т.д.
Также тема архитектуры веб-приложений популярна на собеседовании. Обычно блок вопросов по архитектуре выносят в отдельное интервью по System Design. Также рекомендую ознакомиться с обзором на книгу, которая будет полезна при проектировании высоконагруженных систем.
Смотреть на Rutube