Ответ
Я стремлюсь работать с современным, облачно-ориентированным стеком, который позволяет строить отказоустойчивые, масштабируемые и легко управляемые системы. Мой идеальный стек выглядит так:
1. Оркестрация и платформа: Kubernetes как стандарт де-факто. Хочу углубиться в операторы (Kubernetes Operators) для управления stateful-приложениями и в сервис-меши (особенно Istio или Cilium Service Mesh) для продвинутого управления трафиком, безопасности и observability.
2. Инфраструктура как код (IaC): Terraform для провиженинга облачных ресурсов и Pulumi (на Python/Go) для более сложной и программируемой логики. Для конфигурации внутри нод/образов — Ansible.
3. GitOps и доставка: ArgoCD или FluxCD для реализации GitOps. Хранение манифестов Kubernetes и конфигураций в Git, а синхронизацию и развертывание доверяю оператору.
4. Мониторинг и Observability:
- Prometheus + VictoriaMetrics для сбора метрик.
- Grafana для визуализации и алертинга.
- Loki для логов и Tempo или Jaeger для трассировки, объединенные в единый стек Grafana LGTM.
- Интересуюсь OpenTelemetry для стандартизации сбора телеметрии.
5. CI/CD: GitLab CI или GitHub Actions за их глубокую интеграцию с Git и богатые экосистемы. Для сложных пайплайнов — Tekton.
6. Облако: AWS (EKS, RDS, S3) или GCP (GKE, Cloud SQL, BigQuery). Интересен мультиклауд и гибридные сценарии.
Пример подхода: Я хочу автоматизировать развертывание приложения от кода до продакшена. Разработчик пушит код в Git -> CI пайплайн собирает образ -> образ пушится в registry -> ArgoCD, отслеживая Git-репозиторий с манифестами, автоматически обновляет deployment в Kubernetes-кластере, развернутом с помощью Terraform.