Сложность старых систем видна не только в коде, но и в сопровождении: несколько сервисов, ручные настройки веб-сервера, кэш, очереди, планировщик, и всё это нужно держать согласованным. Мы свели эксплуатацию к минимуму, с которым справится один человек.
Один сервис
Магазин — одна программа и база данных. Нет отдельного веб-сервера с конфигурацией на сотню строк, нет кэширующего слоя, который надо чистить, нет очереди, которая молча встала. Меньше движущихся частей — меньше того, что ломается ночью.
Что происходит само
- Https. Сертификат получается и продлевается автоматически, ничего настраивать не нужно.
- Изменения базы. Применяются при запуске новой версии, целиком или никак.
- Проверки состояния. Движок сам сообщает, здоров ли он: подключена ли база, отвечает ли хранилище файлов. Это видно в админке и доступно системам мониторинга.
- Резервная копия. Понятная процедура: одна команда для копии, одна для восстановления. Мы описали её в документации и проверяем в тестах.
Когда что-то пошло не так
Журналы структурированные: каждая запись говорит, какой запрос, какой плагин, какая ошибка. Причина сбоя находится по журналу, без отладки на живом сайте и без звонка разработчику «посмотреть на сервере».
Что это значит для вас
Недорогой сервер, обновление двумя командами, понятная резервная копия и отсутствие штатного администратора. Сопровождение стоит столько, сколько стоит сервер.