Проблема не в інструментах, а в порядку
Більшість DevOps-ініціатив у mid-market провалюються однаково: команда ставить Terraform, будує гарний IaC-репозиторій, а за шість місяців виявляє, що сервери під ним досі конфігуруються вручну і ніхто не знає їх стану. Репо описує фікцію.
Цей матеріал — порядок, який ми справді рекомендуємо у 2026 для команди з 5–100 серверами, мікс хмари й on-premise. Не найамбітніший — той, що переживає контакт з реальністю.
План
- Почати з config management (Ansible) перед IaC (Terraform)
- Усе у version control: infra, configs, runbooks
- Мінімально життєздатна CI/CD-pipeline
- Управління секретами без саморобних vault
- Observability з першого дня
- Пастки, що вбивають DevOps у малих командах
- Дорожня карта на 60 днів
1. Почати з config management перед IaC
Terraform відповідає «яка інфраструктура має бути?». Ansible (або еквіваленти) — «що на кожній машині?». Для існуючого естейту друге питання болюче — і найприбутковіше. Пройдіться парком з Ansible:
- Інвентаризувати кожен сервер одним playbook.
- Застосувати baseline-роль (users, SSH-конфіг, синхронізація часу, monitoring-агент).
- Зробити
ansible-playbook --checkчастиною кожної зміни. - Тільки потім тягнути provisioning у Terraform.
Команда, яка однією командою re-baselin'ить весь свій парк, операційно зріліша за ту, що має гарне Terraform-репо і неконтрольований drift.
2. Усе у version control
Infra-код, ролі конфігурації, runbook, дашборди, визначення алертів, навіть шаблон графіка on-call. Одна Git-org, один CODEOWNERS, обов'язкові PR на все, що чіпає прод. Структура нудна:
/infra # Terraform
/config # Ansible-ролі + інвентарі
/runbooks # Markdown, один на клас інциденту
/observability # Dashboards-as-code, alert-правила
Якщо зміна варта зробитись — варта і review. Це найдешевший control plane, який ви побудуєте.
3. Мінімально життєздатна CI/CD-pipeline
Забудьте про вісім стадій у першій версії. Мінімум:
- Build — компіляція, пакування, контейнер з digest.
- Test — unit, integration, security scan (наприклад, Trivy).
- Deploy у staging — автоматично на
main. - Deploy у прод — ручне підтвердження, один клік.
- Rollback — одна кнопка, тестується щомісяця.
Останній крок відрізняє реальний pipeline від мрії. Якщо ви не можете відкотити без зустрічі — у вас немає pipeline.
4. Управління секретами без саморобних vault
Оберіть одне: HashiCorp Vault, Doppler, AWS Secrets Manager, Azure Key Vault, GCP Secret Manager. Підключіть Ansible, Terraform і CI. Машинні credentials ротуйте автоматично; людські — при offboarding. Ніколи не зберігайте секрети в env-файлах у Git, навіть зашифровані — операційна ергономіка завжди псується і хтось коммітить cleartext.
5. Observability з першого дня
Три речі, у такому порядку:
- Метрики (Prometheus + Grafana, або hosted) — потужність, насиченість, частота помилок.
- Логи (Loki, Elastic, hosted) — форензика інцидентів.
- Трейси (Tempo, Jaeger, hosted) — для всього, що бачить користувач.
Дашборди перед алертами. Алерти лише там, де є runbook. Алерт без runbook — pager, що будить без чіткої дії.
6. Пастки, що вбивають DevOps у малих командах
| Пастка | Чому вбиває |
|---|---|
| Over-engineering | Kubernetes для трьох сервісів; service mesh для двох pod. |
| Snowflake-сервери | Критичний host, який ніхто не чіпає, повний ручної конфігурації. |
| Без тестування rollback | Перший справжній rollback — під час падіння. |
| Проліферація інструментів | Три secret-store, два IaC, дві observability. |
| Документація в головах | Bus factor — один. |
Ліки нудні: менша поверхня, повторювані deploy, щомісячні drill, один інструмент на роботу, записуйте.
7. Дорожня карта на 60 днів
- Тиждень 1–2 — Інвентаризація: один Ansible-playbook на весь парк.
- Тиждень 3–4 — Baseline-роль на всіх host. Щотижневий drift-звіт.
- Тиждень 5–6 — CI для застосунку, що змінюється найчастіше. Лише build + test.
- Тиждень 7–8 — Крок deploy з ручним підтвердженням. Rollback протестовано.
- Тиждень 9–10 — Секрети централізовано. Дві найризикованіші credentials ротовано.
- Тиждень 11–12 — Метрики + логи в одному місці. Три actionable алерти з runbook.
Достатньо, щоб змінити операційний характер малої команди. Усе після 12-го тижня — ітерація.
Рекомендований toolchain для малої команди у 2026
- Config: Ansible
- IaC: Terraform (або OpenTofu)
- CI/CD: GitHub Actions або GitLab CI
- Контейнери: Docker; Kubernetes лише за потреби
- Секрети: Vault, Doppler або хмарний KMS
- Observability: Grafana-стек (Prometheus + Loki + Tempo) або hosted
Свідомо без блиску. Блиск убиває DevOps у компаніях до 200 осіб.
Ключові висновки
- Приборкуйте наявне config management перед описом ідеалу через IaC.
- Версіонуйте infra, runbook, дашборди й alert-правила разом.
- Мінімально життєздатна CI/CD містить протестований rollback. Інакше це мрія.
- Централізуйте секрети рано; observability — метрики → логи → трейси у цьому порядку.
- Шість тижнів дисциплінованої роботи змінюють команду більше, ніж шість місяців shopping'у інструментів.
Якщо хочете другу думку щодо вашої DevOps-карти або kickoff фіксованого scope — зв'яжіться. Говоритимете з інженером, не з продавцем.
