Рубрики
Uncategorized

Как измерить метрики DevOps

Мы все время измеряем метрики в наших приложениях, чтобы убедиться, что производительность хороша, и что у нас нет проблем с количеством ресурсов, которые мы выделили. Вот почему нам нужно измерить метрики в DevOps. Как узнать, если ваша система в порядке, если вы не знаете, что означает «ОК»? Tagged с DevOps, WebDev, CICD.

Предполагается, что DevOps поможет оптимизировать процесс смены кода и привлечения их к производству для пользователей. Но что именно означает, что процесс будет «оптимизирован»? Один из способов ответить на это — начать измерять метрики.

Почему метрики важны для отслеживания

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

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

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

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

Выяснить, какие метрики важны для вас

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

Размышление о том, что вы должны измерить, может быть одной из самых сложных частей эффективности выбранных вами метрик. Когда вы рассматриваете показатели, посмотрите, каковы наиболее важные результаты вашего трубопровода.

Вам нужно ваше приложение, чтобы пройти через процесс как можно быстрее, независимо от ошибок? Можете ли вы выяснить, почему эта спорадическая проблема продолжает прекращать процесс развертывания? Что блокирует вас от уверенности в том, что вы внесете изменения в производство?

Вот как вы быстро найдете эти ключевые показатели. Работа за эксперименты и рассмотрение общих проблем развертывания покажут вам, что важно на раннем этапе. Это один из способов убедиться, что ваши метрики актуальны.

Инструменты мониторинга

Вот несколько инструментов мониторинга, которые вы можете использовать, чтобы получить представление о настройке вашего трубопровода.

Splunk Лось Прометей

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

Chaos Toolkit Хаосмонки Gremlin Free Кубе Обезьяна

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

Как это выглядит на практике

Например, мы будем использовать Chaos Toolkit для настройки эксперимента. Чтобы начать, сделайте новый файл и назовите его Эксперимент.json . Это содержит значения, которые нам необходимы для запуска эксперимента.

Мы определим заголовок и описание эксперимента, который мы хотим запустить. Затем мы определяем, как выглядит устойчивое состояние для службы. Это дает эксперименту что -то, чтобы сравнить результаты.

{
   "title": "Does our service tolerate the loss of its data file?",
   "description": "Our service reads data from a specific file, can it handle what happens if that file disappears?",
   "tags": [
       "tutorial",
       "filesystem"
   ],
  "steady-state-hypothesis": {
       "title": "The data file must exist",
       "probes": [
           {
               "type": "probe",
               "name": "service-is-unavailable",
               "tolerance": [200, 503],
               "provider": {
                   "type": "http",
                   "url": "http://localhost:3000/"
               }
           }
       ]
   },
  "method": [
       {
           "name": "move-data-file",
           "type": "action",
           "provider": {
               "type": "python",
               "module": "os",
               "func": "rename",
               "arguments": {
                   "src": "./data.dat",
                   "dst": "./data.dat.old"
               }
           }
       }
   ]
}

Чтобы узнать больше о деталях использования Chaos Toolkit, я бы посоветовал вам начать с их учебник . Это отличный способ найти и доказать, что ключевые показатели, о которых вы думаете, действительно эффективны для системы.

Другие соображения

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

Вывод

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

Убедитесь, что вы следите за мной на Twitter Потому что я все время публикую о таких вещах и других технических темах!

Если вам интересно, какой инструмент вы должны сначала проверить, попробуйте Продолжитие Для вашего конвейера CI/CD. Довольно легко встать и запустить, и отладить его еще проще, пока он работает вживую.

Оригинал: «https://dev.to/flippedcoding/how-to-measure-devops-metrics-1dfa»