Кирилл Борисов, автор канала «Путь SRE». подготовил чек-лист «жёстких навыков», необходимых для работы SRE.
1️⃣ Знания в области системного администрирования и инфраструктуры
Сетевые технологии:
Понимание того, как работают протоколы, маршрутизация, балансировка нагрузки и другие сетевые элементы, — это основа для успешного мониторинга и масштабирования систем.
Работа с серверной инфраструктурой:
Знания по настройке и поддержке операционных систем (особенно Linux), управления ресурсами, работы с файловыми системами и системами хранения данных.
2️⃣ Опыт работы с контейнерами и оркестрацией
Docker & Kubernetes:
Понимание основ контейнеризации и опыт работы с инструментами для оркестрации контейнеров. Kubernetes — это практически стандарт для большинства SRE-команд, и знание его принципов является обязательным.
Helm:
Знание Helm для упрощения управления приложениями на Kubernetes и автоматизации процессов деплоя.
3️⃣ Знания по автоматизации и инфраструктуре как код
Terraform, CloudFormation, Ansible:
Опыт написания инфраструктуры как код (IaC), автоматизация процессов развертывания и конфигурации.
CI/CD:
Навыки настройки и поддержки процессов непрерывной интеграции и доставки с использованием таких инструментов как Jenkins, GitLab CI или CircleCI. Это ключевое для достижения быстрого и безопасного деплоя.
4️⃣ Системы мониторинга и алерты
Prometheus & Grafana:
Навыки мониторинга инфраструктуры с использованием таких инструментов, как Prometheus (для сбора метрик) и Grafana (для визуализации). Умение настраивать алерты для своевременного реагирования на инциденты.
ELK Stack (Elasticsearch, Logstash, Kibana):
Умение работать с логами и проводить анализ с помощью инструментов из ELK стека.
Как построить нормальный мониторинг и перестать гадать на кофейной гуще — читайте тут.
5️⃣ Навыки в области высоконадежных систем
High Availability (HA) и Fault Tolerance:
Умение проектировать и поддерживать отказоустойчивые системы. Понимание принципов избыточности, автоматического восстановления и распределенных систем.
Disaster Recovery:
Опыт планирования и внедрения стратегий восстановления данных и сервисов после катастроф. Важно уметь быстро восстанавливать систему после сбоев.
6️⃣ Разработка и скриптование
Python, Go, Bash:
Знание языков программирования, таких как Python и Go, для автоматизации задач и решения проблем, а также уверенное владение Bash для написания скриптов для обработки данных и выполнения команд.
CI/CD скрипты:
Опыт написания скриптов для автоматизации деплоя, тестирования и мониторинга.
7️⃣ Разработка системы безопасности и защита данных
Security Best Practices:
Понимание принципов безопасной разработки и администрирования, включая управление доступом, шифрование данных и управление уязвимостями.
OAuth, OpenID, и другие протоколы аутентификации:
Опыт работы с системами аутентификации и защиты данных.
8️⃣ Набор инструментов для работы с инцидентами
PagerDuty, Opsgenie, VictorOps:
Опыт использования платформ для управления инцидентами и уведомлений, включая настройку и обработку алертов.
Root Cause Analysis (RCA):
Умение проводить анализ корневой причины для изучения инцидентов и внедрения мер по предотвращению их повторений.
Некоторые из этих навыков можно освоить на курсе «SRE: Observability».
Изучить программу и занять место на курсе — по ссылке.