Через специальный веб-интерфейс, предоставленный заказчиком, происходит разворачивание программы из репозитория, и дальше она тестируется в необходимых по условию задачи режимах. Для нас эта работа на 7 дней (на самом деле меньше, но на непредвиденные случаи мы всегда берем срок с запасом).
Кроме того, наш клиент попросил
обеспечить разворачивание своих программ на 6 production серверах:
- Web (nginx, php7-fpm, Cache (Redis));
- MasterDatabase (PostgreSQL 9.4, PostGis);
- Slave Database (PostgreSQL 9.4, PostGis);
- Sphinx search engine (+Cache (Redis));
- Mail server (smtp) (+Cache (Redis));
- Мониторинг (Zabbix/Nagios/Cacti).
При этом должен осуществляться постоянный мониторинг, автоматический откат системы при сбое с сохранением данных и прочие моменты, которые необходимы для обеспечения безопасности проекта. В заключение нас попросили написать регламент эксплуатации созданного проекта.
Составление технического задания фактически происходило по методике DevOps, когда с нашей стороны в нем участвовали системные инженеры, а со стороны клиента — программисты. На выходе мы получили сбалансированный проект, который учитывал и возможность оперативного обновления, и высокую отказоустойчивость.