Микросервисная архитектура и микросервисы



Микросервисная архитектура — сервис-ориентированная архитектура ПО на основе микросервисов. В отличие от монолитной архитектуры, где существует один большой модуль, микросервисная состоит из множества независимых модулей, между которыми существуют определённые связи. Функциональность ПО синергирует из функциональности каждого независимого модуля.



🤔 Что такое микросервис



Микросервис — небольшой независимый модуль. Один модуль выполняет только одну функцию. Микросервисы могут быть написаны на различных ЯП и иметь различное связующее ПО, БД и даже API.



Чтобы микросервисы работали друг с другом, используются системы управления контейнеризованными приложениями —Kubernetes, OpenShift, CloudFoundry, Docker Swarm, Apache Mesos. Каждый из микросервисов, как правило, изолируется в отдельный контейнер или небольшую группу контейнеров, доступную по сети другим микросервисам и внешним потребителям, и управляется средой оркестрации, обеспечивающей отказоустойчивость и балансировку нагрузки.



Тренд последних лет — отказ от собственных серверов в пользу облачных. Для разработки и администрирования приложений достаточно будет ноутбука и стабильного интернет-соединение. А сам разработчик может легко находиться на Красной поляне в Сочи или в Боровске.



Если нужно создать сложное кроссплатформенное приложение с широкой функциональностью и большим объёмом данных, чаще всего оно будет микросервисным. Для проектирования небольшого приложения или MVP используется монолитная архитектура.



Полезные ссылки:

Просто о микросервисах

Микросервисная архитектура: теория и практика

Что такое микросервисы: особенности архитектуры, примеры использования, инструменты