Микросервисная архитектура - зачем  она нужна?

Сегодня решили рассказать вам про виды архитектуры, которые используются в бекенд - сервисах. Они не обязательно связаны с каким-то конкретным языком, но в основном разговор о них ведется в контексте компилируемых и масштабируемых языков - таких как Java, C# или Golang.

Сервисы можно в плане архитектуры условно разделить на два типа - монолит и микросервисы.

Под монолитом понимается единая прослойка бекенда, которая доставляется через одно единое развертывание.
Развертывание – это отправка готовой версии бекенд-приложения на удаленный сервис, который и будет выполнять обслуживание. Например, на AWS или Digital Ocean.

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

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

Это позволяет, например, создать команде комфортный график развертывания, чтобы они могли разворачиваться в своем темпе, не беспокоя другие команды.
С другой стороны, структура бекенда станет несколько сложнее, и каждой команде нужно будет внимание какого - то специалиста, который будет отвечать за развертывание.

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

Так какую архитектуру стоит выбрать?

Вне сомнения, для принятия взвешенного решения вам нужно хорошо понимать, какое будущее ждет ваш проект.

В том случае, если вы пока не знаете, что делать, но проект не обещает быть не очень большим в будущем - тогда вы можете выбрать монолитную архитектуру, особенно если уверены в своем наборе технологий.

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

Еще статьи

Открытая лекция на ВДНХ
Лекция о том, как войти в сферу высоких технологий, какие инструменты стоит изучать в первую очередь? Какие технологии, направления пользуются спросом? Что хотят от соискателей крупные компании? как создать свой IT стартап? Как технологии помогают бизнесу? Все, что вы хотели знать о программировании, но боялись спросить.
14 июня 2021
Мастер-класс по web-программированию:
Интерактивное занятие с преподавателем по программированию для всех, кто хотел бы примерить на себя профессию разработчика на пару часов и создать небольшую программу своими руками — свой собственный Планировщик задач с PUSH-уведомлениями на телефон.
06 июня 2021
Мастер-класс по разработке на JAVA
Вы узнаете, что такое Java, и напишите свое первое приложение под чутким руководством Романа Болобана, Java-разработчика компании Ростелеком. Всего за одно ОЧНОЕ занятие в Nordic IT School Вы сможете создать свой счетчик калорий и убедиться, что научиться программировать на Java вполне реально!
03 июня 2021
Nordic IT School

Москва, ул. Большая Спасская 12

+7 925 632-21-47

+7 495 626-46-00

moscow@inordic.ru

День открытых дверей

Black Friday

26-30 ноября скидка 15% на любой курс