Определить границы сервиса
Понять, за что сервис отвечает, а что остается вне его ответственности.
Система серверной разработки
Практическая база для backend-разработки: API, данные, транзакции, безопасность, производительность, наблюдаемость, деплой и эксплуатация. Каждый пункт объясняет, зачем он нужен, как его выполнить, как проверить результат и какой артефакт должен остаться у команды.
РегламентПрогресс хранится только в этом браузере.
Границы, домен, контракты
Backend начинается с понимания домена, границ ответственности, контрактов и того, где система должна быть простой, а где масштабируемой.
Понять, за что сервис отвечает, а что остается вне его ответственности.
Описать важный технический выбор в ADR: контекст, варианты, решение и последствия.
Определить типы ошибок, формат ответа и правила логирования.
Контракты, версии, ошибки
API должен быть предсказуемым для клиентов: с понятными ресурсами, статусами, ошибками, версиями и документацией.
Зафиксировать endpoints, параметры, схемы ответов, ошибки и авторизацию.
Проверять входные данные на границах системы до бизнес-логики.
Определить, как будут выпускаться несовместимые изменения и поддерживаться клиенты.
Схема, миграции, транзакции
Работа с данными требует аккуратности: схема, индексы, миграции, консистентность и восстановление часто важнее красивого кода.
Определить таблицы, связи, ограничения, индексы и правила владения данными.
Планировать изменение схемы так, чтобы не сломать production и не остановить сервис надолго.
Находить запросы, которые замедляют API, блокируют базу или плохо масштабируются.
Auth, доступы, секреты
Безопасность backend держится на корректной аутентификации, авторизации, валидации, защите секретов и безопасной обработке ошибок.
Проверить, что система корректно устанавливает личность пользователя или сервиса.
Гарантировать, что пользователь может работать только с разрешенными ему данными.
Хранить ключи, пароли и токены вне репозитория и логов.
Логи, метрики, релизы
Сервис должен быть не только написан, но и наблюдаем, диагностируем, безопасно выкатываем и понятен тем, кто будет поддерживать его после релиза.
Логировать важные события с request id, пользователем, операцией и контекстом ошибки.
Сделать проверки состояния сервиса и зависимостей для мониторинга и оркестрации.
Описать, как деплоить, диагностировать, откатывать и поддерживать сервис.