SLO – цели уровня обслуживания

08.08.2023
Руководство по целям уровня обслуживания: мы расскажем как они работают и как помогают командам DevOps автоматизировать и создавать улучшенное программное обеспечение.

Содержание

По мере того, как организации внедряют архитектуру, основанную на микросервисах, целевые уровни обслуживания (SLO) стали жизненно важным способом для команд устанавливать конкретные, измеримые цели, которые обеспечивают получение пользователями согласованных уровней обслуживания. SLO вместе с показателями уровня обслуживания (SLI) обеспечивают результаты, обещанные в соглашениях об уровне обслуживания (SLA) и других целях на уровне бизнеса (BLO), оставаясь при этом в рамках бюджетов ошибок.

Но почему SLO и SLI стали настолько важными, как команды автоматизируют процессы для последовательного соблюдения SLA и error budget (бюджетов ошибок)? Чтобы лучше понять суть этих процессов, мы начнем с определений.

Что такое SLA, SLO, SLI и бюджеты ошибок?

SLO является частью структуры отслеживания уровней обслуживания, которая также включает в себя соглашения об уровне обслуживания (SLA), показатели уровня обслуживания (SLI) и бюджеты ошибок

Что такое SLA?

Соглашения об уровне обслуживания или соглашения об уровне обслуживания – это контракты, подписанные между поставщиком и клиентом, которые гарантируют определенный измеримый уровень обслуживания.

Они обычно составляются с описанием штрафов, если поставщик не предоставляет гарантированную услугу. Соглашение об уровне обслуживания обычно состоит из множества отдельных соглашений об уровне обслуживания, чтобы помочь формализовать детали обещанного. Например, соглашение об уровне обслуживания между поставщиком веб-хост-провайдера и клиентом может гарантировать 99,95% времени безотказной работы для всех веб-сервисов компании в течение года.

Что такое SLO?

SLO (цели уровня обслуживания) - это согласованная цель в рамках SLA, которая должна быть достигнута для каждого вида деятельности, функции и процесса, чтобы обеспечить наилучший результат для клиента. В общих чертах, целевые уровни обслуживания представляют собой описание производительности или состояние услуги.

Они могут включать в себя бизнес-метрики, такие как коэффициент конверсии, время безотказной работы и доступность; показатели обслуживания, такие как производительность приложений; или технические метрики, такие как зависимости от сторонних служб, базовый процессор и стоимость запуска службы. Например, если SLA для веб-сайта составляет 99,95% времени безотказной работы, его соответствующий SLO может составлять 99,95% доступности служб входа в систему. Организации обычно используют SLO в производственных средах, чтобы гарантировать, что выпущенный код остается в рамках бюджета ошибок.

Что такое бюджеты ошибок?

Бюджеты ошибок - это бюджет на определенную сумму в случае сбоя или технической задолженности в рамках целевого уровня обслуживания. Например, если ваш SLO гарантирует доступность веб-сайта на 99,5% в течение года, ваш бюджет на ошибки составляет 0,5%. Бюджеты ошибок позволяют командам разработчиков принимать обоснованные решения между разработкой и операциями и работой над существующим программного обеспечения. Правильно установленные и определенные SLO должны иметь бюджеты ошибок, которые дают разработчикам пространство для инноваций без влияния на операции.

Что такое SLI?

SLI предоставляют фактические показатели и измерения, которые указывают, соответствуете ли вы целевым уровня обслуживания. Большинство SLI измеряются в процентах, чтобы выразить уровень обслуживания. Например, если ваш SLO должен обеспечить доступность 99,5%, фактическое измерение может составлять 99,8%, что означает, что вы соблюдаете свои соглашения и у вас есть довольные клиенты. Чтобы получить представление о долгосрочных тенденциях, вы можете визуально представить SLI в гистограмме, которая показывает фактическую производительность в общем контексте ваших SLO.

Почему SLO важны?

Цели уровня обслуживания обеспечивают надежность процесса. Они помогают командам достичь следующего

  • Улучшить качество программного обеспечения Цели уровня обслуживания помогают командам определить приемлемый уровень простоя для службы или конкретной проблемы. SLO проливает свет на проблемы, которые не соответствуют полномасштабному инциденту, но также не полностью соответствуют ожиданиям. Достижение 100% надежности не всегда реалистично, поэтому использование SLO помогает понять баланс между инновациями (которые могут привести к простоям) и доставкой (гарантирующей, что пользователи будут довольны).
  • Помощь в принятии решений. SLO могут быть отличным способом для DevOps и инфраструктурных команд использования данных: теперь у них есть ожидания от производительности во момент выпуска новых решений.
  • Улучшить автоматизацию. Стабильные, хорошо откалиброванные SLO прокладывают путь командам для автоматизации большего количества процессов и тестирования на протяжении всего жизненного цикла доставки программного обеспечения (SDLC). С надежными SLO вы можете настроить автоматизацию для мониторинга и измерения SLI и устанавливать оповещения, если определенные индикаторы имеют тенденцию к нарушению. Эта согласованность позволяет командам калибровать производительность во время разработки и обнаруживать проблемы до фактического нарушения SLO.
  • Избегать простоев. Неизбежно, что программное обеспечение может сломаться. SLO позволяют командам DevOps прогнозировать проблемы до их возникновения и особенно до того, как они повлияют на клиентов. Переключив SLO производственного уровня в разработку, вы можете разрабатывать приложения уже соответствующее производственным SLO, чтобы повысить устойчивость и надежность задолго до фактического простоя.

Как работают цели уровня обслуживания

Программное обеспечение, вспомогательные инструменты и инфраструктура каждую секунду генерирует различные метрики и точки данных, которые указывают на состояние и производительность системы. Цели уровня обслуживания определяют или поддерживают набор бизнес-целей, которые вы можете измерить, используя данные и инструменты мониторинга и наблюдения.

Целью SLO является предоставление более надежных и отказоустойчивых услуг, которые соответствуют или превосходят ожиданиям пользователей. Надежность часто измеряется в девятках на пути к 100%. Например, целью доступности системы может быть:

  • 90% - одна 9
  • 99% - две девятки
  • 99,9% - три девятки
  • 99,99% - четыре 9
  • 99,999% - пять девяток

Каждая десятичная точка ближе к 100 обычно сопряжена с большей стоимостью и сложностью. Пользователям может потребоваться определенный уровень реагирования, после чего они больше не смогут обнаруживать разницу. Установка SLO - это отчасти наука и частично искусство, обеспечивающее баланс между статистическим совершенством и реалистичными целями.

Вы можете установить целевой уровень обслуживания на основе отдельных показателей, таких как пропускная способность пакета, задержка запроса и сбои в секунду. Вы также можете создавать SLO на основе совокупных показателей, например, индекса производительности приложений (Apdex), отраслевого стандарта, который измеряет удовлетворенность пользователей на основе различных показателей.

Сбор и анализ показателей с течением времени поможет вам определить общую эффективность ваших SLO, чтобы вы могли настроить их по мере созревания и улучшения ваших процессов. Эти тенденции также помогут вам скорректировать бизнес-цели и соглашения о соглашениях о соглашениях.

Лучшие практики SLO

Цели уровня обслуживания определяют уровень обслуживания в течение определенного периода времени на основе измерений SLI. Вот несколько лучших практик, которые помогут вам достичь целей, изложенных в ваших SLO.

Подход к постановке целей

  • Меньше значит больше. Важно определить SLO, которые поддерживают SLA или бизнес-цель. Определение слишком большого количества SLO, которые не поддерживают более широкую цель, означает дополнительную работу без каких-либо значимых результатов.
  • Не перебарщивайте и недовыставляйте цели SLO. Цель уровня обслуживания должна точно отражать состояние и производительность обслуживания. Если вы намеренно установите низкие цели SLO, чтобы избежать нарушений, вы не сможете принять обоснованные решения по продукту, потому что SLO не дадут точной картины того, как следует тратить ресурсы и время. Аналогичным образом, установление нереально высоких целевых показателей SLO увеличит стоимость и объем усилий, необходимых для очень минимальной постепенной прибыли

Работа с целями на практике

  • Будьте гибкими SLO нужно время от времени корректировать в соответствии с потребностями ваших команд и клиентов. Если команда растет быстрее, чем ваши процессы, пришло время скорректировать SLO. База пользователей, которая выросла в геометрической прогрессии, также может потребовать корректировки в соответствии с вашими целевыми показателями обслуживания.
  • Автоматизируйте оценку SLO. Панели управления и ручные листы сбора метрик замедляют процессы исправления и не дают анализа первопричин. Убедитесь, что ваше решение не только собирает соответствующие SLI и автоматически оценивает SLO, но и делает еще один шаг вперед, автоматически предупреждая вас до нарушения SLO и предоставляя весь контекст, необходимый для решения проблемы, прежде чем она станет проблемой.
  • Используйте SLO за пределами производства, в полном объеме SDLC. Использование целевых уровней обслуживания для производственных рабочих нагрузок - это всего только первый шаг. Чтобы по-настоящему воспользоваться преимуществами SLO, включите их в конвейер доставки в таких областях DevOps и SRE: автоматизация сине-зеленого или канареечного развертывания, откат или исправление, оценка качества программного обеспечения, тестирование хаоса, ChatOps и так далее.

Создавайте SLO и управляйте ими с помощью Dynatrace

Dynatrace упрощает создание и управление SLO с помощью готовых шаблонов SLO и руководства по настройке SLO с правильными метриками в сочетании с автоматической аналитикой на основе нейросети.

Начать тур
Пройдите интерактивный SLO тур от Dynatrace, чтобы узнать как создавать и отслеживать SLO, бюджеты ошибок и прогнозировать нарушения/проблемы до их возникновения, чтобы предотвратить сбои и простои.

Аналитика для банков
Бизнес-аналитика для банков

Сегодня мы разбираем чем может быть полезен бизнес-аналитикам и BizDevOps Dynatrace на примере банковского приложения

Анализ журналов
Управление и аналитика журналов

Сегодня мы рассмотрим, как можно использовать данные журналов, соединив их с трассировками и метриками для более эффективного управления приложением.

Цифровой опыт
Как улучшить цифровой опыт пользователей

Dynatrace помогает компаниям анализировать и улучшать цифровой опыт пользователей. Разбираем самые важные инструменты.

APM в Казахстане
Применение application performance monitoring в Казахстане

Бурный рост цифровизации в РК требует новых инструментов, которые помогают контролировать качество и работу digital продуктов. Показываем как применить APM инструменты в разных отраслях.

Бизнес процессы на основе APM
Как выйти на новый уровень бизнес-аналитки? Используйте application performance monitoring

Когда вы подключаетесь к APM-платформе вы начинаете смотреть на бизнес процессы не только с коммерческой, но и с ИТ стороны. Разбираем на примерах!

Автоматизация проверки выпуска
DevOps: почему нужно автоматизировать проверку выпуска?

Проверка выпуска стала важным инструментом в жизненном цикле разработки программного обеспечения. Сегодня мы расскажем о том, почему автоматизация необходима разработчикам.

Нейросеть Dynatrace
AIOps и application performance monitoring

Нейросеть и автоматизация могут радикально изменить управление ИТ-инфраструктурой, если применять их на протяжение всей цифровой цепи: от разработки до предоставления услуг.

Ошибка платежного шлюза
Как инструменты application performance monitoring помогают исправить ошибки платежного шлюза или ошибку при оплате

Рассказываем как избежать проблем с платежным шлюзом (=упущенной прибылью), используя бизнес-инструменты Dynatrace.

Автоматизация ПО
Что такое автоматизация программного обеспечения?

Автоматизация ПО – это основа цифровой трансформации. Компаниям сложно быстро расти, когда все время уходит на решение текучки. Именно автоматизация дает пространство для воображения за счет сокращения рутинных задач. Подробности о практике автоматизации читайте в нашей новой статье.

DevOps и SRE
Все о DevOps и SRE практиках

Все самые важные практики Development Operations (DevOps) и Site Reliability Engineering (SRE).

Dynatrace лидер
квадранта Gartner 2023
Магический квадрант Gartner Application Performance Monitoring and Observability 2023

Dynatrace вновь стал лидером и визионером в категории APM и Observability. Тенденции, определяющие рынок APM и Observability.

APM для бизнес анализа
Анализ бизнес-данных в режиме реального времени

Бизнес-команды часто завидуют наблюдению и визуализации ИТ данных, которыми пользуются операционные команды. Dynatrace восполяент этот пробел, связывая ИТ и бизнес данные.

Что такое APM?
Что такое application performance monitoring или мониторинг производительности приложений?

Мониторинг производительности приложений (APM) - это практика отслеживания ключевых показателей производительности приложений программного обеспечения с использованием программного обеспечения для мониторинга и телеметрических данных.

Observability = Наблюдаемость
Что такое observability или наблюдаемость?

Цель наблюдения — понять, что анализировать действия внутри среды и увидеть как работают технологии, чтобы комплексно следить за работой всей системы – предотвращать ошибки и делать ее более эффективной.

APM и Кибербезопасность
Dynatrace представляет Application Security

Application Security – это революционная технология в области кибербезопасности для APM решений

IT рынок Казахстана
Как поможет IT рынку Казахстана APM?

Пандемия ускорила цифровую трансформацию бизнеса. Взрывной рост digital продуктов увеличил потребность в IT сотрудниках на 72.4%. Однако, как показало время, найм дополнительных IT специалистов и инвестиции в решение локальных IT задач не гарантируют успех в конкурентной борьбе. Настало время APM-решений для Казахстана

Арм и наблюдаемость.
Арм и наблюдаемость.
Как Dynatrace изменил работу в Bank RBK

На примере банка разберем как работает платформа и поговорим с представителями RBK, которые использовали ее одними из первых на рынке.

Мониторинг VS Наблюдаемость
Наблюдаемость — новая ступень эволюции цифровых систем

Dynatrace провела в Алматы конференцию, посвященную интеллектуальной автоматизации IT и бизнес-процессов.

APM решения для Бизнеса и IT
Dynatrace — умный
мониторинг бизнес-сервисов

Как улучшить цифровой сервис и обеспечить его качественное внедрение в условиях огромного количества разрозненных решений?