Управление Github-ом: от ручных манипуляций через Terraform к кастому на Ansible Инфраструктура как код
Часто мы предпочитаем работать с готовыми инструментами, просто потому что они уже есть, и закрываем глаза на их недостатки. Мы долго управляли Github-ом вручную, а в какой-то момент решили внедрить подход Infrastructure-as-a-Code, для чего выбрали популярный Terraform. И на наших объёмах -- 350+ человек и 400+ репозиториев -- это оказалось не очень хорошим решением. Тщательно потоптавшись по граблям, мы запилили свой вариант на Ansible.
• Я расскажу про найденные грабли (лимиты Github, низкая производительность, провоцирует ошибки), и почему при наших размерах у Терраформа нет плюсов (хотя мы честно искали).
• Покажу наше решение на Ansible, которое отрабатывает в 10--100 раз быстрее, с простыми конфигами и другими плюшками. Представлю типичные задачи, которые стало проще решать.
• И поделюсь реализацией своего решения в виде открытого проекта на Github.
Тимлид команды, решающей проблемы 150+ разработчиков Skyeng. 20 лет в IT. Начинал простым программистом во Владивостоке. Продолжил главным инженером в ключевом интернет-провайдере Комсомольска-на-Амуре. Последние полтора года работаю в Москве. Отец троих детей, люблю иностранные языки.