Что такое проектирование надежности сайта (SRE)? Объяснение роли SRE

by moiseevrus

Исторически сложилось четкое разграничение между тем, чем занимаются системные администраторы (SysAdmins) и тем, за что отвечают разработчики приложений в ИТ-организациях. В последние годы, особенно в организациях, занимающихся разработкой программного обеспечения, эти миры объединились, поскольку ИТ-операторы и команды разработчиков перенимают методы DevOps. Концепция проектирования надежности сайта (SRE) была впервые представлена ​​в широко обсуждаемой книге под названием Site Reliability Engineering от Google .. Концепции SRE и то, что делает роль SRE, аналогичны роли системного администратора, но с некоторыми дополнительными навыками и опытом разработки. Независимо от того, обеспечивают ли они соответствие приложений и служб соглашениям об уровне обслуживания (SLA) в случае перебоев в работе оборудования или создают автоматизацию для автоматического масштабирования служб, SRE рассматривают операционные проблемы как возможности развития в своем рабочем процессе. Эта методология помогает повысить надежность системы и производительность как конечных пользователей, так и групп разработчиков. Как системный администратор, который перешел на роль архитектора, я был свидетелем этого изменения культуры своими глазами. У хороших системных администраторов всегда был набор сценариев оболочки, которыми они делились и модифицировали, чтобы помочь автоматизировать как можно больше операционных задач в своих производственных системах. Однако со временем

Что делает SRE?

Поскольку роль SRE сочетает в себе традиционную роль системного администратора с ролью разработчика, SRE не может писать целые приложения с нуля. Они с большей вероятностью автоматизируют задачи, используя скрипты bash, Python или любое количество других языков. Они также работают над повышением наблюдаемости в своей среде, встраивая наблюдаемость в свой стек приложений для измерения ключевых показателей. В рамках общих концепций проектирования надежности сайта вам необходимо измерить надежность системы, используя эти показатели с помощью индикаторов уровня обслуживания (SLI), таких как задержка, чтобы обеспечить соответствие заданному вами целевому уровню обслуживания (SLO).. При определении SLO вы указываете ключевые SLI, такие как задержка, частота ошибок и общая пропускная способность, чтобы иметь достижимую цель. В рамках вашего SLO вы также определяете бюджет времени простоя, который поможет определить архитектуру вашего приложения. Этот бюджет времени простоя является ключевой концепцией SRE — не ожидается, что все службы будут иметь 100% время безотказной работы. На самом деле зависимые сервисы должны быть устойчивыми, если другой сервис недоступен — это важный элемент архитектуры микросервисов. Например, если ваша служба поиска недоступна, остальная часть вашего веб-сайта или приложения должна работать нормально. Это время простоя, или бюджет ошибок, также связано с новыми функциями, которые SRE координирует с командой разработчиков. Предположим, что большая часть бюджета простоя израсходована за заданный период времени. В таком случае,

Роль SRE Обязанности

SRE обычно тратят не более 50% своего времени на операции. В Site Reliability Engineering несколько инженеров Google упоминают это число как ключ к тому, чтобы избежать тяжелого труда и разочаровать инженера. Остальные 50% их времени должны быть посвящены проектной работе, включая создание новых функций, улучшение масштабируемости системы и автоматизацию ручных задач, таких как оповещение приложений.. Если операции выходят из строя, этими службами должна заниматься команда разработчиков. Определение ответственности за определенные задачи может позволить SRE выполнять другие аспекты своей работы, такие как выполнение проверок после инцидента, планирование и оптимизация ротации по вызову и документирование знаний в модулях Runbook для совместного использования с другими инженерными группами. Эта практика также помогает избежать разрозненности инженерных групп и способствует более последовательному реагированию на инциденты.

SRE против DevOps

Хотя роль SRE заключается не только в разработке, SRE по-прежнему играют ключевую роль в процессах DevOps и могут аналогичным образом помочь организациям реализовать преимущества DevOps . Фактически, саму роль SRE можно рассматривать как физическую реализацию практики DevOps. Роль SRE в DevOps заключается в том, чтобы приложения и службы, используемые командой DevOps, были доступны конечным пользователям и приложениям, когда это необходимо. Несмотря на то, что SRE и DevOps во многом пересекаются — и их часто обсуждают вместе — это две разные дисциплины.

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

Преимущества внедрения практик SRE

Повышение надежности ваших приложений и поддержание времени безотказной работы — постоянная задача для многих организаций. Хотя поставщики облачных услуг, такие как AWS, могут помочь повысить надежность вашего оборудования, очень важно разрабатывать приложения, способные выдерживать временные сбои и оставаться надежными. Использование принципов SRE может помочь повысить надежность развертывания вашего программного обеспечения, сократить среднее время восстановления при возникновении ошибок и облегчить сотрудничество между командами. Устранение операционных проблем также позволяет вашим командам тратить больше времени на создание бизнес-ценности ваших приложений. Двумя ключевыми особенностями SRE являются стандартизация и автоматизация. Эти две функции работают вместе — если ваша среда сильно нестандартизирована, вам будет сложно создавать код автоматизации. Чем более стандартизирована ваша среда, тем проще становится автоматизировать задачи. Автоматизация этих задач значительно улучшает две вещи: инженеры тратят меньше времени на ручные задачи, а поскольку эти задачи автоматизированы, это снижает вероятность человеческой ошибки. Внедрение методов SRE может помочь повысить текущую и будущую надежность данной системы. Чтобы еще больше упростить SRE и другие ручные задачи, многие организации внедряют программное обеспечение для наблюдения, чтобы выйти за рамки простого мониторинга своей среды и автоматизировать аналитику, решение проблем и действия на основе междоменных исторических данных и данных в реальном времени. Узнайте больше о том, как Внедрение методов SRE может помочь повысить текущую и будущую надежность данной системы. Чтобы еще больше упростить SRE и другие ручные задачи, многие организации внедряют программное обеспечение для наблюдения, чтобы выйти за рамки простого мониторинга своей среды и автоматизировать аналитику, решение проблем и действия на основе междоменных исторических данных и данных в реальном времени. Узнайте больше о том, как Внедрение методов SRE может помочь повысить текущую и будущую надежность данной системы. Чтобы еще больше упростить SRE и другие ручные задачи, многие организации внедряют программное обеспечение для наблюдения, чтобы выйти за рамки простого мониторинга своей среды и автоматизировать аналитику, решение проблем и действия на основе междоменных исторических данных и данных в реальном времени. Узнайте больше о том, как SolarWinds® Hybrid Cloud Observability  может предоставить комплексное решение, помогающее улучшить видимость, производительность и продуктивность бизнеса. 

Статья является переводом сайта orangematter.solarwinds.com

You may also like

Leave a Comment