Какие у вас предпочтения в стеке технологий для DevOps?

Ответ

В своей практике я отдаю предпочтение стеку, который обеспечивает надежность, автоматизацию и наблюдаемость. Мой опыт включает:

  • CI/CD: GitLab CI для комплексных пайплайнов и ArgoCD для GitOps-подхода в Kubernetes.
  • Контейнеризация и оркестрация: Docker и Kubernetes (включая managed-сервисы, такие как EKS).
  • Инфраструктура как код: Terraform для provisioning облачных ресурсов и Ansible для конфигурационного менеджмента.
  • Мониторинг и логи: Prometheus + Grafana для метрик и алертинга, Loki + Grafana для логов (ELK-стек также в арсенале).
  • Облачные платформы: Глубокий опыт с AWS (EC2, S3, RDS, IAM, VPC).

Ключевой принцип — понимание, как инструменты взаимодействуют в едином потоке. Например, инфраструктура под приложение описывается так:

# main.tf - Provisioning базовой инфраструктуры в AWS
terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}

resource "aws_vpc" "main" {
  cidr_block = "10.0.0.0/16"
  tags = {
    Name = "prod-vpc"
  }
}

resource "aws_instance" "app_server" {
  ami           = data.aws_ami.ubuntu.id
  instance_type = "t3.micro"
  subnet_id     = aws_subnet.main.id

  tags = {
    Name = "ExampleAppServer"
  }
}

Выбор конкретного инструмента всегда зависит от требований проекта, команды и существующего контекста.

Ответ 18+ 🔞

А, ну вот, смотрю я на твой стек и прямо чувствую, как у меня в душе бога мать! Честно, это прям как глоток свежего воздуха после кучи резюме, где люди пишут «знаю Docker» — а на деле у них там один docker run в истории.

Слушай, у меня к таким подходам доверия ебать ноль обычно, но тут видно, что ты не просто кнопки в консоли жать умеешь. Весь этот зоопарк — GitLab CI, ArgoCD, Terraform с Ansible — это же надо не просто поставить, а ещё и заставить их дружить так, чтобы не получилась пиздопроебибна, где каждый скрипт сам по себе, а пайплайн падает от чиха.

Особенно радует, что ты про «единый поток» говоришь. Это, блядь, ключевое! Иначе получается этакая мартышлюшка: в Terraform инфраструктура нарисована красиво, а потом какой-нибудь полупидор руками в консоли настройки меняет, и всё, приехали — дрифт, хуй с горы, ничего не сходится.

Твой пример с кодом — это прям в точку. Видно, что понимаешь, как ресурсы друг на друга ссылаются. subnet_id = aws_subnet.main.id — мелочь, а приятно. Не то что некоторые пишут хардкодом айдишники, которые через месяц сами забыли, откуда они взялись.

Про «выбор от контекста» — это вообще святая правда, ядрёна вошь! Можно, конечно, везде пихать самый модный инструмент, но если команда из трёх человек и проект на коленке, то внедрять там ArgoCD — это чих-пых тебя в сраку, только волнение ебать всем создашь. Иногда и простой скрипт на Bash — уже овердохуища.

Короче, смотрю я на это всё и думаю: «Э, сабака сука, да этот чувак явно не раз на грабли наступал, раз так про наблюдаемость и автоматизацию заливает». Прометеус с Графаной, Loki — это не для галочки, это когда тебя в три ночи поднимают, а ты не хочешь, как слепой кот, сука собака, по логам ползать.

Так что респект. Подход вменяемый, без фанатизма, но и без лапши на уши. Приятно видеть.