Инженер по надежности объекта (SRE)

Инженер по надежности объекта (SRE) — это должность, которая охватывает как разработку программного обеспечения, так и аспекты эксплуатации/инфраструктуры. Должностные инструкции также включают стратегию, набор практик и принципов для всех предложений услуг и тесно связан с DevOps и операциями.

Термин «Инженерия надежности сайта» впервые был придуман в Google в 2003 году, когда была создана группа по обеспечению надежности сайта. В то время команда состояла из инженеров-программистов. С тех пор концепция проектирования надежности объектов развилась и проникла в более широкую индустрию разработки программного обеспечения и теперь занимает отдельную роль в организациях.

Инженеры по обеспечению надежности объектов устраняют разрыв между эксплуатацией и разработчиками программного обеспечения. В целом не существует универсального подхода к тому, что делает инженер по надежности объекта в разных организациях.

В общих чертах обязанности инженера по надежности объекта могут включать в себя широкий спектр целей, таких как: управление и мониторинг доступности системы, задержек, производительности, эффективности, реагирования на инциденты и планирования мощности служб организации. Давайте углубимся в эту роль, чтобы узнать больше об этой роли и о том, как она работает в организациях.

Роль инженера по надежности объекта

Если рассматривать это по-другому, то проектирование надежности сайта — это место, где встречаются традиционная роль ИТ-специалиста или роль системного администратора и DevOps. В традиционной ИТ-среде компании могли иметь команду системных администраторов, управляющих сложными системами.

Целью и ответственностью является обеспечение правильного развертывания программного обеспечения и предоставление надежных услуг конечным пользователям. Кроме того, в их роль входит управление проблемами, возникающими после развертывания программного обеспечения.

Однако системные администраторы не сосредотачиваются на реальной разработке программного обеспечения, где роли разработчика и системного администратора могут противоречить друг другу. Разработчики сосредотачиваются на производстве программного обеспечения и передаче его в руки пользователей, не обязательно заботясь об аспектах или последствиях доставки программного обеспечения.

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

Чем занимается инженер по надежности объекта?

Проектирование надежности объекта предполагает распределение времени между эксплуатацией и разработкой. Например, инженер по надежности веб-сайта может участвовать в обработке заявок в службу поддержки, инцидентах по вызову, ручных задачах и т. д.

Кроме того, инженер по надежности объекта может также тратить свое время на проактивные проекты, такие как автоматизация, повышение надежности системы и т. д.. Это нужно чтобы уменьшить ручную рабочую нагрузку и гарантировать, что все компоненты (инфраструктура/аппаратное обеспечение, промежуточное программное обеспечение, программное обеспечение и т. д.) находятся в хорошем состоянии. Это необходимо чтобы поддерживать работоспособность и эффективность развертывания программного обеспечения.

Каковы некоторые общие обязанности SRE?

Фактические обязанности SRE варьируются от компании к компании, но в большинстве случаев SRE или команда SRE несут ответственность за все аспекты своих предложений услуг и могут требовать выполнения любых, всех или нескольких из следующих обязанностей:

- Планирование мощностей

- Доступность

- Производительность

- Наблюдение

- Реагирование на инцидент

- Поддержка по требованию

- Анализ инцидентов

Важно отметить также, что надо учитывать насколько важен тот или иной инцидент. Как инцидент влияет на работу пользователя с информационной системой. Например, изображение ниже демонстрирует как выглядит веб-приложение Telegram, в котором не отображаются сообщения в канале. Веб-приложение Telegram открыто в браузере Firefox.

Ошибка в веб-приложении Telegram

Как видите, роль SRE обычно является мастером на все руки. В одну минуту SRE может развертывать хранилище на AWS, а в следующую минуту SRE может потребоваться поговорить с клиентами или написать код Python для нового проекта. Это действительно зависит от дня.

Какие инструменты используют SRE?

Инструменты и программные решения, которыми располагают инженеры по надежности, могут сильно различаться от организации к организации. Одна из основных причин этого заключается в том, что в более крупных организациях в команде SRE обычно больше сотрудников.

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

С другой стороны, группе по обеспечению надежности сайта или отдельному сотруднику в небольшой организации, возможно, придется носить гораздо больше обязанностей, поскольку штат, скорее всего, будет ограничен, поэтому их набор инструментов должен будет включать в себя все: от платформ управления конфигурацией и автоматизированных систем реагирования на инциденты до мониторинга, а также и инструменты анализа. Возможно, вы уже знакомы с некоторыми инструментами, которые использует SRE, например: Docker, Terraform, Prometheus и Kibana.

Где можно узнать больше о проектировании надежности объекта?

Термин «инженер по надежности сайта» приписывают Бену Трейнору Слоссу, ныне вице-президенту по разработке в Google. В 2003 году его попросили создать и возглавить команду из семи инженеров, что в конечном итоге привело его к созданию новой должности. Есть несколько отличных онлайн-ресурсов, написанных Беном и несколькими другими членами команды разработчиков Google.

Эти ресурсы охватывают все: от принципов SRE, ролей и обязанностей SRE до оценки роли инженера по обеспечению надежности сайта и ее положения в сегодняшней ситуации среды DevOps. Нет лучшего способа узнать больше о проектировании надежности сайта, чем от человека и организации, которые изначально создали эту роль, не так ли?

На GitHub также имеется большой список ресурсов по проектированию надежности сайтов.

Эпилог

Как уже говорилось ранее, SRE — это больше, чем просто ваша традиционная роль операционного или системного администратора. SRE использует свой обширный опыт и знания для поддержки автоматизации и повышения эффективности своих программных услуг и организации. Хороший SRE — это тот, кто в целом отлично решает проблемы.

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

Это все равно, что постоянно собирать большой и сложный пазл. Иногда это может быть очень неприятно и утомительно, а иногда кусочки могут теряться. Но как только вы закончите работу, вы почувствуете много гордости и достижений.

В обязанности SRE входит мониторинг и наблюдение. Решения синтетического мониторинга позволяют командам SRE и DevOps моделировать и отслеживать пользователей в системе или сервисе. Платформы позволяют SRE настраивать специальные оповещения мониторинга и интегрируется с платформами инцидентов и оповещений.

Кроме того, SRE могут просматривать информационные панели в реальном времени, получать доступ к отчетам и просматривать аналитику для быстрого выявления проблем с производительностью. Для SRE и команд крайне важно постоянно следить за состоянием приложений и инфраструктуры, чтобы убедиться, что они понимают надежность, доступность и общую производительность своей инфраструктуры.

Простой, надежный и недорогой сервис BAILRY поможет контролировать доступность сайта. Важно чтобы сайт открывался в браузере посетителя!

Компания Mainton - разработка и тестирование программного обеспечения под заказ, DevOps и SRE, SEO и реклама в интернете с 2004 года.

ПЕНТЕСТ БЕЗОПАСНОСТЬ ВЗЛОМАЛИ? МОНИТОРИНГ ВАКАНСИИ