Руководство любой компании, работающей в сфере IT, занимается вопросами прогрессивного развития предприятия. При достижении определенного уровня развития неизбежно возникает вопрос: как правильно организовать масштабирование проектов?
Возникает необходимость найти ответы на такие вопросы:
1. Как правильно распределить роли в рабочих командах?
2. Какую систему технологий выбрать?
3. Как преодолеть несогласованность между членами команды в процессе работы над отдельными частями проекта?
4. Как достичь того уровня отлаженности программного продукта, при котором пользователю гарантируется отсутствие ошибок?
Сегодня типовым решением проблемы организации правильной работы отдельных частей приложения является использование микросервисов.
Эффективность этого метода в том, что относится к серверу (бэкэнду) не подлежит сомнению. Но относительно клиентской части (фронтэнде) вопрос сложнее. Здесь на помощь приходит Micro Frontend, как знают специалисты, окончившие курсы Front End.
Что такое Микро Фронтенд?
Micro Frontend - это дизайн архитектуры на стороне клиента. Использование этого метода подразумевает, что для каждого компонента выделяется свой домен. После этого производится их интегрирация в основную оболочку приложения (хост). Более подробные знания об этой технологии можно приобрести на Front-End курсах.
Микро Фронтенд похож на микросервис, но он предполагает управление не компонентом, бизнес-субдоменом. Давайте рассмотрим, в чем его преимущества.
Отличительные свойства Микро Фронтенда
Под каждое из приложений выделен свой бизнес-субдомен. Оно обладает такими свойствами:
1. Одно приложение - одна команда. Но это правило не следует трактовать таким образом, что ответственность за исправление всех ошибок в приложении будет возложена только на одну команду. Это нужно понимать так, что команда, прикрепленная к одному поддомену, обладает знаниями о его логической схеме и техническом устройстве.
Изоляция части бизнеса приносит свои преимущества, выбытие одного из сотрудников из строя не окажет приведет к срыву разработки всего проекта. С любым вопросом о бизнес-субдомене необходимо обращаться ко всей команде, а не к одному специалисту. Каждый член команды должен передавать свои компетенции коллегам через документацию и сессии обмена знаниями.
2. Независимая реализация. Команда, занимающаяся разработкой приложения, самостоятельно выбирает подходящий набор языков программирования, фреймворков и программного обеспечения для работы. Но это не подразумевает отказ от согласования своих действий с другими командами.
Благодаря такой стратегии переход специалиста из одной команды в другую упрощается. Также это делает возможным обмен и объединение библиотек.
3. Независимое развертывание. Приложения, расположенные на разных доменах, инсталлируются отдельно. Это приводит к необходимости проектирования нескольких конвейеров. Убедитесь, что каждый из конвейеров не зависит от других. Это позволит запускать их параллельно и значительно увеличит скорость сборки.
4. Разделение. Функционирование микроприложений должно соответствовать принципу максимальной автономности. Нужно стремиться к отсутствию их зависимости друг от друга. Допустим только обмен данными - виджетами пользовательского интерфейса.
Построение надлежащей абстракции, благодаря которой будет реализована эта задача, требует определенного объема работы на стадии проектирования.
5. Отказоустойчивость. Преимущество архитектуры микрофронтенда - надежность.
Если одно из микро-приложений сломалось, другое будет функционировать.Благодаря этому можно не беспокоиться за надежность функционирования больших веб-приложений.