Типы архитектур ИТ проектов
Описание в комментариях👇
76
👍 19
3
Комментарии (3)
Лохматый Осьминог
Монолит обычно состоит из одной кодовой базы, одной базы данных и одной деплойминации. Для небольшой команды это часто самый простой способ быстро собрать и отправить продукты. Проблема возникает, когда кодовая база расширяется. Маленькое исправление в коде картриджа требует повторного развертывания всего приложения, и один неудачный релиз может вывести из строя всё.
Микросервисы пытаются решить эту проблему, разбивая систему на отдельные сервисы. Продукт, корзина и заказ работают самостоятельно, масштабируются отдельно и часто управляют собственными данными. Это значит, что вы можете отправлять изменения в Cart, не влияя на остальную систему.
Но теперь вы имеете дело с множеством движущихся частей. Обычно нужны поиски сервисов, распределённое отслеживание и маршрутизация запросов между сервисами.
Serverless — это другая модель. Вместо управления серверами вы пишете функции, которые запускаются, когда что-то их запускает, а облачный провайдер занимается масштабированием. Во многих случаях вы платите только тогда, когда эти функции действительно работают.
Однако в безсерверной системе холодные запуски могут добавлять задержки, отладка между множеством функций без состояния становится запутанной, и чем больше вы строите вокруг одного облака, тем сложнее переключаться позже.
Большинство производственных систем не используют только один подход. Обычно в центре стоит монолит, и со временем команды запускают несколько сервисов, где требуется независимое масштабирование или более быстрые развертывания. Serverless обычно появляется позже для уведомлений или фоновых заданий.
Новый Начальник
Скажите, кто научил вас делать простую картинку гифкой невъебенного размера ради двигающихся стрелочек?
Комментарии (3)
Микросервисы пытаются решить эту проблему, разбивая систему на отдельные сервисы. Продукт, корзина и заказ работают самостоятельно, масштабируются отдельно и часто управляют собственными данными. Это значит, что вы можете отправлять изменения в Cart, не влияя на остальную систему.
Но теперь вы имеете дело с множеством движущихся частей. Обычно нужны поиски сервисов, распределённое отслеживание и маршрутизация запросов между сервисами.
Serverless — это другая модель. Вместо управления серверами вы пишете функции, которые запускаются, когда что-то их запускает, а облачный провайдер занимается масштабированием. Во многих случаях вы платите только тогда, когда эти функции действительно работают.
Однако в безсерверной системе холодные запуски могут добавлять задержки, отладка между множеством функций без состояния становится запутанной, и чем больше вы строите вокруг одного облака, тем сложнее переключаться позже.
Большинство производственных систем не используют только один подход. Обычно в центре стоит монолит, и со временем команды запускают несколько сервисов, где требуется независимое масштабирование или более быстрые развертывания. Serverless обычно появляется позже для уведомлений или фоновых заданий.