Microsoft Azure – одна из наиболее часто используемых платформ облачных вычислений. Она предлагает предложения “программное обеспечение как услуга” (SaaS), “инфраструктура как услуга” (IaaS) и “платформа как услуга” (PaaS). Следовательно, Azure часто используется для разработки и размещения веб-приложений, создания соединений между устройствами Интернета вещей (IoT) и интеграции искусственного интеллекта (ИИ) в ваши приложения.
Чтобы помочь вам понять производительность ваших рабочих нагрузок, Azure предоставляет доступ к множеству показателей, которые вы можете отслеживать и анализировать. Четкое понимание того, как эти показатели и базовые ресурсы связаны с производительностью вашего приложения, позволяет легче устранять проблемы с производительностью. Кроме того, эти показатели подчеркивают возможности оптимизации, позволяя повысить производительность вашего приложения и более эффективно использовать ресурсы облака.
В этой статье освещаются несколько ключевых показателей Azure, включая доступность, скорость отклика, пропускную способность сети, вычислительную мощность и другие. Давайте рассмотрим, как эти показатели связаны с производительностью приложений и лучшими практиками оптимизации ваших приложений.
Ключевые показатели Azure, за которыми нужно следить
Отслеживание следующих показателей позволяет поддерживать производительность, доступность и оперативность вашего приложения Azure.
Доступность
Доступность гарантирует, что время безотказной работы вашей облачной рабочей нагрузки будет постоянным 24 * 7 часов круглый год — первый и наиболее важный показатель в облачных системах. Крайне важно реализовать стратегию, которая поможет вам регулярно отслеживать отдельные службы, ресурсы и рабочую нагрузку в целом.
При вычислительных нагрузках необходимо отслеживать свои серверы, обеспечивая бесперебойную работу виртуальных машин (ВМ) в различных подсетях и группах ресурсов. Также важно следить за состоянием служб приложений и следить за тем, чтобы ваши API, серверные части и автоматизированные службы не испытывали простоев.
Службы хранения необходимы для облачных систем. Отслеживайте эти службы, чтобы убедиться, что они доступны и могут получать и распределять данные по другим службам Azure, включая интерфейсные пулы балансировщика нагрузки, веб-приложения и многое другое.
Кроме того, вы должны постоянно отслеживать сети и подсети Azure, которые соединяют различные службы и ресурсы внутри Azure. К ним относятся одноранговые узлы, ExpressRoute для подключения к локальным сетям, шлюзы приложений и балансировщики нагрузки.
Администраторы систем Azure должны обеспечивать постоянную работу этих сетевых компонентов в обязательном порядке. Когда ваши сети Azure находятся в отличном состоянии, вы можете быстро передавать данные внутри сетей и блокировать нежелательный доступ к сетевым компонентам.
Некоторые рекомендации по мониторингу доступности включают:
- Детализация – узнайте, что доступно, а не путем сбора данных из каждого отслеживаемого ресурса. Это поможет вам определить ресурсы, которые в настоящее время недоступны, и причину простоя. Затем вы сможете восстановить производительность своего приложения при возникновении простоев и проблем в рабочей среде.
- Настройка оповещений — они могут информировать вас, когда части системы становятся недоступными и приложение больше не работает должным образом для ваших конечных пользователей. Например, вы можете настроить специальные оповещения, когда виртуальная машина использует избыточный процессор.
Скорость отклика
Хотя доступность имеет решающее значение, производительность приложений также требует высокой скорости реагирования. Следовательно, показатель скорости отклика является вторым по значимости показателем для облачных сред. В нем описывается время, которое требуется вашим облачным компонентам и ресурсам Azure для ответа на запросы пользователей и системы, связанные с вычислениями, хранилищем и сетью.
- Вычисления — Вы должны знать, насколько быстро ваши виртуальные машины Azure и наборы масштабируемых виртуальных машин Azure (VMSS) могут реагировать на мощные приложения и размещенный на них код.
- Хранилище — Знание скорости доставки ресурсов вашего хранилища помогает определить, когда следует изменять уровни доступа в отношении доступности и задержки.
- Сеть — Быстрые сетевые подключения имеют решающее значение для передачи данных по вашим виртуальным сетям. Информация о скорости отклика вашей сети позволяет принимать решения о том, как подключать ресурсы и сетевые устройства для повышения скорости отклика.
Понимание скорости отклика помогает определить возможности оптимизации. Это позволяет вам обеспечить более быстрое и гибкое взаимодействие с вашими пользователями и командой.
Рекомендации по мониторингу частоты ответов и оптимизации вашего приложения включают:
- Изучите тенденции в отзывчивости отдельных ресурсов. Затем предпримите действенные шаги по повышению избыточности и добавлению дополнительных экземпляров в зоны или географические регионы в соответствии с требованиями приложений. Вы будете знать, с какими ресурсами работать, чтобы ускорить работу приложения для конечных пользователей.
- Настройте пороговое значение для оповещений, когда время отклика становится слишком медленным. Это информирует вас о вычислительной мощности или мощности сети, когда использование ресурсов достигает максимума и пользователям трудно загружать веб-страницы или использовать функциональные возможности приложений.
Сеть
Сеть Azure состоит из виртуальных сетей. Виртуальная сеть включает один или несколько диапазонов IP-адресов в рамках подписки Azure и определенного региона. Она не может охватывать области или подписки. Сетевое пространство IP-адресов включает подсети, в которых размещаются вычислительные, складские и другие ресурсы.
Вы можете легко подключать ресурсы внутри сети. Таблицы маршрутов IP-адресов, сетевые интерфейсы, группы сетевой безопасности и группы безопасности приложений могут подключать ресурсы внутри сети. Однако вы можете подключаться к другим виртуальным сетям, используя одноранговые узлы, виртуальные частные сети, ExpressRoute, конечные точки обслуживания, Azure Private Link, Azure Load Balancer и сетевые устройства.
Важные показатели для мониторинга в сетевых системах Azure включают:
- Доступность сети — общее время безотказной работы, когда сетевые службы и фоновые компоненты приложения доступны для предоставления контента и функций.
- Отзывчивость сети — насколько быстро сеть реагирует на полученные запросы данных и сообщений. Это, в свою очередь, дает представление о том, насколько быстро приложение получает данные и ответы от серверной части к пользователям.
- Пропускная способность сети — пропускная способность сети и количество данных, которыми обмениваются исходная и конечная точки назначения в сети. По сути, он информирует вас о данных запросов и ответов от приложения, перемещающихся по сети.
- Использование сети — Как приложение загружается и использует сетевое подключение.
- Пропускная способность сети — смогут ли текущие сетевые ресурсы выдержать нагрузку до достижения предельных значений. При достаточной пропускной способности сети приложение будет полностью работоспособным.
Рекомендации по мониторингу этих сетевых показателей и оптимизации ваших приложений включают:
- Настройка оповещений для получения уведомлений о проблемах в ваших сетях, например, когда задержка в сети превышает 500 мс.
- Углубляйтесь в проблемы, когда вы получаете оповещения или замечаете аномалию в своих сетевых ссылках. Проверяйте отдельные ссылки, чтобы выявить причину проблем и быстро устранить их.
Хранение
Службы хранилища Azure охватывают файлы Azure, отправляемые в очереди обмена сообщениями в очередях Azure, хранилища NoSQL в таблицах Azure, тома диска Azure, подключенные к вычислительным виртуальным машинам, и объекты Blob в больших двоичных объектах Azure. Эти решения для хранения и управления данными должны поддерживать 100% время безотказной работы, чтобы процессы обработки и хранения данных в облачной среде работали эффективно.
Отслеживайте следующие показатели, чтобы отслеживать использование вами служб хранения Azure:
- Доступность хранилища — количество настроенных служб хранения, доступных для хранения данных и доступа к ним. Недоступные ресурсы хранилища означают, что приложение не может хранить данные, собранные от пользователя и системы.
- Использование хранилища — отслеживает верхний и нижний пределы вашего использования за каждый раз, чтобы определить среднее использование служб хранения за каждый раз. Это гарантирует, что вы знаете, как ваше приложение использует решения для хранения данных, обеспечивая 100% безотказную работу и доступность для пользователей.
- Масштабируемость хранилища — отслеживает ответы хранилища для увеличения сбора данных и скорости запросов при одновременном обеспечении целостности транзакций. Возможность расширения в соответствии с потребностями приложений в хранилище означает, что ваши пользователи не будут сталкиваться с ошибками или сбоями, когда приложению необходимо хранить их данные.
Некоторые рекомендации по мониторингу хранилища и внедрению оптимизаций включают:
- Настройка оповещений о необычных действиях, таких как внезапное экспоненциальное увеличение потребления хранилища. Таким образом, вы будете получать уведомления, когда ваша система подвергается потенциальной атаке или наблюдается всплеск активности пользователей.
- Остановка и удаление незанятых ресурсов для освобождения ресурсов для других задач. Это экономит затраты и повышает производительность.
Производительность обработки
От того, насколько надежно работают ваши виртуальные машины, наборы масштабируемых виртуальных машин (AVMSS) и другие вычислительные службы, зависят ваши ИТ-операции в целом и качество обслуживания ваших пользователей. Вы должны постоянно отслеживать свои вычислительные экземпляры и серверы, чтобы обеспечить 100% безотказную работу.
Показатели для мониторинга вычислительной мощности включают:
- Доступность сервера — измеряет процент времени безотказной работы вашей виртуальной машины и вычислительных служб. 100%-ная безотказность – идеальный показатель доступности сервера, то есть все, что меньше 99%, требует улучшения.
- Емкость сервера — серверная и вычислительная мощность, используемая в определенный момент времени, и оставшаяся мощность от общего доступного размера. Снижение производительности процессора / памяти означает, что приложение начинает отставать в производительности.
- Загрузка сервера — измеряет процент доступной вычислительной мощности, используемой в определенный момент времени. Вы можете использовать этот показатель для определения тенденции производительности вашего приложения по тому, какую часть вычислительной мощности сервера оно использует.
- Отзывчивость сервера — это показатель скорости, с которой вычислительные службы и серверы отвечают на запросы от других служб внутри или за пределами сети, в которой они расположены. Этот показатель может помочь вам определить скорость сервера, от которой зависит производительность приложения.
- Масштабируемость сервера — этот показатель измеряет, насколько хорошо ваша вычислительная система расширяется с точки зрения скорости ввода-вывода, вычислительной мощности и объема памяти для удовлетворения растущего спроса на вычислительные мощности. Этот показатель показывает, как ваш сервер может справляться с возросшими требованиями к производительности приложений.
Рекомендации по мониторингу этих показателей и улучшению вашего приложения на основе этих показателей включают:
- Настройка сквозной видимости операций ваших вычислительных и обрабатывающих служб. Достаточный объем данных и наглядность позволяют легко устранять ошибки производительности, не оставляя камня на камне. Это также экономит время при решении проблем, вызывающих простои.
Мониторинг и отслеживание показателей Azure
Вам не нужно отслеживать показатели в Azure вручную. Вы можете внедрить инструменты для отслеживания этих показателей в вашей инфраструктуре Azure и получить более целостное представление о производительности вашей инфраструктуры и приложений.
Azure Monitor – это служба Azure для сбора данных показателей, журналов и трассировок. Она объединяет показатели в базу данных временных рядов и предоставляет инструмент Metrics Explorer для интерактивного анализа собранных данных показателей. Например, аналитические материалы Azure Monitor по приложениям, анализ контейнеров и анализ виртуальных машин помогают диагностировать проблемы с вашим приложением и подключением инфраструктуры.
Заключение
В этой статье рассматривается важность мониторинга в облачных средах Azure, показатели для мониторинга и то, как эти показатели напрямую отражают производительность вашей среды и приложения. Показатели обеспечивают наблюдаемость и дают представление о состоянии вашей облачной инфраструктуры Azure. При правильном отслеживании и анализе они помогают прогнозировать и предотвращать простои и отказ ресурсов.
Инструменты мониторинга, такие как Azure Monitor, упрощают и обеспечивают устойчивость отслеживания показателей. Этот анализ, основанный на искусственном интеллекте, поможет вам принять более правильные решения и предпринять действенные шаги, основанные на показателях, для повышения производительности вашего приложения.