Если вы узнаете, что Sre Это может быть интересно, как это относится к DevOps. Ну, давайте не будем бить вокруг куста. Там нет «против» — существует только другой подход к тому, как быстрее доставить лучшее программное обеспечение. В этом посте я сломаю каждый подход и покажу, где различаются DevOps и SRE. Вы заметите, что SRE имеет самоуверенный подход к тому, как запускать производственные системы, в то время как DevOps более широко фокусируется на людях, процессе и инструментах — в этом порядке.
Давайте начнем с постановки основания для того, что такое DevOps и SRE.
Что такое DevOps?
Я не собираюсь тратить слишком много времени на определения, но я буду использовать их на протяжении всего поста, чтобы отметить различия между DevOps и SRE. Из многих определений DevOps я предпочитаю это из Джин Ким :
DevOps — это набор Культурные нормы и Технологические практики Это [позволяет] быстрый поток запланированной работы, среди прочего, разработки, посредством тестов на операции, сохраняя при этом надежность, эксплуатацию и безопасность мирового класса. DevOps не о том, что вы делаете, но каковы ваши результаты.
Таким образом, DevOps — это в основном культурный сдвиг внутри организации, а не группа, человек или позиция. Что важно в DevOps, так это результаты на финише. «Что» и «как» из всего этого не важны. Вот почему модель DevOps Успокаивает Обрисовывает набор принципов, которые должна рассматриваться каждая инициатива DevOps, и начинается с культуры.
Теперь давайте продолжим с SRE.
Что такое SRE?
SRE означает «Инженерность надежности сайта», термин, придуманный Google. Несколько лет назад инженеры Google написали Книга Чтобы объяснить, как они работают и управляют своими системами в производстве. Затем они написали второй Книга На практических способах реализации SRE. Обе книги сейчас Доступно бесплатно Анкет
Определение Google SRE довольно просто:
SRE — это то, что происходит, когда вы просите инженера -программиста разработать операционную команду.
Таким образом, SRE являются операциями, которые люди с сильным опытом развития, и они применяют инженерные методы для решения общих проблем при запуске систем в производстве. SRES отвечает за предоставление систем доступными, устойчивыми, эффективными и соответствующими политики организации (например, управление изменениями).
Теперь давайте пойдем в детали того, где SRE отличается от DevOps.
Удаление силосов в организации
Движение DevOps было инициировано для устранения силоса между разработчиками и операторами. Разработчики хотят развернуть функции, которые они только что закодировали как можно скорее. Операции люди хотели бы замедлить развертывание для поддержания доступных систем. Как DevOps решает эту проблему? Помимо структуры успокаивания, есть также принципы от Три способа DevOps , которые стремятся Разбейте силосы между разработчиками и операторами . Справочник DevOps Лучше всего объясняет эти три способа DevOps и дает вам несколько идей для применения.
SRE также удаляет бункеры. Разница в том, что вместо того, чтобы найти только способы оптимизации потока между командами, SRES испачкает руки. Находясь там, где это действие дает SRES лучший контекст для поддержки систем в производстве. SRES интегрируется в команду в качестве консультантов, помогая разработчикам создать более надежные системы. Что наиболее важно здесь, так это то, что SRES Share Phollow работающих систем в производстве с разработчиками.
Измерение успешной реализации
Метрики DevOps фокусируются в основном на том, как быстро и часто происходит развертывание и как часто они ошибаются. Другими словами, согласно Отчет о Puppet and Dora (DevOps Research и оценка), ключевыми показателями в DevOps является количество развертываний, время заказа от кода, посвященное выпуска, количество развертываний не удалось, и сколько времени требуется для восстановления после неудачи. Петли обратной связи помогают DevOps постоянно улучшать качество систем, и они открывают дверь к экспериментам.
SRE также зависит от метрик для улучшения систем, но с точки зрения надежности. Основы для SRE — это Цель уровня обслуживания (SLO), индикатор уровня обслуживания (SLI) и Соглашение уровня обслуживания (SLA) Анкет Каждый из этих показателей покажет, насколько надежна система. SRES использует эти показатели, чтобы определить, будет ли выпуск для изменения системы перейти на производство или нет. В SRE скорость и качество являются продуктами надежных систем, а SRES фокусируется на этих типах метрик.
Пыхание практики CI/CD
DevOps является огромным сторонником автоматизации; Я бы сказал, что после культуры автоматизация является вторым по величине аспектам. В DevOps сообщение состоит в том, чтобы автоматизировать как можно больше и сделать релизы скучными. Многие виды деятельности происходят после того, как разработчик совершает Кодекс, и большинство из этих действий могут и должны быть автоматизированы. Например, вы можете автоматизировать использование процесса сборки приложения после интеграции работ всех в код в машину. Или вы можете автоматизировать процесс развертывания изменений приложений, которые являются или должны быть — так же каждый раз. DevOps преследует CI/CD, чтобы увеличить скорость и качество систем.
SRE преследует CI/CD по другой причине: снизить стоимость неудачи. Для SRES все утомительные и повторяющиеся задачи, которые распространены в операциях — такие как развертывание, перезапуск приложений или резервные копии — не являются привлекательными. По этой причине SRES оставляет за собой определенное количество времени (например, Google оставляет 50%) для сокращения операционной работы или труда. SRE использует те же методы от DevOps, таких как канарейские релизы, синие/зеленые развертывания и инфраструктура, как код. Но SRE делает это с целью делать другие более привлекательные вещи, такие как развитие архитектуры или реализация новых технологий.
Принимая неудачи
DevOps способствует безупречной культуре, потому что каждый раз, когда что -то идет не так, это возможность обучения. Признание того, что неудачи будут продолжать происходить, является первым шагом. Вместо того, чтобы приложить слишком много усилий в создание систем полностью устойчивыми к неисправности, культура DevOps находит способы переносить неисправность. Netflix является наиболее выдающимся защитником этой культуры, с ее Оминская армия. Netflix постоянно снижает часть своей системы, так что это просто обычный бизнес, когда возникает настоящая ошибка. Если набор серверов падает в зоне, Netflix автоматизирует процесс воссоздания серверов в другой зоне. И они постоянно практикуют это в производственной среде.
SRE практикует безупречную посмерти каждый раз, когда происходит сбой в системе. Идея безупречных посмертных средств состоит в том, чтобы определить, что вызвало ошибку, а затем найти способы избежать того, что такая же неудача снова происходит таким же образом. SRE также принимает неудачи, но они вкладывают номера — они называют это Бюджет ошибок Анкет После определения SLI, SLO и SLA SRE определяет, насколько провал приемлемо (бюджет), потому что дорогого можно быть на 100%. И в некоторых случаях это невозможно.
Следовательно, SRES определяет, как долго для системы будет приемлемо. Например, скажем, сайт может снижаться в течение 43 минут каждый месяц, что означает, что время безотказной работы составляет 99,9%. Если система снизилась больше, чем разрешенный бюджет в этом месяце, выпуски приостановлены до следующего месяца.
DevOps и SRE не конкурируют друг с другом
Мне очень нравится, как Google связывает SRE с DevOps, используя следующую фразу:
Класс SRE реализует интерфейс DevOps
SRE и DevOps не конкурируют друг с другом. SRE — это имя Google решило определить, как они делают DevOps до того, как был придуман термин DevOps. Существуют небольшие различия, но, как это происходит, когда класс реализует абстрактный класс, реализация может выбрать перезаписать или расширить базовую функциональность.
Я бы сказал, что основное отличие состоит в том, что DevOps — это культура, которая широко определяет способ ведения дел. Возможно, именно поэтому слишком много определений DevOps и много тематических исследований от компаний разных размеров и отраслей. Напротив, SRE имеет самоуверенный способ ведения дел, но это потому, что это родилось, когда Google опубликовал их объяснение того, как они управляют системами в производстве.
Мои два цента? Изучите каждое движение и выберите практику и принципы, которые сегодня работают для вашей организации. Завтра? Что ж, завтра все изменится, и вам может потребоваться принять новые принципы от DevOps и SRE.
Оригинал: «https://dev.to/scalyr/devops-vs-sre-4-important-differences-1fa2»