DevOps

Практики непрерывной интеграции и доставки (CI/CD). Docker, Kubernetes, автоматизация развертывания.

100%
DevOps

Описание темы «DevOps» под заголовком

CI/CD пайплайны

Автоматизация сборки, тестирования, деплоя. GitHub Actions, GitLab CI, Jenkins, CircleCI. Непрерывная интеграция и доставка.

Карта темы «CI/CD пайплайны»

Контейнеризация

Docker: образы, контейнеры, Dockerfile, docker-compose. Изоляция приложений, переносимость, микросервисы.

Карта темы «Контейнеризация»

Оркестрация

Kubernetes: pods, services, deployments, ingress. Helm-чарты, kubectl. Автоскейлинг, self-healing, service mesh (Istio).

Карта темы «Оркестрация»

Инфраструктура как код

Terraform, Pulumi, CloudFormation. Декларативное описание инфраструктуры. GitOps, версионирование, воспроизводимость.

Карта темы «Инфраструктура как код»

Terraform (IaC)

Infrastructure as Code инструмент от HashiCorp (2014). Декларативный язык HCL (HashiCorp Configuration Language): описываем желаемое состояние инфраструктуры → Terraform создаёт/обновляет ресурсы. Providers для облаков: AWS, Azure, GCP, Kubernetes, 3000+ провайдеров. Terraform plan — предпросмотр изменений (создать 5, изменить 2, удалить 1 ресурс), apply — применение. State file — текущее состояние инфраструктуры (хранится в S3/Terraform Cloud). Модули — переиспользуемые блоки конфигурации. Преимущества: версионирование инфраструктуры (Git), воспроизводимость (одна конфигурация → идентичные dev/staging/prod), документация (код = документация). Альтернативы: CloudFormation (только AWS), Pulumi (код на Python/TypeScript вместо HCL)

Карта темы «Terraform (IaC)»

Prometheus

Система мониторинга и алертинга (2012, SoundCloud, 2016 в CNCF). Pull-модель: Prometheus опрашивает метрики с /metrics endpoint (vs push в Graphite/InfluxDB). Time-series БД: метрики с метками (labels) — http_requests_total{method="GET", status="200"}. PromQL язык запросов: rate(http_requests_total[5m]) — RPS за 5 минут. Service discovery — автоматическое обнаружение целей (Kubernetes, Consul). Exporters для метрик: node_exporter (CPU/RAM/disk), blackbox_exporter (HTTP/TCP проверки), custom exporters. Alertmanager для уведомлений (группировка, маршрутизация в Slack/PagerDuty). Grafana для визуализации (дашборды). Используется: 60%+ Kubernetes кластеров. Недостаток: не для логов (используйте Loki) и трейсов (Jaeger)

Карта темы «Prometheus»

Docker (контейнеризация)

Изоляция приложений в контейнерах (2013, Solomon Hykes). Образ (image): слои файловой системы (union FS), неизменяемый. Контейнер (container): запущенный образ, namespace isolation (процессы, сеть, файлы). Легче VM (общее ядро). Dockerfile: инструкции сборки. Docker Hub: публичный registry. Kubernetes оркестрирует Docker.

Карта темы «Docker (контейнеризация)»

Kubernetes (оркестрация)

Управление контейнерами в кластере (Google, 2014, на базе Borg). Pods (группа контейнеров), Services (балансировка), Deployments (управление версиями). Автомасштабирование (HPA), самовосстановление (restart на сбой). Declarative config (YAML). Helm: пакетный менеджер. Облака: EKS (AWS), GKE (Google), AKS (Azure).

Карта темы «Kubernetes (оркестрация)»

CI/CD

Continuous Integration / Delivery. Автоматическая сборка, тестирование, деплой. Jenkins, GitLab CI, GitHub Actions. Trunk-based development. Релизы по кнопке.

Карта темы «CI/CD»

Infrastructure as Code

Инфраструктура описана кодом. Terraform (HashiCorp) — мультиоблачный. Ansible — конфигурация серверов. Pulumi — на языках программирования. Версионирование, воспроизводимость.

Карта темы «Infrastructure as Code»

Мониторинг и логирование

Prometheus + Grafana — метрики. ELK Stack (Elasticsearch, Logstash, Kibana) — логи. Jaeger — трейсинг. SLO/SLI — метрики надёжности. Алертинг: PagerDuty, OpsGenie.

Карта темы «Мониторинг и логирование»

Разработка ПО
Разработка ПО