Docker и контейнеризация
4 вопросовDockerfile — инструкции сборки одного образа. docker-compose.yml — оркестрация нескольких контейнеров (сети, тома, переменные).
Сборка в одном этапе (build), запуск в другом (runtime). Уменьшает размер образа, исключая компиляторы/build-зависимости.
FROM python:3.11 as builder
RUN pip install -r requirements.txt
FROM python:3.11-slim
COPY --from=builder /app/dist /app
stop — SIGTERM (10 сек на graceful shutdown). kill — SIGKILL (немедленно).
Исключает файлы из контекста сборки (.git, node_modules, *.pyc). Ускоряет docker build.
Kubernetes
4 вопросовDeployment — stateless приложения (поды взаимозаменяемы). StatefulSet — stateful (PostgreSQL, Redis) с порядком создания/удаления.
Автоматически масштабирует Deployment по CPU/Memory или кастомным метрикам Prometheus.
kubectl autoscale deployment app --cpu-percent=70 --min=2 --max=10
ClusterIP — внутри кластера. NodePort — через порт ноды. LoadBalancer — внешний LB от облака.
Контейнер, который запускается ДО основного. Ждет готовности DB, миграций, секретов.
CI/CD
3 вопросовGitHub Actions — events-driven (push, PR, release). GitLab CI — pipeline-based (.gitlab-ci.yml с stages).
Инфраструктура/приложения как Git-репозитории. ArgoCD/Flux синхронизируют состояние кластера с Git.
Blue-Green — 100% трафик на новую версию. Canary — постепенный rollout (5% → 20% → 100%).
Облачные провайдеры
2 вопросовManaged Kubernetes: AWS EKS, Google GKE, Azure AKS. Не нужно управлять control plane.
Lambda — pay-per-request, cold starts. Fargate — контейнеры без EC2, длинные задачи.
Продвинутые темы
3 вопросовExtended Berkeley Packet Filter — kernel-level observability без изменения ядра. Cilium, Falco, Pixie.
Chaos Monkey, Gremlin — случайные сбои. Steady State hypothesis, blast radius.
Wasm-runtimes (SpinKube) — легкие альтернативы контейнерам. Быстрее cold start.