Добавить в корзинуПозвонить
Найти в Дзене

Data Mesh и Microservice: плюсы и минусы каждого подхода

Какое отношение Data Mesh имеет к микросервисам, в чем плюсы и особенности подхода? О востребованности и даже моде на микросервисную архитектуру сказано довольно много. Подход показал себя по-настоящему эффективным при разработке больших ИТ-систем и скромных приложений. Сегодня все чаще заходит речь о закономерном продолжении тренда в мире хранилищ данных. Какое отношение Data Mesh имеет к микросервисам, в чем плюсы и особенности подхода? Что такое микросервисная архитектура? Термин Microservice Architecture (микросервисная архитектура, или МСА) описывает способ дизайна приложений в виде набора независимо развертываемых сервисов. Единого точного описания нет, но существует набор общих характеристик: организация сервисов вокруг бизнес-потребностей, модульность, автоматическое развертывание, использование шины данных для обмена и децентрализованный контроль над данными, симметричная архитектура: микросервисы взаимодействуют друг с другом однорангово, а не иерархически. Монолитные приложе
Оглавление

Какое отношение Data Mesh имеет к микросервисам, в чем плюсы и особенности подхода?

О востребованности и даже моде на микросервисную архитектуру сказано довольно много. Подход показал себя по-настоящему эффективным при разработке больших ИТ-систем и скромных приложений. Сегодня все чаще заходит речь о закономерном продолжении тренда в мире хранилищ данных. Какое отношение Data Mesh имеет к микросервисам, в чем плюсы и особенности подхода?

Что такое микросервисная архитектура?

Термин Microservice Architecture (микросервисная архитектура, или МСА) описывает способ дизайна приложений в виде набора независимо развертываемых сервисов. Единого точного описания нет, но существует набор общих характеристик: организация сервисов вокруг бизнес-потребностей, модульность, автоматическое развертывание, использование шины данных для обмена и децентрализованный контроль над данными, симметричная архитектура: микросервисы взаимодействуют друг с другом однорангово, а не иерархически.

Монолитные приложения могут быть успешными, но их распространенность заметно падает, особенно в свете популярности облачного развертывания. Любые изменения, даже самые небольшие, требуют пересборки всего монолита. С течением времени становится труднее сохранять хорошую модульную структуру, изменения логики одного модуля влияют на код других. Масштабировать приходится все приложение целиком, даже если это требуется только для одного его модуля.

В целом принципы MCA выросли не на пустом месте. Их можно назвать обобщением накопленного опыта из не-ИТ-сфер. Вот яркие примеры.

  • Продуктовое/иерархическое управление — как проекция симметричной архитектуры MCA.
  • Корпорация/франшиза — как пример модульности, делегирования обязанностей и прав на локальный уровень.
  • Унитарное государство/федерация — как система контрактов внутри сервисного и межсервисного взаимодействия.

MCА в мире хранилищ данных: Data Mesh

Так же, как и другие области ИТ, хранилища данных (ХД) не обошли стороной этап, основанный на принципах построения на базе монолитных архитектур. При появлении в компаниях средних и больших данных монолитное ХД как концепция начинает сбоить и приводит к удорожанию и/или усложнению подобных систем по экспоненте. Логичным этапом эволюции архитектурной мысли стала «адаптация» микросервисной архитектуры под мир хранилищ данных.

Сформулируем общеизвестные принципы Data Mesh.

  • Децентрализованная архитектура с учетом доменов. Вместо централизованного подхода к управлению данными Data Mesh предлагает организовать ответственность за данные вокруг бизнес-функций или доменов. Это позволяет более эффективно управлять данными в сложных и масштабных средах.
  • Данные как продукт. Data Mesh рассматривает данные как продукт, который предоставляется пользователям. Это подразумевает, что данные на доменном уровне должны быть высококачественными, документированными и доступными через самообслуживание.
  • Самообслуживаемая инфраструктура данных. Data Mesh предполагает создание платформы для самообслуживания, где пользователи могут легко находить и использовать данные — без необходимости обращения к централизованным командам. Реализуется через наборы сервисов, именуемые платформой данных.
  • Федеративные инструменты управления. Data Mesh включает фиксированные политики, которые регулируют доступ к данным и их использование. Это позволяет обеспечить согласованность, прозрачность и безопасность. Реализуется через системы управления данными.

При внимательном взгляде на Data Mesh становится понятно, что это скорее процесс, чем технологический стек или стиль реализации. Другими словами, Data Mesh — это архитектурный подход, при котором ответственность за конкретные наборы данных делегируется тем областям бизнеса, где имеется в них наибольший опыт. Это аналогично децентрализованному управлению данными, которое пропагандируется микросервисами.

И MCA, и Data Mesh придуманы в компании Thoughtworks. Оба подхода исповедуют общие базовые принципы. Иными словами, Data Mesh делает для хранилищ данных то же, что микросервисы сделали для архитектуры решений, — использует распределенную архитектуру и децентрализованное управление.

Учитывая такое внимание к процессам и управлению, Data Mesh не определяется через Data WareHouse, Data Lake или LakeHouse. А также не определяется инструментами, используемыми для запросов, интеграции или каталогизации. Это скорее подход к проектированию данных. Микросервисная...

Подробнее на it-world.ru