Application performance monitoring что это
Что такое мониторинг производительности приложений (APM)?
Мониторинг производительности приложений (Application Performance Monitoring, APM) решает задачи контроля, управления доступностью и непосредственно производительностью приложений. Разные специалисты могут трактовать это определение по-разному, поэтому попытаемся описать, что это за решение, из чего состоит и почему бывает важно для компании.
Как работает Application Performance Monitoring?
Корпоративные приложения меняются и становятся многоуровневыми, распределенными между разными серверами или даже континентами, переходя в облака. Поэтому такие сложные распределенные приложения требуют контроля, так как в некоторых компаниях являются основой бизнеса. Как и у любого мониторинга решения APM определяют базовую производительность и принимают это за норму. Далее любые отклонения от неё регистрируются и требуют принятия решения с целью определения причины отклонения в производительности. Таким образов в отличие от решений NPMD (Network Performance Monitoring and Diagnostics), предназначенных для анализа производительности ИТ-инфраструктуры, здесь фокус системы — приложение, ошибки в коде и их влияние на его производительность.
С помощью APM мы можем оценить:
После того как мы получаем показатели производительности из всех этих источников, решение APM должно интерпретировать для нас и провести корреляцию между ними для оценки влияния на бизнес транзакции. Это то самое место, где магия решений APM проявляется в полную силу.
Производители решений должны понимать на глубоком уровне поведение разных приложений, чтобы выдать вердикт — жив пациент или скорее мертв. Особенно это важно делать быстро, так как релизы приложений меняются довольно часто, а уровень программистов в группе прикладников бывает разный.
Таким образом, мы можем уточнить определение мониторинга производительности приложений APM – это система, которая выполняет:
Выводы
Итак, подведем итог, решение для мониторинга производительности приложений – необходимый инструмент, который позволяет понять поведение вашего приложения, обнаружить проблемы, прежде чем ваши пользователи подвергнутся негативному воздействию и, по возможности, быстро решить эти проблемы. С точки зрения бизнеса, решение APM важно, потому что оно уменьшает среднее время восстановления (MTTR). А это означает, что проблемы с производительностью решаются быстрее и эффективнее, что влияет на производительность работы сотрудников и репутацию компании.
Дополнительные материалы
Чем NPM отличается от APM?
Смотрите разбор реальных преимуществ NPM и APM в записи вебинара со специалистами IXIA.
Application performance management (APM) от Broadcom для мониторинга производительности приложений (включая мобильные)
Всем привет! В этой статье расскажем о возможностях мониторинга производительности приложений одного из лидеров квадранта Gartner c APM-решениями — Broadcom.
Appdynamics, Dynatrace и New Relic достаточно известны на российском рынке. Broadcom чуть менее знаком, этакая серая лошадка, однако, имеет не уступающий всем троим функционал мониторинга приложений. А использование APM-решения от Broadcom в комплексе с другим их продуктом, зонтичной AIOps-системой DX Operations Intelligence, позволит создать единое окно мониторинга для разнокалиберного ПО и инфраструктуры. Под катом текст и скриншоты.
Для мониторинга производительности приложений Broadcom поставляет два решения: DX APM и DX AXA. Первое работает с бэкэндом, второе с фронтэндом и мобильными приложениями.
DX APM
Архитектура DX APM
Основные особенности DX APM:
DX APM предоставляет различные варианты для визуализации данных:
Experience View. Представление данных с точки зрения оценки опыта конечных пользователей. Данные представлены в виде Experience Cards. Experience card предоставляет верхнеуровневый обзор здоровья для транзакций. Транзакции объединены в Experience Card по заданным атрибутам.
Так выглядит набор Experience Cards:
А так отдельная Experience Card:
Map View — транзакционная карта приложения. Слева направо отображает прохождение транзакций от конечного пользователя до сервера приложений, базы данных и т.д, в зависимости от архитектуры приложения. Карта строится автоматически после установки агентов на серверы приложений.
В DX APM есть возможность интеллектуальной группировки компонент приложения по атрибутам, что помогает упростить и адаптировать вид транзакционной карты приложений для каждой роли пользователей. Например, можно сделать специальное представление для ответственных за определённую часть приложения.
Если приложение микросервисное, DX APM распознает используемые технологии в рамках поддерживаемых и создаст соответствующую визуализацию.
Ещё одно важное преимущество решения от Broadcom — наличие универсального агента Universal Monitoring Agent (UMA) для различных технологий. UMA устанавливается единожды на кластер, где развернуто микросервисное приложение, далее агент сам отслеживает динамические изменения и ведет мониторинг как инфраструктурных компонент кластера (nodes, pods, containers) так и осуществляет технологический мониторинг приложений в части исполнения кода. С точки зрения автоматизации мониторинга — самое оно.
Расследование проблем DX APM
DX APM для ускорения поиска первопричины проблемы в снижении производительности использует в работе запатентованные технологии: Differential Analysis, Timeline View и Assisted Triage, Topology View/Layers. Во многих случаях упреждающие оповещения (на основе аномального поведения), генерируемые DX APM, позволяют избежать реальных проблем в будущем.
Assisted Triage сигнализирует о наличии проблем и аномалий в работе приложений и в автоматическом режиме предоставляет заключение о первоисточнике проблемы, тем самым обеспечивая root-cause analysis. Аномалии указывают на нестрандартное поведение в работе приложении, но при этом воздействия на опыт конечных пользователей еще нет. Так выглядит работа Assisted Triage
Для детального анализа оповещений, генерируемых Assistage Triage, и выявления проблемных компонентов в транзакционной цепочке по клику на оповещение можно перейти в центр расследований Analysis Notebook. Тут, на представлении в виде таймлайна можно увидеть процесс развития проблемы и возникновение параллельных событий.
Так выглядит сопоставление проблемных транзакций с компонентами приложения и инфраструктурой.
Функция Timeline позволяет быстро увидеть изменения в архитектуре приложения во времени в контексте проблем с производительностью, не покидая Map View. Особенно это эффективно при обновлении релиза приложения — позволит увидеть все проблемы разом.
При возникновения проблем в работе приложения, разработчикам будет интересно и полезно проанализировать транзакционные трейсы. DX APM предусматривает как функционал автоматической записи трейсов Smart Instrumentation, так и возможности запуска ручной трассировки. DX APM автоматически записывает трассировки транзакций при возникновении следующих событий:
Использование коммерческими решения открытых решений — заметный тренд последнего времени. DX APM поддерживает технологию OpenTracing. При этом решение получает данные о показателях и трассировках транзакций из приложений, оснащенных трассировщиками, совместимыми с OpenTracing. Как результат, можно видеть в UI DX APM целостную транзакционную цепочку (MAP) и сквозной транзакционный трейс. Это особенно актуально для распределённых микросервисных приложений.
Ещё одной важной функцией при расследовании проблем снижения производительности в работе приложения является анализ SQL-запросов к базам данных и мониторинг производительности баз данных. DX APM предоставляет такие возможности для наиболее популярных баз данных, таких как Oracle, MS SQL и некоторых других.
Business Payload Analyzer
Business Payload Analyzer (BPA) — это запатентованная функция сбора и анализа данных (Payload транзакций), которая помогает использовать бизнес-контекст для именования транзакций. На рисунке 23 представлено позиционирования BPA по отношению к AXA и APM. По сути, как и AXA (через Browser agent и мобильный SDK) BPA является поставщиком метаданных для APM и помогает в определении бизнес-транзакций.
Физически, BPA является плагином, который устанавливается на web-сервер приложения. Плагин собирает сырые http-данные (после дешифрования серверов https-трафика) каждого запроса и ответа и заливает их в DX APM для дальнейшей обработки и формирования бизнес-транзакций. В текущей версии DX APM 20.2 плагин BPA доступен для:
DX AXA
DX AXA (Application Experience Analytics) ориентирован на мониторинг взаимодействия пользователeй с фронтэндом через браузер или мобильное приложение на своём гаджете. Данные, собираемые AXA, могут быть использованы как разработчиками для оптимизации работы приложений, так и бизнес-аналитиками для формирования отчетности о доступности сервисов и планирования бизнес-KPI. Фокус AXA в задаче мониторинга опыта конечных пользователей представлен на рисунке ниже.
DX AXA получает данные по транзакциям пользователей мобильных приложений с помощью интеграции SDK в приложение. В список поддерживаемых платформ включены: Android, iOS, WatchOS. Стоит отметить, что процедура встраивания инструментария SDK в приложения Android очень проста, осуществляется в web-интерфейсе AXA в несколько кликов мыши и не требует привлечения разработчиков.
Также AXA покрывает мониторинг и web-транзакций пользователей с помощью Browser Agent. Browser agent — это snippet (скрипт), который встраивается в домашнюю страницу приложения, и при взимодейсвии пользователя с приложением собирает и отправляет метрики взаимодействия на сервер AXA для анализа. Таким образом, это не требует установки агента на рабочих станциях конечных пользователей. Browser agent имеет широкий спектр возможностей по кастомизации и сбору данных. При этом поддерживаются web-транзакции во всех популярных браузерах.
В список функций, предназначенных для разработчиков приложений входят:
1. Просмотр скриншотов и видео взаимодействия пользователя с приложением,
оптимизация приложений на основе анализа наиболее популярных действий пользователя в приложении.
2. Сегментация сбоев по платформе, устройству. Индикация и детальные данные по App Crashes, HTTP и JavaScript Errors.
3. Просмотр параметров производительности для каждой сессии пользователя.
4. Функция Resource Waterfall обеспечивает более глубокое понимание производительности веб-приложений, отображая подробную информацию о времени загрузки всех компонентов веб-сайта.
Фунционал по разработке отчетности и визуализации данных способен удовлетворить требования бизнеса по планированию доходов и оценке затрат на модернизацию приложений:
DX AXA имеет глубокую интеграцию с продуктом DX Application Performance Management (APM) для расследования проблем, не связанных с фунционированием фронтэнда. DX AXA при этом является дополнительным поставщиком данных для DX APM по транзакциям, совершаемым пользователями с помощью мобильных приложений.
Интеграция DX APM и DX AXA с DX Operational Intelligence
DX Operations Intelligence — это зонтичная система мониторинга, в которой реализованы функции Machine Learning и Artificial Intelligence (ML и AI) над поступающими в платформу данными. Одними из поставщиков таких данных (наравне с Zabbix, Prometheus и прочими) являются DX APM и DX AXA.
DX AXA и DX APM работают в составе платформы DX. Платформа DX устанавливается и работает под управлением кластеров Kubernetes или OpenShift. Установщик платформы DX — это консольное приложение, которое запускается пв докер-контейнере и поэтому имеет минимальные зависимости от операционной системы. Программа установки взаимодействует с кластером и выполняет все необходимые действия для создания готового к использованию экземпляра платформы DX. Установщик платформы DX также поддерживает развертывание с хоста, который не является частью кластера.
Используя установщик платформы DX, вы можете установить следующие компоненты:
Администрирование, масштабирование и обновление платформы DX выполняется в административной консоли. Консоль поддерживает мультитенантную архитектуру, которая позволяет использовать один экземпляр консоли для администрирования нескольких предприятий или нескольких бизнес-единиц в рамках предприятия. В этой модели каждое предприятие может быть настроено индивидуально как арендатор со своим собственным набором конфигураций.
Консоль администрирования — это веб-инструмент для управления операциями и системой, который предоставляет администраторам согласованный унифицированный интерфейс для выполнения следующих задач:
Broadcom безвозмездно предоставит в пользование продукт DX Operational Intelligence Foundation (DX OI) при приобретении лицензий DX APM. DX OI Foundation позволит реализовать фукнции Machine Learning над поступающими в платформу данными (логи, метрики, аварийные сообщения, топология) и оценить/спрогнозировать доступность сервисов на базе анализа поступающих данных. Кроме того, DX OI Foundation может стать единой точкой концентрации аварийных сообщений и интеграции с системой Service Desk.
К сведению: по сравнению с полной версией DX OI, версия Foundation имеет ограничения по времени хранения данных, также есть ограничения по функциям Predictive Insights, Capacity Analytics и интеграции со сторонними системами через Open RESTful APIs. Для снятия этих ограничений необходимо отдельно приобрести лицензии на решение DX OI.
Ну, и напоследок, важное замечание: все перечисленные в этой статье решения Broadcom можно использовать как on-premise так и в SaaS-формате.
Если у вас появились вопросы или вы хотите узнать больше об этом решении, оставьте заявку на демонстрацию или пилотный проект удобным для вас способом на нашем сайте.
В ближайшее время мы проведём вебинар по DX APM и DX AXA. Если вы хотели бы узнать подробнее об этих решениях, оставьте заявку и вам вышлем приглашение как только анонсируем вебинар.
Что такое APM или управление производительностью приложений и как это работает?
Современные программные приложения могут быть очень громоздкими. Независимо от того, создаете ли вы приложения для смартфонов, сервисно-ориентированное программное обеспечение или онлайн-видеоигры, на протяжении любого жизненного цикла разработки приложений вас обязательно затронут проблемы, связанные с большим количеством компонентов, из которых состоит архитектура вашей системы.
Сложность, которую необходимо учитывать – огромна. Она включает в себя многие компоненты от медленных сторонних CDN до конфликтующих API-соединений и требует того, чтобы разработчики, тестировщики и системные администраторы работали вместе более плавно и гибко, чем когда-либо прежде. Всего лишь одно слабое звено в цепочке может негативно сказаться на производительности вашего приложения, что мгновенно приведет к множеству недовольных конечных пользователей.
В условиях жесткой конкуренции, когда время между разработкой и развертыванием сокращается, а удержание клиентов имеет наибольшее значение, стоит сделать все возможное, чтобы обеспечить стабильную базовую производительность вашего программного обеспечения в режиме 24/7. Это особенно важно для веб-приложений, где ожидается стабильная скорость и безотказная работа.
Здесь на помощь приходит APM, или управление производительностью приложений.
Что такое APM?
Простыми словами, управление производительностью приложений – это контроль производительности, доступности и удобства использования программных приложений. APM отслеживает скорость, с которой транзакции выполняются как конечными пользователями, так и системами. Другими словами, APM отслеживает всю сетевую инфраструктуру, поддерживающую программное приложение, и обеспечивает полный обзор потенциальных узких мест и прерываний обслуживания.
Это обычно включает использование набора программных инструментов или одного интегрированного SaaS или локального инструмента – для просмотра и диагностики скорости, надежности и других показателей производительности приложения с целью поддержания оптимального уровня обслуживания. Нагрузочное тестирование, синтетический мониторинг и мониторинг реального пользователя, а также анализ первопричин – вот лишь некоторые из основных инструментов, которые можно найти в всестороннем подходе к APM. Еще одним важным компонентом APM является мониторинг веб-производительности (WPM) или использование инструментов веб-мониторинга для измерения скорости и времени безотказной работы приложения.
В конечном счете, APM – это аналитическая точка зрения, применяемая ко всем аспектам производительности программного обеспечения, чтобы четко понимать и постоянно улучшать работу конечных пользователей.
Также часто аббревиатура APM означает мониторинг производительности приложений и измерение производительности приложений. Определение APM как мониторинга производительности приложений подчеркивает техническую сущность APM, т. Е. Использования набора автоматических инструментов для непрерывного мониторинга производительности веб-сайта, приложения или системы.
Кому пригодится данное решение
APM надежен, удобен для пользователя и привлекателен: с его различными элементами, охватывающими весь спектр жизненного цикла приложения – на этапах от развертывания, производства и после развертывания. Он быстро становится одинаково полезным как для разработчиков, так и для тестирования, эксплуатации и бизнес-команд.
Разработчики, например, могут использовать популярные программные пакеты APM для более эффективного сотрудничества с операционными группами, управления качеством своей работы с помощью устранения неполадок на уровне кода и отслеживания прогресса проекта с помощью легко создаваемых отчетов.
Тестировщики могут использовать программное обеспечение APM для повышения точности тестирования, быстрого выявления узких мест в производительности и проведения нагрузочного тестирования компонентов приложений и API-интерфейсов, чтобы обеспечить стабильную производительность в условиях нагрузки.
DevOps может проводить синтетическое тестирование через Интернет, мобильные устройства, настольные компьютеры и API, обеспечивая качественный пользовательский интерфейс, обнаруживая проблемы с производительностью, прежде чем они попадут в систему.
И наконец, что не менее важно, руководители предприятий могут использовать решения APM для эффективного управления веб-транзакциями, одновременно защищая онлайн-доход от периодических сбоев в работе.
Таким образом, APM может дать разработчикам, тестировщикам, операторам и членам бизнес-команды гораздо более четкое представление о том, что произойдет, когда приложение будет окончательно запущено, при этом гарантируя, что проблемы надежности не застанут их врасплох.
Как работает APM?
Ничто не раздражает конечных пользователей больше, чем медленное время отклика. Возможно, медленная работа является более серьезной проблемой, чем простои и недоступность приложений. Исследования веб-сайтов электронной коммерции показывают, что замедление работы происходит в десять раз чаще, чем простои, и это совокупное замедление в два раза больше влияет на чистую прибыль интернет-магазина. Это означает, что обеспечение того, чтобы ваше приложение было запущено и работало, важно, но этого недостаточно.
По мнению исследовательской компании Gartner, полнофункциональный подход к управлению производительностью приложений должен включать некоторые вариации из этих пяти конкретных шагов:
Мониторинг взаимодействия с конечным пользователем – в качестве первого шага мониторинг взаимодействия с конечным пользователем может выявить проблему, поскольку она влияет на пользователя приложения.
Обнаружение, моделирование и отображение архитектуры приложения во время выполнения. На втором этапе будет сгенерирована и/или исследована архитектура приложения во время выполнения, чтобы установить потенциальный масштаб проблемы.
Профилирование пользовательских транзакций. На третьем этапе пользовательские транзакции будут изучаться по мере их прохождения через некоторое подмножество возможных путей, чтобы выяснить, какие узлы являются источниками проблемы, влияющей на конечных пользователей.
Глубокий мониторинг компонентов в контексте приложения – в качестве четвертого шага выполняется глубокий мониторинг узлов в контексте результатов трех предыдущих шагов.
Аналитика ИТ-операций – в качестве пятого и последнего шага используется аналитика: с одной стороны, для установления первопричины среди огромных объемов данных, генерируемых на первых четырех шагах, а с другой стороны, для лучшего предвидения и подготовки к проблемам с конечным пользователем, которые могут возникнуть в будущем.
В отчете Gartner делается вывод: «Таким образом, рынок APM – это рынок всех технологий и услуг, которые обеспечивают эти пять измерений функциональности».
Казалось бы, что реализовать требования, озвученные Gartner, относительно просто. Но на деле это далеко не так. Фрагментация подходов большинства организаций к APM означает, что найти решение, полностью охватывающее все пять шагов Gartner, непросто.
Многие компании собирают вместе несколько различных инструментов, часто созданных разными поставщиками, чтобы охватить свои базы мониторинга производительности, делая все возможное, чтобы ключевые функции APM не ускользнули из-под контроля.
Для того, чтобы не прибегать к таким хитростям, предлагаем вам ознакомиться с решением мониторинга от Dynatrace.
Dynatrace – лидер рынка APM
В мае 2020 года компания Gartner опубликовала свой отчет Magic Quadrant for Application Performance Monitoring (APM) 2020. Он назвал Dynatrace лидером рынка в нескольких областях десятый год подряд и в третий раз подряд признал его лучшим в категории «Полнота видения». Компания также получила наивысшие оценки в пяти из шести областей применения:
ESKA использует программное обеспечение для мониторинга производительности приложений Dynatrace для своих клиентов с 2016 года. Мы считаем его идеальным для обеспечения эффективного сквозного мониторинга ваших цифровых систем.
Dynatrace отслеживает ИТ-инфраструктуру и проверяет показатели и протоколы. Платформа также предлагает цифровой бизнес-анализ, мониторинг цифрового опыта и функции AIOps. Ядром платформы является AI-движок Davis™. Это активно обеспечивает точную реакцию на любые неисправности системы или аномалии производительности. Dynatrace автоматически определяет их приоритетность в зависимости от их влияния на бизнес-деятельность клиента и его заказчиков.
Сочетание мощной поддержки ИИ и высокой степени автоматизации позволяет ESKA улучшить цифровые каналы продаж своих клиентов. Это касается всего: от качества и времени отклика веб-сайта до автоматизации и эффективности процессов DevOps, а также улучшения и согласованности взаимодействия с пользователем. Вы можете использовать Dynatrace уже сейчас. Вместе с ESKA результаты и анализы могут быть оценены и применены в любое время.