Ко всем статьям

"Мой стек: как собрать пазл в работающую систему"

Поделиться в Telegram
Содержание

Мой стек: как собрать пазл в работающую систему

Когда-то мой набор инструментов напоминал зоопарк: каждый жил сам по себе, и договориться между ними было непросто. Со временем я нашёл баланс — теперь у каждого инструмента чёткая роль, и все они работают как единый механизм. Расскажу, из чего состоит моя «мастерская» сегодня.


Terraform — прораб, который не терпит двусмысленности

Он не спрашивает «как сделать?», а требует чёткого технического задания — «что должно быть?». Пишешь конфигурацию, запускаешь plan (смотришь смету) и apply (строишь). Это, пожалуй, самый честный инструмент: если что‑то невозможно, он так и скажет, без магии и танцев с бубном. Люблю его за прямолинейность и предсказуемость.

Ansible — универсальный мастер на все руки

Если Terraform возводит стены, то Ansible — отделочник, который наводит уют внутри. Он устанавливает софт, правит конфиги и приводит сервера в состояние готовности. Главный плюс: не нужны агенты, достаточно SSH. Идеальный выбор, чтобы быстро «причесать» сервера и дособрать то, что не вошло в образ.

Kubernetes — мэр, который держит город в порядке

Сначала он кажется бюрократичным монстром, но со временем понимаешь, что это самый эффективный градоначальник. Он следит, чтобы все «жители» (поды) были живы и здоровы, автоматически распределяет ресурсы между «районами» (нодами). Если в кластере становится тесно, он сигнализирует: пора расширяться или оптимизировать использование ресурсов.

Helm — упаковщик с чувством стиля

Писать YAML-манифесты для Kubernetes вручную — всё равно что переписывать книгу ради одной буквы. Helm превращает эту рутину в искусство: файл values.yaml становится моим пультом управления, а команда helm upgrade — волшебной кнопкой «обновить всё».

ArgoCD — доставщик, одержимый Git

Раньше я вручную применял манифесты к кластеру и надеялся на лучшее. Теперь у меня есть ArgoCD, который свято верит, что Git — это единственная истина. Я пущу изменения в репозиторий, а ArgoCD сравнивает желаемое состояние с фактическим и, если видит расхождение, синхронизирует кластер. GitOps — это спасение для моего спокойного сна.

GitLab — швейцарский нож для всего

Этот инструмент вмещает в себя всё: CI/CD, репозитории, хранение артефактов. Да, иногда он тяжеловат, но зато не нужно бегать по десятку разных сервисов. Когда пайплайны становятся зелёными — на душе становится светло и спокойно.

Docker — портной, который шьёт униформу для приложений

Docker берёт приложение со всеми его зависимостями и капризами и упаковывает в аккуратный образ. Один раз собрал — работает везде. Просто, элегантно, гениально.

Prometheus — параноидальный, но надёжный охранник

Он не верит на слово, что «всё работает»: постоянно опрашивает метрики, проверяет память, доступность подов. Его язык запросов PromQL позволяет спросить систему: «Ну-ка признавайся, что у тебя на самом деле болит?» — и получить честный ответ.


Как весь этот пазл складывается в рабочий процесс

  1. Terraform подготавливает инфраструктуру: сервера, сети, сам кластер Kubernetes.
  2. Ansible доводит до ума мелочи — настраивает прокси, системные параметры, мониторинг на нодах.
  3. GitLab CI принимает код, запускает сборку образов через Docker и упаковывает их с помощью Helm.
  4. ArgoCD видит новые манифесты в Git-репозитории и автоматически разворачивает их в кластер.
  5. Prometheus наблюдает за всей системой и сигнализирует о любых отклонениях.

Этот стек — моя личная «звёздная команда». В нём нет идеальных инструментов, но есть слаженная работа, которая позволяет мне спать спокойно.


Альтернативы (актуализация 2025–2026)

Пост из канала «Мой стек на 2025» — с чем сравнивал и что оставляю как основной выбор.

Слой

Мой выбор

Аналоги / ниши

IaC

Terraform

OpenTofu (форк, открытая лицензия), Pulumi (TS/Python/Go), CloudFormation/ARM (одно облако)

Config

Ansible

SaltStack (масштаб), Puppet/Chef (compliance), Rudder (drift)

Оркестрация

Kubernetes

OpenShift/Rancher (PaaS), Cloud Run/Fargate (CaaS), GKE/EKS (managed control plane)

GitOps

Argo CD

Flux (минималистичнее), Jenkins X / Harness (тяжелее платформы)

CI/CD

GitLab

GitHub Actions, CircleCI, Jenkins

Monitoring

Prometheus

Influx/Timescale, Datadog/New Relic ($$$)

Стек — не догма, а проверенная комбинация под multi-cloud и контроль. OpenTofu держу в уме как запасной путь при лицензионных рисках HashiCorp.


А какой стек используете вы? Буду рад, если поделитесь своим опытом.