Инжиниринг надежности сайта - Site reliability engineering

Инжиниринг надежности сайта (SRE) - это дисциплина, которая включает в себя аспекты программная инженерия и применяет их к инфраструктуре и операционным проблемам.[1] Основные цели - создать масштабируемый и очень надежный программные системы. По словам Бена Трейнора, основателя Google SRE - это то, что происходит, когда программисту поручено то, что раньше называлось операции."[2]

Роли

Инженер по надежности сайта (SRE) тратит до 50% своего времени на выполнение работы, связанной с операциями, например, на устранение неполадок, вызов по вызову и вмешательство вручную. Поскольку программного обеспечения Ожидается, что система, которую курирует SRE, будет в высокой степени автоматической и самовосстанавливающейся, SRE должны тратить остальные 50% своего времени на задачи разработки, такие как новые функции, масштабирование или автоматизация. Идеальный кандидат в инженеры по надежности сайта - это либо инженер-программист с хорошим опытом администрирования, либо высококвалифицированный системный администратор со знаниями кодирования и автоматизации.[3]

DevOps против SRE

DevOps, созданный примерно в 2008 году, представляет собой философию взаимопонимания между командами и бизнес-согласованности. Это также было связано с практикой, которая включает автоматизацию ручных задач, непрерывная интеграция и непрерывная доставка. SRE и DevOps придерживаются одних и тех же основополагающих принципов. SRE рассматривается многими (как цитируется в книге Google SRE) как «конкретная реализация DevOps с некоторыми идиосинкразический расширения ". SRE, сами будучи разработчиками, естественно, будут предлагать решения, которые помогут устранить барьеры между группами разработчиков и операционными группами.

DevOps определяет пять столпов успеха:

  1. Уменьшить организационную силосы
  2. Примите неудачу как нормальное явление
  3. Осуществлять постепенные изменения
  4. Используйте инструменты и автоматизацию
  5. Все измерить

SRE удовлетворяет основным принципам DevOps следующим образом:[4]

  1. Сократите организационную разрозненность
    • SRE разделяет собственность с разработчиками, чтобы создать общую ответственность[5]
    • SRE используют те же инструменты, что и разработчики, и наоборот.
  2. Примите неудачу как нормальное явление
  3. Осуществляйте постепенные изменения
    • SRE побуждает разработчиков и владельцев продуктов действовать быстро, снижая стоимость отказа[6]
  4. Используйте инструменты и автоматизацию
    • У SRE есть устав, позволяющий автоматизировать ручные задачи (так называемый «тяжелый труд»).[9]
  5. Все измерить
    • SRE определяет предписывающие способы измерения ценностей[10]
    • SRE считает, что работа систем - это проблема программного обеспечения.

Смотрите также

Рекомендации

  1. ^ Чем занимается инженер по надежности?
  2. ^ SRE следующие специалисты по данным?, TechCrunch, 2 марта 2016 г., Дональд Фишер
  3. ^ Джонс, Крис; Андервуд, Тодд; Нукала, Шиладжа (июнь 2015 г.). «Найм инженеров по надежности сайта» (PDF). ;авторизоваться:. Vol. 40 нет. 3. С. 35–39.CS1 maint: лишняя пунктуация (связь)
  4. ^ Google Cloud Platform (1 марта 2018 г.). «В чем разница между DevOps и SRE? (Класс SRE реализует DevOps)». С. 35–39 - через YouTube.
  5. ^ "Google - разработка надежности сайта". Landing.google.com.
  6. ^ а б "Google - разработка надежности сайта". Landing.google.com.
  7. ^ "Google - разработка надежности сайта". Landing.google.com.
  8. ^ "Google - разработка надежности сайта". Landing.google.com.
  9. ^ "Google - разработка надежности сайта". Landing.google.com.
  10. ^ "Google - разработка надежности сайта". Landing.google.com.

дальнейшее чтение

  • Разработка надежности сайта: как Google управляет производственными системами, O'Reilly Media, апрель 2016 г., Бетси Бейер, Крис Джонс, Дженнифер Петофф, Найл Ричард Мерфи, ISBN  978-1-491-92912-4
  • Практика администрирования облачных систем: проектирование и эксплуатация больших распределенных систем, Том 2, Томас Лимончелли, ISBN  032194318X
  • Google - Интервью с Беном Трейнором по проектированию надежности сайта