Вернуться

В чем преимущество микросервисной архитектуры?

Микросервисная архитектура — это современный стиль разработки IT-продуктов, при котором приложение состоит из нескольких самостоятельно функционирующих модулей. Микросервисы противопоставляют «монолиту», это когда исходный код, из которого состоит продукт, нельзя легко разбить на автономные компоненты. Микросервисный подход подразумевает, что каждый модуль работает независимо от других и отвечает только за одну простую функцию.

Микросервисная архитектура популярна среди таких крупных компаний, как Amazon и Netflix. Почему?

Оперативное тестирование и развертывание. Работа с каждым из модулей ведется независимо от других компонентов.

Высокая доступность. Даже если один микросервис выходит из строя, приложение в целом может сохранить работоспособность. Конечно, за исключением критических блоков, таких как модуль авторизации.

Простое и безопасное горизонтальное масштабирование. Новые модули можно добавлять без страха, что вся система вдруг рухнет.

Четкое разделение обязанностей. За создание каждого микросервиса отвечает отдельная команда, сопровождающая продукт на протяжении всего жизненного цикла. Благодаря этому всегда найдутся люди, которые прекрасно понимают, как работает та или иная часть кода.

Как микросервисы связаны с облаками?

Облака — идеальная среда для развертывания микросервисных приложений: преимущества микросервисной архитектуры и распределенных вычислений дополняют друг друга.

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