ћерион Ќетворкс

ћожете ли вы представить себе компанию, в которой никто бы не управл€л IT-инфраструктурой и операци€ми? —корее всего, нет. ¬от здесь и начинаетс€ SRE (обеспечение надежности информационных систем) и DevOps (автоматизаци€ сборки, настройки и развертывани€ ѕќ). ¬ последние годы оба этих направлени€ стали очень попул€рными в IT-среде, и их распространенность продолжает расти. Ќо все-таки, DevOps и SRE – это разные вещи или синонимы дл€ одного и того же? ƒанна€ стать€ поможет во всем разобратьс€.

SRE vs. DevOps

„то такое DevOps?

DevOps – это подход к разработке ѕќ.  лючевое отличие данной методологии заключаетс€ в том, что DevOps следует принципам Lean (бережливое производство) или Agile (гибкость). DevOps специализируетс€ на посто€нном развертывании ѕќ с частым выходом версий и автоматизированным подходом к разработке программ. DevOps-подход включает в себ€ набор норм и технологических приемов дл€ быстрого выполнени€ запланированной работы. ѕод запланированной работой мы подразумеваем все – от разработки до тестировани€ и эксплуатации. DevOps преследует следующие цели:

  • ускорение доставки продуктов на рынок;
  • сокращение жизненного цикла разработки ѕќ;
  • повышение отзывчивости к потребност€м рынка.

“ак что же такое DevOps? DevOps – это объединение отделов разработки и эксплуатации дл€ максимально быстрого и органичного развертывани€ кода. ƒанный подход основан на тесной коммуникации внутри команды в сочетании с высоким уровнем автоматизации. ѕо правилам DevOps команда, пишуща€ код, отвечает также и за его обслуживание при эксплуатации. »наче говор€, отделы разработки и эксплуатации, которые прин€то раздел€ть, должны работать сообща над улучшением версий ѕќ.

¬ чем преимущества DevOps?

¬о-первых, DevOps улучшает скорость доставки приложений. Ёто реализуетс€ за счет создани€ небольших изменений и частого выхода новых версий. “аким образом, компании могут выводить продукты на рынок чаще. ќбновлени€ и исправлени€ выполн€ютс€ быстрее и проще, а стабильность ѕќ возрастает. Ѕолее того, вносить небольшие изменени€ гораздо проще, и такую систему легко вернуть к предыдущей версии. ≈ще один плюс: возможности доставки ѕќ у таких объединенных команд более безопасные.

„то делает DevOps и как?

DevOps – это отличный способ дл€ создани€ культуры сотрудничества. ÷ентральное место занимает команда, котора€ вместе работает над развертыванием кода в промышленную среду и его дальнейшим обслуживанием. “о есть команда DevOps отвечает за написание кода, исправление ошибок и выполн€ет любые задачи, св€занные с этим кодом. ѕроцесс DevOps основан на 5 ключевых принципах:

  • ”странение обособленности. –оль команды DevOps заключаетс€ в том, чтобы аккумулировать знани€ со стороны разработки и эксплуатации. ѕоощр€етс€ коммуникаци€, что помогает лучше разобратьс€ в ситуации.
  • Ѕыстрое признание ошибок и прекращение. ¬ процессе DevOps определ€ютс€ методы минимизации риска, а одни и те же ошибки не делаютс€ дважды. — помощью автоматизированного тестировани€ команда ищет ошибки на ранних стади€х цикла выхода ѕќ.
  • ѕостепенное внесение изменений.  оманда DevOps не внедр€ет крупные изменени€ в рабочие версии, а регул€рно развертывает небольшие поэтапные доработки. Ёто позвол€ет лучше провер€ть изменени€ и устран€ть ошибки.
  • »спользование инструментов и автоматизации.  оманда создает конвейер развертывани€ с помощью инструментов автоматизации. “ем самым повышаетс€ скорость и точность разработки, а также сводитс€ к минимуму риск ошибок, допущенных человеком.  роме того, сокращаетс€ объем ручной работы.
  • »змерение всего. DevOps использует данные дл€ измерени€ результата всех предприн€тых действий. „аще всего дл€ оценки успеха используютс€ 4 главных метрики: врем€ внесени€ изменений, частота развертывани€, врем€ восстановлени€ и частота отказов.

ƒл€ эффективной работы команде DevOps необходимо использовать мощные инструменты.   ним относ€тс€: системы управлени€ верси€ми дл€ всего кода (GitHub, GitLab и т.д.), инструменты непрерывной интеграции (Jenkins, Spinnaker и т.д.), инструменты автоматизации развертывани€, инструменты автоматизации тестировани€ (Selenium и т.д.), а также инструменты управлени€ инцидентами (PagerDuty, Opsgenie и т.д.)


„то такое SRE?

 онцепци€ обеспечени€ надежности информационных систем (SRE - Site Reliability Engineering) по€вилась в 2003 году. »значально она задумывалась как система дл€ поддержки разработчиков, создающих крупномасштабные приложени€. ¬ наши дни SRE реализуетс€ опытной командой экспертов, котора€ умеет примен€ть методы проектировани€ при решении общих проблем, св€занных с запуском систем в промышленную эксплуатацию. SRE – это как бы системный инженер, который отвечает еще и за эксплуатацию. Ёто сочетание работ по системным операци€м с разработкой и проектированием ѕќ. ¬ зоне ответственности таких сотрудников находитс€ множество задач – от написани€ и создани€ кода до его доставки и поддержки в промышленной среде.

√лавна€ цель SRE – разработка сверхнадежных и быстро масштабируемых систем. –аньше проектировщиков ѕќ и сотрудников эксплуатационного отдела раздел€ли на 2 отдела с разными зонами ответственности. “акие отделы подходили к решению проблем с разных сторон. SRE выходит за рамки этого ограничени€. ѕринцип сотрудничества, лежащий в основе этой методологии, пришелс€ по душе многим компани€м.

¬ чем преимущества SRE?

SRE значительно улучшает период работоспособности. ќсновной приоритет – поддержание платформы или сервиса в рабочем состо€нии, несмотр€ ни на что. «адачами первостепенной важности €вл€ютс€: предотвращение аварий, минимизаци€ рисков, надежность и запас мощности. √лавна€ цель команды SRE – найти способы по предотвращению проблем, которые могли бы привести к простою. Ёто критически важно, особенно при сопровождении крупномасштабных систем. ≈ще одно преимущество SRE заключаетс€ в том, что данный подход помогает компани€м отойти от ручной работы в пользу автоматизации. “ем самым у разработчиков высвобождаетс€ больше времени на инновационные решени€. Ћюбые ошибки быстро и эффективно наход€тс€ и устран€ютс€.

„то делает SRE и как

–оль SRE в компании предельно проста и пон€тна: команда следит за тем, чтобы платформа или сервис были доступны клиентам в любой момент и в любых обсто€тельствах.

„ем занимаетс€ SRE?

  • SRE устран€ет разобщенность команд немного иначе, чем DevOps. ќна помогает разработчикам создавать более надежные системы, поскольку эти сотрудники занимаютс€ не только разработкой, но и эксплуатацией программ. —ледовательно, разработчики лучше понимают свои продукты и могут качественнее поддерживать системы в промышленной эксплуатации.
  • ƒл€ улучшени€ системы SRE использует определенные метрики. “ака€ оценка надежности систем €вл€етс€ решающим фактором, определ€ющим, попадет ли то или иное изменение в рабочую версию.  лючевые метрики SRE: SLO (цели уровн€ обслуживани€), SLA (соглашение об уровне обслуживани€) и SLI (количественна€ оценка работы сервиса).
  • SRE решает вопросы, св€занные с эскалацией запросов в поддержку.  роме того, эта система вс€чески побуждает людей вы€вл€ть и сообщать об инцидентах.
  •  оманда SRE определ€ет и провер€ет новый функционал с обновлени€ми, а также разрабатывает документацию по системе.

¬ своей работе команда SRE пользуетс€ такими системами, как Kubernetes (один из самых известных оркестраторов контейнеров), облачными платформами (Microsoft Azure, Amazon AWS и т.д.), инструментами планировани€ и управлени€ проектами (JIRA, Pivotal Tracker), а также системами контрол€ версий (GitHub и т.д.).


„ем отличаютс€ SRE и DevOps?

≈сли говорить абстрактно, что DevOps – это написание и развертывание кода, а SRE – это комплексный подход ко всему, поскольку при работе над системой команда пример€ет на себ€ роль конечного пользовател€.

ѕри работе над продуктом или приложение команда DevOps использует гибкий подход. ќни быстро и качественно создают, тестируют и развертывают приложени€.  оманда SRE регул€рно делитс€ с командой разработчиков обратной св€зью. »х цель – эффективно использовать данные по эксплуатации и проектированию ѕќ (в основном, за счет автоматизации операционных задач) и, тем самым, ускорить доставку приложени€. ¬ то же врем€ задача команды DevOps – сделать рабочие процессы более эффективными и автоматизированными.

÷ель SRE – создать слаженные операционные процессы с помощью методологий, которыми раньше пользовались только разработчики ѕќ. ќсновна€ задача SRE – сделать так, чтобы платформа или приложение были посто€нно доступны клиентам. ƒл€ этого оцениваютс€ потребности клиентов и анализируютс€ метрики SLA, SLI и SLO. DevOps делает акцент на процессе в целом, и результатом должно стать успешное развертывание ѕќ. Ќиже описаны дополнительные отличи€ между DevOps и SRE.

–оль команды разработчиков

DevOps объедин€ет навыки разработчиков и инженеров по эксплуатации ѕќ. SRE решает проблемы IT-операций с помощью инструментов и парадигмы разработчиков.

Ќавыки

 оманда DevOps работает преимущественно с кодом. ќни пишут код, тестируют его и выпускают в промышленную версию. »тогом их работы должна стать программа, котора€ поможет решить чью-то проблему.  роме того, они настраивают и запускают сборочный конвейер. SRE-подход немного шире.  оманда анализирует, почему что-то пошло не так. ќни делают все, чтобы та или ина€ проблема не повторилась.


„то общего в SRE и DevOps?

ћы разобрали отличи€ между DevOps и SRE, но есть ли в них что-то общее? ѕо правде говор€, SRE и DevOps между ними много общего, ведь оба подхода – это методологии, которые примен€ютс€ дл€ анализа промышленных версий и обеспечени€ того, чтобы управление эксплуатаци€ми работало как нужно. »х обща€ цель – получить качественный результат дл€ сложных распределенных систем. ќба направлени€ делают акцент на люд€х, которые работают как едина€ команда с общей зоной ответственности. DevOps и SRE вер€т в то, что поддерживать все в рабочем состо€нии – это задача каждого. ¬овлеченность в процесс должна быть общей – от написани€ первоначального кода до сборки приложени€, развертывани€ в промышленную версию и обслуживани€. ѕроектировщики DevOps и SRE пишут и оптимизируют код до того, как развертывать его в рабочей среде.

ѕодвод€ итог, можно сказать, что дл€ достижени€ общей цели нужно сочетать DevOps и SRE.


—кидки 50% в Merion Academy

¬ыбрать курс