Споры вокруг Site Reliability Engineering и DevOps подходов, обусловлены различиями компаний, команд, сервисов, объемов разработки, практик, инфраструктуры и культурного кода. На рынке IT, есть путаница, это правильно, можно по-разному практиковать DevOps и SRE, и разные инженерные команды могут выполнять эти роли. Тем не менее, существуют основые сходства и различия в подходах. Сейчас DevOps в тренде и будет пользоваться спросом ближайшие годы, SRE набирает популярность медленнее но все же актуален.

DevOps and Site Reliability Engineering

DevOps — набор методологий и практик, которые помогают автоматизировать и интегрировать процессы (убрать "стену") между командой разработчиков и командой, ответственной за эксплуатацию (operations) чтобы они (вместе) могли быстрее и надежнее собирать, тестировать и выпускать релизы (https://www.atlassian.com/devops, operations так же можно называть: SysAdmin, SysOps, Systems Engineer, в данной статье будет использоваться operations).

Кто может быть DevOps?

Инженер из разработки и инженер из operations. На данный момент, на рынке СНГ в DevOps приходят люди из operations чаще чем разработчики, возможно этот момент добавляет путаницы. С ростом сложности инфраструктуры, разработчик практически полностью перестает писать код сервисов, занимаясь только автоматизацией или CM (Terraform, Ansible, Python etc).

Site Reliability Engineering — это набор принципов и практик, который включает аспекты разработки программного обеспечения и применяет их к проблемам инфраструктуры и эксплуотации (operations) с помощью разработчиков. То что вы получаете, когда рассматриваете operations как программную проблему. (Benjamin Treynor Sloss - Vice President, Engineering - Google, founder of SRE: Google Site Reliability Engineering, Google Cloud Tech).

Кто может быть SRE?

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

Что отличает DevOps и SRE подходы?

DevOps возник как движение, SRE разрабатывался как внутренний подход Google для создания и обслуживания масштабируемых и высоконадежных систем. DevOps это широкий набор принципов совместной работы на протяжении всего жизненного цикла, между операциями и разработкой продукта. SRE это позиция.

  • Основные Метрики или Фокус: у DevOps это TTM (Time To Market), SRE - reliability (надежность или отказоустойчивость)

  • Ключевые практики

  • Зоны ответственности: DevOps отвечает за инфраструктуру и основные практики, в кросфункциональной команде Operations Engineer может отвечать за практики. SRE отвечает за отказоустойчивость "собственного" приложения и основные практики.

  • Основная специализация инженера: у DevOps это инфраcтруктура и автоматизация у SRE это разработка ПО.

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

Дополнительные, интересные, источники позволяющие глубже погрузиться в вопрос:

Официальная страница SRE от Google: https://sre.google/

Интересный курс по SRE от Google (можно смотреть бесплатно если выбрать кнопку "Audit" при старте курса): https://www.coursera.org/learn/developing-a-google-sre-culture

Книга "основателей" DevOps (на русском): https://www.mann-ivanov-ferber.ru/books/rukovodstvo-po-devops/

Книги "основателей" SRE (на русском): https://www.piter.com/collection/all/product/site-reliability-workbook-prakticheskoe-primenenie и https://www.piter.com/product_by_id/110769373 + бесплатные оригиналы: https://sre.google/books/

DevOps Vs. SRE: Competing Standards or Friends? (Cloud Next '19): https://www.youtube.com/watch?v=0UyrVqBoCAU&t=855s

Love DevOps? Wait until you meet SRE | Atlassian: https://www.atlassian.com/incident-management/devops/sre

Комментарии (6)


  1. scruff
    14.02.2022 09:01
    -1

    Заранее спасибо за платные книги. Сам бы их ну никак бы не нашёл.


    1. telesis Автор
      14.02.2022 12:42

      Поправлю на ссылки издательства, добавьте ваши ссылки в коментарии, буду благодарен!


  1. amarao
    14.02.2022 12:51
    +4

    Что-то вы главное не описываете. У SRE есть on-call, у devops'ов нет. Собственно, для меня это специализацию и определило. С годами on-call всё менее романтичный.


    1. Cloud66
      15.02.2022 00:26

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


  1. telesis Автор
    14.02.2022 13:05

    добавил интересный курс от Google Cloud инженеров "Developing a Google SRE Culture": https://www.coursera.org/learn/developing-a-google-sre-culture курс можно смотреть бесплатно если после нажатия "enroll" кликнуть по ссылке "Audit", кстати так можно делать с большинством курсов от coursera, разница только в том, что не получите сертификат о прохождении.


    1. sergikotikov
      16.02.2022 17:23
      +1

      Спасибо