Что такое монолитный сервис

«Что такое монолитный сервис» — вопрос из категории Архитектура, который задают на 27% собеседований Бизнес Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Монолитный сервис — это приложение, где все компоненты (логика, интерфейс, БД) тесно связаны и развертываются как единое целое.

Характеристики:

  • Простота разработки на ранних этапах.
  • Общие ресурсы (память, CPU) для всех функций.
  • Сложность масштабирования (нужно масштабировать весь сервис, даже если нагрузка на одну функцию).

Пример:

# Монолитное веб-приложение на Flask  
from flask import Flask, request  

app = Flask(__name__)  

@app.route('/users', methods=['GET'])  
def get_users():  
    return "User list"  

@app.route('/orders', methods=['GET'])  
def get_orders():  
    return "Order list"  

if __name__ == '__main__':  
    app.run()  

Недостатки:

  • Сложность поддержки при росте кодовой базы.
  • Зависимости между модулями усложняют изменения.
  • Долгий деплой и тестирование.

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