Выберите контекст. Схемы ниже — учебные ориентиры, а не готовая production-архитектура.
Показано: 4 сценария
01Веб
Сайт и небольшой веб-сервис
Начать с понятной схемы, не усложнять заранее.
Клиент → веб-приложение → данные
Разобрать решение
Статические файлы можно отдавать без отдельного приложения. Динамическому сайту нужны среда выполнения и постоянное хранилище. Сначала определите, что действительно меняется.
Что измерять
Кеширование, время ответа, процесс публикации.
Не разделяйте сервис на множество частей до появления реального ограничения.
Разделить обработку запросов и хранение состояния.
Клиент → API → база данных
Разобрать решение
Держите API по возможности без локального состояния. Сессии и данные должны переживать замену экземпляра. Добавляйте балансировщик, когда есть несколько рабочих экземпляров.
Что измерять
p95, ошибки, лимиты соединений и длительность запросов к БД.
Добавление API-экземпляров не исправит медленный запрос к базе.
Зафиксируйте зависимости, отделите тестовые данные и секреты. Возможность пересоздать стенд полезнее ручной настройки, которую никто не может повторить.
Что измерять
Время сборки, размер артефактов, отличие от production.
Не используйте реальные персональные данные для удобства разработки.
Определите объём данных, скорость прироста и политику удаления. Выбирайте объектный или файловый доступ по интерфейсу приложения, а не только по цене гигабайта.
Что измерять
Объём, рост, время чтения и контрольное восстановление.
Резервные копии должны быть доступны даже при потере основного хранилища.
Любая стартовая конфигурация требует проверки под вашим кодом и данными. Планировщик считает суммарную ёмкость, но не предсказывает число пользователей.