Infrastructure as Code
IaC для 10+ микросервисов. Ansible, Docker Compose шаблонизация, S3 бэкапы, безопасность iptables.
Деплой < 10 минут10+ микросервисовDefault Deny firewall
Бизнес-задача
Унификация окружений для 10+ микросервисных проектов: ручная настройка приводила к рассинхрону между prod и stage. Развёртывание нового проекта — минуты вместо часов.
Ключевая задача
Шаблонизация Docker Compose вместо копипасты. Вход: переменные проекта (YAML) + секреты (Ansible Vault). Ansible генерирует конфигурации и запускает через community.docker. По аналогии с Helm для K8s, но для небольших проектов.
Шаблонизация Docker Compose
Вход: переменные проекта + секреты. Ansible генерирует конфигурации и запускает. Стандартизированные контейнеры с единым подходом к логированию, сети, рестартам.
Безопасность
Многоуровневая защита серверов:
- •Секреты: Ansible Vault в .env с правами 600
- •Firewall: iptables Default Deny
- •SSH: ключи, без root, без пароля
- •Логи: no_log для чувствительных данных
Автоматизация
CI/CD и мониторинг:
- •Бэкапы PostgreSQL и ClickHouse в S3
- •Self-hosted GitHub Actions Runners
- •Node Exporter + Prometheus
Технологии
Core
Ansible Core 2.18Python 3.11Jinja2 Templates
Collections
community.dockercommunity.generalansible.posix
Cloud
Yandex Cloud (S3)Docker Engine
Target OS
Debian 12Ubuntu 22.04/24.04
Наша роль
- Архитектура репозитория: время развёртывания — минуты вместо часов
- Шаблонизация Docker Compose для стандартизации
- Настройка безопасности серверов и автоматические бэкапы в S3