Используйте подход DevOps для постоянного тестирования и улучшения как самого приложения, так и внутренней и внешней сетей, в которых оно работает, пишет на портале The New Stack Майк Хикс, главный аналитик по решениям Cisco ThousandEyes.

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

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

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

Использование синтетического мониторинга для непрерывной оптимизации производительности приложений

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

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

Оптимизация приложений означает оптимизацию бизнеса

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

Для оптимизации работы приложений и управления всем набором внутренних взаимозависимостей, влияющих на производительность, требуется более продвинутый мониторинг. Но также и новый подход к самой работе. Какими бы хорошими ни были наши инструменты, они бесполезны, если мы их не используем. Хотя команды разработчиков приложений и сетевых инженеров традиционно работали изолированно, подход DevOps, направленный на постоянное тестирование и улучшение как самого приложения, так и внутренней и внешней сети, в которых оно работает, создает новые возможности для достижения более высоких уровней производительности. Поэтому вместо того чтобы указывать пальцем друг на друга в ситуационной комнате, мы можем начать сотрудничать ради приложения — и ради бизнеса.