Сначала обычный процесс, потом контейнер · R6
R6. Жизненный цикл приложения
Цель
Развернуть сервис вручную и увидеть все его зависимости: runtime, config, proxy, database, migration и backup.
Что освоить
- build и runtime dependencies
- environment configuration
- NGINX и systemd
- SQL, transaction и migration basics
- PostgreSQL backup / restore и rollback
Материалы основного пути
- NGINX: руководство для начинающих
- Начать здесь. начало работы, static content, proxy и FastCGI concepts
- PostgreSQL: учебник
- Обязательно. главы 1–4: SQL, joins, updates и transactions
- PostgreSQL: backup и restore
- Практика. SQL dump, restore на чистой БД и проверочный query
Практика
Небольшое готовое приложение, PostgreSQL и NGINX на чистой VM с TLS.
Проверьте результат
Разворачиваете сервис с нуля, чините 502 и DB connection error, делаете backup, restore и rollback.
Вопросы, условия приёмки и доказательства
Ответьте и покажите
- Почему migration и deploy нужно упорядочивать?
- Как доказать, что backup пригоден?
Условия приёмки
- Clean deploy по runbook
- 502/DB error диагностируются
- Restore проверен запросом и rollback выполнен
Учебный отказ: Отключить upstream либо выдать неверный DB config и восстановить service, не переустанавливая всю VM.
Артефакт: Deployment runbook + config + backup/restore/rollback transcript
Приложение развёрнуто на чистой VM; 502 и DB connection error диагностированы; восстановленная БД проверена запросом; rollback выполнен.
Хорошее доказательство: Runbook + configs + timed deploy/restore/rollback transcript с query result.
Недостаточно: Наличие dump-файла без restore или ручной deploy без зафиксированных dependencies/versions.
Углубление и справочные материалы
Темы для углубления
- zero-downtime migration
- connection pooling
- PITR и совместимость версий
Провести backward-compatible migration и restore в отдельную БД, затем измерить и документировать downtime/RPO.
Результат: Rollback не теряет подтверждённые данные; restore проверен запросами; несовместимая migration блокируется до deploy.
Дополнительные материалы
- systemd.service
Справочник. Unit, Service, Install и dependency options
- Как работает Let’s Encrypt
- The Twelve-Factor App
Дополнительно. Config, Backing services, Processes, Disposability и Logs