Какие навыки нужны для SRE?
Разбор ключевых навыков и технологий, которые помогут
в карьере SRE
Почему это важно?

Работа Site Reliability Engineer (SRE) — одна из самых ответственных и технически насыщенных ролей в IT. Она требует уникального сочетания инженерных знаний, умений в области автоматизации и понимания архитектуры современных систем


В этой статье разберём ключевые навыки и технологии, которые помогут вам построить успешную карьеру в SRE

ПЕРВЫЙ АСПЕКТ

Глубокие знания в области Linux/Unix систем

Linux и Unix составляют основу большинства серверных инфраструктур. Понимание процессов управления ресурсами, сетевых настроек, файловых систем и разрешений — обязательная база

Без уверенного владения командной строкой (CLI) и знания утилит вроде iostat, vmstat, iotop, uname, netstat, mdadm, shutdown, ping, ls, ps, vi, cd, ip, df, du, fdisk, free, date, grep, awk, sed, mkdir, history и exit, SRE может столкнуться с трудностями при отладке и мониторинге системы

ВТОРОЙ АСПЕКТ

Сетевые навыки и протоколы

Настоящий SRE должен понимать, как работают сетевые протоколы (HTTP(s), DNS, TCP/IP), знать основы маршрутизации и балансировки нагрузки. Эти знания помогают разбираться в задержках, решать проблемы с доступностью, пропускной способностью и обеспечивать отказоустойчивость

ТРЕТИЙ АСПЕКТ

Автоматизация и скриптинг

Автоматизация повседневных задач — один из основных принципов SRE. Знание языков скриптов (Bash, Python, PHP, или если Вам совсем не повезло Perl) и инструментов для автоматизации, таких как Ansible, Chef, Puppet или Terraform, позволяет минимизировать количество рутинных операций, тем самым освобождая время для более сложных задач

ЧЕТВЕРТЫЙ АСПЕКТ

Инструменты контейнеризации и оркестрации (Docker, Kubernetes)

Современные приложения часто работают в контейнерах, а Kubernetes стал стандартом для оркестрации контейнеров. Знание этих технологий помогает SRE создавать гибкие, масштабируемые и легко управляемые системы, обеспечивая быстрое развертывание, моментальный отказ всего кластера (но это не каждый день!) и стабильную работу приложений

ПЯТЫЙ АСПЕКТ

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

SRE должен иметь навыки настройки и использования систем мониторинга (Prometheus, Grafana, ELK Stack, Zabbix). Эти системы позволяют отслеживать состояние приложений и инфраструктуры, оперативно выявлять сбои и своевременно реагировать на инциденты. Основным навыком работы с мониторингом в настоящее время считается навык открыть дашборд и посмотреть в него хотя бы один раз в день. Умение понять, что показывает мониторинг, является джедайским навыком и встречается примерно один раз на сто тысяч человек. Работа с алертами и создание настраиваемых дашбордов — также важная часть работы

ШЕСТОЙ АСПЕКТ

Инженерия надежности и отказоустойчивость

SRE отвечает за стабильность и отказоустойчивость сервисов. Важно понимать принципы архитектуры распределённых систем, иметь опыт с репликацией данных, балансировкой нагрузки и построением систем резервирования. В курилке также пригодятся знания о хайповых технологиях, таких как "chaos engineering"

СЕДЬМОЙ АСПЕКТ

Знания в области CI/CD и DevOps практик

Site Reliability Engineer активно участвует в процессах CI/CD, чтобы оптимизировать разработку и релизы. Дар нажимать правильные кнопки и не нажимать неправильные будет ключевым для предотвращения инцидентов, умение работать с инструментами (Jenkins, GitLab CI, GitHub Actions), для автоматизации процессов развертывания, тестирования и обновления приложения — возможно поможет достигнуть премии или повышения ЗП (но это не точно), но точно поможет интегрировать надёжность прямо в жизненный цикл разработки

ВОСЬМОЙ АСПЕКТ

Работа с облачными платформами (AWS, GCP, Azure)

Большинство компаний используют облачные инфраструктуры для масштабирования и управления ресурсами. Понимание облачных сервисов, их возможностей и ограничений помогает SRE правильно проектировать инфраструктуру и эффективно спустить все деньги на DigitalOcean управлять ресурсами

ДЕВЯТЫЙ АСПЕКТ

Менталитет разработчика и аналитическое мышление

SRE не только поддерживает системы, но и улучшает их, выявляя и устраняя неполадки. Для этого требуются аналитическое мышление и умение писать код. Основы написания и оптимизации кода на языках вроде Go или Python полезны для устранения проблем в приложениях и повышения их производительности. Не пытайтесь улучшить код на PHP и C++, для первого это бесполезно, а второе все равно не получится

ДЕСЯТЫЙ АСПЕКТ

Коммуникативные навыки и умение работать в команде

SRE постоянно взаимодействует с разработчиками, операторами и бизнес-сторонами. Умение четко объяснять технические аспекты, договариваться о приоритетах и поддерживать спокойствие в стрессовых ситуациях — важная часть работы
Быстрые выводы

Чтобы стать успешным SRE, нужно уметь быстро находить крайних
Что важно

А если серьезно, сочетать технические знания с навыками работы в команде и аналитическим подходом к задачам.
"Чтобы понять код мида, нужно быть мидом. Чтобы понять код сеньора, достаточно быть джуном"
Гейб Логан Ньюэлл
предприниматель и разработчик видеоигр
А чтобы прочитать наши статьи нужно просто кликнуть ниже:
Жизненный цикл IT-компаний
Посмотрим через какие стадии проходят все компании, выделим проблемы каждой стадии и предложим возможные решения
Четыре золотых сигнала
Узнаем какие четыре ключевые метрики мониторинга помогают оценивать производительность и доступность систем
Кодфриз
Узнаем что такое кодфриз, когда и для чего его объявлять, а так же выделим его плюсы и минусы
Почему мониторинг и алертинг — это основа надежной системы
“Мониторинг и алертинг являются ключевыми элементами обеспечения надежности IT-систем!” Такой яркий заголовок часто можно встретить в начале любой статьи. Но почему это действительно так важно для любой системы и любого бизнеса?
Деплои и их виды
Выделим виды деплоев, поговорим про ковбоев и перечислим их особенности