Около года назад перед нашей командой была поставлена задача стартовать разработку серверных частей ряда игровых MMO проектов. Специфика такого рода проектов помимо требований к гибкости, стабильности и масштабируемости также включает в себя:
- необходимость A/B-тестирования разных версий одной и той же игры
- возможность по максимуму переиспользовать функционал от одной игры в другой
- высокую вероятность географической удаленности от разработчиков занимающихся клиентским функционалом
Более того, в дальнейшем нашу команду предполагалось расширить, возможно за счет аутсорс разработчиков, в том числе и для задач поддержки. В этих условиях для успешной реализации было решено наравне с версионированием проектов, пакетированием и стандартизацией ряда шагов разработки внедрить и практику continuous delivery.
Цель данной статьи – рассказать о проделанных шагах, принятых решениях и описать полученный результат.