Споры вокруг 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)
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, разница только в том, что не получите сертификат о прохождении.
scruff
Заранее спасибо за платные книги. Сам бы их ну никак бы не нашёл.
telesis Автор
Поправлю на ссылки издательства, добавьте ваши ссылки в коментарии, буду благодарен!