Visitors have accessed this post 4382 times.

Чем HighLoad отличается от DevOps

0
1
4382
4 декабря 2020 11:59
Автор: Rebrain Me
HighLoad

Visitors have accessed this post 4382 times.

Если вы зайдете на hh и напишите в поисковой строке HighLoad или «высокие нагрузки», результаты поиска вас удивят. «Чистых» вакансий по высоким нагрузкам практически нет. Как правило, задачи HighLoad упоминаются в обязанностях DevOps-инженеров (правда, чаще это матерые спецы уровня Senior) или backend-разработчиков. Поэтому очень часто происходит смешение задач HighLoad и DevOps. Давайте разберемся, чем же HighLoad отличается от DevOps.

Возьмем DevOps-инженера Михаила. Он, со своей стороны, вроде бы обеспечивает необходимую часть для построения высоконагруженного приложения: автоматизирует процессы, настраивает мониторинг, следит за актуальностью версий и выкатками. Значит, он занимается еще и HighLoad? Нет, для HighLoad этого недостаточно. Высокие нагрузки требуют не только базовой автоматизации, но и отказоустойчивости, особенно в моменты пиковых наплывов пользователей.

Здесь самое время рассказать о концепции SRE (Site Reliability Engineering), которая была разработана Google еще в 2003 году. В ней Google осветил организацию рабочих процессов, которая позволяет обеспечить бесперебойную работу всех его грандиозных и очень высоконагруженных систем. Эти принципы и легли в основу HighLoad.

SRE идет бок о бок с DevOps и решает следующие задачи:

  • стандартизация,
  • достижение баланса между отказами и релизами,
  • снижение стоимости отказов,
  • автоматизация,
  • безотказность работы.

Как видно из перечисленных задач, по сути SRE продолжает идею DevOps, добавляя к отказу от оргбарьеров, принятию фэйлов, постепенным изменениям, автоматизации свои ценности. Поэтому HighLoad и DevOps имеют очень много общего. Однако SRE содержит методы и рекомендации, которые необязательно входят в DevOps и которые необязательно знать нашему DevOps-инженеру Михаилу. Но без которых не обойтись инженеру по высоким нагрузкам. Тут важно отметить, что все эти принципы и практики работают не каждый сам по себе, а как единое согласованное целое.

SRE решает проблему доступности высоконагруженной системы, измеряя ее показателями инженеров, менеджеров и клиентов. Поэтому в SRE введены такие метрики, как SLA, SLI и SLO.

  •  SLA (Service Level Agreement / Соглашение об уровне обслуживания) — те самые 99,99% (или 99,97%, или еще какие-либо). Показывает допустимое и вычислимое время простоя системы, а также оговаривает штрафы за несоблюдение уровня.
  • SLI (Service Level Indicator / Показатель уровня обслуживания) — это измеряемые показатели времени выполнения, пропускной способности, количества сбоев в моменте, здесь и сейчас.
  • SLO (Service Level Objective / Цель уровня обслуживания) — это целевое значение для разных SLI. Отличие от SLA в том, что SLO обозначает цель, а SLA говорит о том, что произойдет, если она не будет достигнута.

Говоря о Highload системах, мы обращаемся к SRE, чтобы иметь четкое понимание цифр и целей, с которыми ведется работа в нашей высоконагруженной системе.

Дак в чем же отличие?

Сегодня специалист по высоким нагрузкам – это человек, работающий с огромным стеком технологий и количественных показателей, умеющий формализованно оценить любую по масштабам систему. Он и архитектор, и инженер (в том числе — по DevOps), и местами разработчик. Но главное, объединяющее HighLoad и DevOps, – это стремление к постоянному развитию и улучшению. Это не конечная точка, а путь, требующий каждодневного изучения новых технологий и выбора лучших решений для вашей системы.

От редакции

Если вам интересно посещать бесплатные онлайн-мероприятия по DevOps, Kubernetes, Docker, GitlabCI и др. и задавать вопросы в режиме реального времени, подключайтесь к каналу DevOps by REBRAIN

*Анонсы мероприятий каждую неделю

Практикумы для специалистов по инфраструктуре и разработчиков — https://rebrainme.com.

Наш Youtube-канал — https://www.youtube.com/channel/UC6uIx64IFKMVmj12gKtSgBQ.

Агентство Fevlake, проектируем и поддерживаем IT-инфраструктуры с 2012 года — https://fevlake.com.

Комментарии (3)
Введено символов из возможных
Не отвечать
Денис Данилов

«Дак» в чем же отличие? — «Дык» или «Так» ?
Для меня SRE — frontend, а DevOps — backend.
SLI, SLO и SLA — это больше для менеджеров.

Вам также может понравится

Использование OpenSSL: хеши, цифровые подписи и многое другое
array(1) { [0]=> object(WP_Term)#11559 (16) { ["term_id"]=> int(7) ["name"]=> string(6) "DevOps" ["slug"]=> string(6) "devops" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(7) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(19) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(7) ["category_count"]=> int(19) ["category_description"]=> string(0) "" ["cat_name"]=> string(6) "DevOps" ["category_nicename"]=> string(6) "devops" ["category_parent"]=> int(0) } } DevOps

Перевод статьи - https://opensource.com/article/19/6/cryptography-basics-openssl-part-2

Детальный обзор шифрования в OpenSSL: хеши, цифровые подписи, цифровые сертификаты и многое другое

В первой статье из этой серии мы познакомились с хешами, шифрованием/дешифрованием, цифровыми подписями и сертификатами в библиотеках OpenSSL, утилитами...

4
0
18 сентября 2020
30 псевдонимов оболочки Bash в ОС Linux / Unix / Mac OS X
array(1) { [0]=> object(WP_Term)#976 (16) { ["term_id"]=> int(6) ["name"]=> string(5) "Linux" ["slug"]=> string(5) "linux" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(6) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(28) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(6) ["category_count"]=> int(28) ["category_description"]=> string(0) "" ["cat_name"]=> string(5) "Linux" ["category_nicename"]=> string(5) "linux" ["category_parent"]=> int(0) } } Linux

Оригинал статьи - https://www.cyberciti.biz/tips/bash-aliases-mac-centos-linux-unix.html

Псевдоним (он же алиас) bash - это ярлык для команд. Команда alias позволяет пользователю запускать любую команду или группу команд (включая параметры и имена файлов), вводя одно слово. Используйте команду alias, чтобы отобразить список всех определенных...

8
1
9 октября 2020
Работа с сетью в Docker
array(1) { [0]=> object(WP_Term)#11559 (16) { ["term_id"]=> int(8) ["name"]=> string(6) "Docker" ["slug"]=> string(6) "docker" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(8) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(8) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(8) ["category_count"]=> int(8) ["category_description"]=> string(0) "" ["cat_name"]=> string(6) "Docker" ["category_nicename"]=> string(6) "docker" ["category_parent"]=> int(0) } } Docker

В Docker, как правило, работа с сетью не представляет из себя больших сложностей - она неплохо работает и по умолчанию. Но, как и в подавляющем большинстве случаев, полезно понимать, как все устроено «под капотом».
Разбираемся с сетью в Docker
Для начала давайте посмотрим, как настроена сетевая модель Docker по умолчанию. То есть, когда вы...

14
0
6 ноября 2020