SRE-инженеры знают, что не существует на 100% отказоустойчивых систем, так что их главная задача — изучить, как будет работать продукт, если вдруг что-то сломается, и что делать, когда (а не если) это все-таки произойдет.
SRE-инженеры участвуют в координации и предотвращении сбоев и помогают командам с архитектурой систем для того, чтобы продукты были отказоустойчивыми. SRE знают, как их продукт будет работать в случае отказа одной или нескольких систем, и что делать для скорейшего восстановления. SRE не любят работать руками и стараются минимизировать текучку через автоматизацию.
Основные задачи SRE-инженера — контролировать состояние продакшена и реагировать на алерты, если они происходят. Также я слежу за инфраструктурой и планирую ее расширение при росте пользователей. Большую часть времени я уделяю наблюдаемости своих сервисов: делаю мониторинг и алертинг для новой функциональности.
Недавно мы запустили в мобильном банке новый сервис. Метрики показали, что при нагрузке этот сервис работает нестабильно и около 1% запросов могут заканчиваться неудачей. Нужно было разобраться, где инициализируются проблемы, и довести доступность сервиса до 99,9% по индикатору количества ошибок.
Попасть на позицию SRE можно как опытным специалистам, так и через программу стажировки Т‑Старт или Академию Бэкэнда для специалистов без опыта. Чтобы попасть в штат, кандидату нужно пройти несколько секций: телефонное интервью с HR, общие технические вопросы, программирование, траблшутинг, фит-интервью с командой. Пригодится хорошая техническая база, умение программировать и любознательность.
Я использую Grafana для визуализации состояния системы, Prometheus для метрик и алертинга, Ansible и Python для автоматизации. Также у нас есть внутренние разработки, которые помогают поддерживать SRE-процессы в командах.
Не представляю свой день без общения с коллегами из dev-команд. Продукты быстро обрастают функциональностью, и без моего участия в продакшене в день происходят десятки изменений. Так что мне всегда нужно быть в курсе всего, чтобы оперативно приступить к решению проблем. Комфортной и продуктивной работы не добиться без открытой коммуникации со смежными командами.