Host-Tracker, служба мониторинга веб-сайтов, под Windows Azure

Опубликовано: Artem Prysyazhnuk 2014-03-07 все статьи | Глоссарий | ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

Те, кто активно работает с Сетью, должны знать HostTracker, компанию из Украины, которая с 2004 года поддерживает один из ведущих мировых сервисов веб-мониторинга. Его цель - мониторинг состояния сайта и его доступности в режиме, близком к реальному времени. Используя систему оповещений, HostTracker позволяет сократить время простоя, улучшить качество обслуживания пользователей, быстро локализовать неполадки и т.д.

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

Первая версия HostTracker, которая до сих пор функционирует и предоставляет услуги десяткам тысяч клиентов, была основана на Linux. Сегодня его поддерживают девять серверов управления, расположенных и организованных в двух ЦОДах по принципу collocation, и несколько десятков агентов. Учитывая, что конечная цель веб-мониторинга сосредоточена на увеличении времени безотказной работы клиентских веб-ресурсов - а 95% клиентов HostTracker смогли увеличить его до 99% - то производительность и доступность самой услуги являются не просто критическими, а скорее фундаментальными параметрами, влияющими на весь бизнес. Теоретически, HostTracker должен демонстрировать доступность, близкую к 100%. Однако интенсивный рост сервиса сделал эту задачу трудноразрешимой.

HostTracker сталкивался с постоянно растущим сетевым трафиком - проблемой для бесперебойной работы сервиса. Еще одним сдерживающим фактором была невозможность оперативного добавления новых серверов управления, сложности с обслуживанием неоднородного и разновозрастного оборудования. Кроме того, желание развивать сервис за счет более широкой поддержки протоколов и сетевых служб наталкивалось на определенные препятствия. "К сожалению, для Linux был ограничен выбор готовых решений и библиотек, а изобрести что-то совершенно новое было сложно", - говорит Артем Присяжнюк, директор HostTracker. "У нас возникла идея пересмотреть стек используемых нами технологий на более сложный, и после более пристального изучения платформы .NET, ее потенциала в плане масштабируемости и сетевой поддержки, я понял, что это именно то, что мы искали".

Было очевидно, что переход на совершенно другую платформу должен быть сложной задачей - проект растянулся на три года. Однако это было как замаскированное благословение: за это время мир увидел облачные вычисления, которые казались идеальным инструментом для решения как проблемы масштабируемости, так и отказа от всей собственной инфраструктуры. Кроме того, модель PaaS позволяла снять большую часть усилий по администрированию решения и управлять приложением как самостоятельной сущностью, вплоть до полной автоматизации, а значит, у Windows Azure фактически не было альтернатив.

В результате вторая версия HostTracker, коммерческая эксплуатация которой началась в мае 2012 года, уже функционирует под Windows Azure. Его центральная составляющая реализована в виде Web Role и связана с SQL Azure Database - она обеспечивает внешний портал, аналитику и формирование отчетов, управление приложениями мониторинга. Последние обеспечиваются экземплярами Worker Role, которые также используют SQL Azure Database для хранения своих данных и обеспечения масштабируемости сервиса в зависимости от загрузки сети. Агенты функционируют в прежнем режиме, рассматривается возможность их переноса в Windows Azure.
Сейчас HostTracker использует протоколы HTTP/HTTPS и ICMP для мониторинга определенных портов, включая различные методы (HEAD/POST/GET) и т.д.

HostTracker instant check



Отчеты о тревогах доступна через электронную почту, SMS и мгновенные сообщения. Клиент может получать отчеты со статистикой о контролируемых ресурсах и их производительности. На настройку параметров мониторинга для пяти сайтов можно потратить всего 6 минут, при этом среднее время реакции в случае сбоя ограничивается парой минут, а на информирование клиента о проблеме уходит еще 1-3 минуты. Используя этот сервис, любой желающий может проверить любой сайт, включая доступ из разных регионов.

 В итоге, если с одной стороны сам переход на платформу .NET дал нам потенциал для модернизации HostTracker, оптимизации архитектуры приложения и реализации новых внутренних функций, то, с другой стороны, миграция в облако позволила отказаться от менее важных, хотя и трудоемких действий, таких как администрирование решения, и, в первую очередь, достичь необходимых показателей производительности. Microsoft для всех основных сервисов Windows Azure декларирует доступность 99,9% и гарантирует ежемесячный возврат средств, если этот показатель окажется ниже. Это создает прочную основу для работы таких сервисов, как HostTracker, поскольку доступность является наиболее критичным параметром для этих приложений. Использование облачной инфраструктуры также обеспечивает лучшую защиту сервиса: несанкционированный доступ к приложению и многие виды атак фактически исключены, а безопасность данных обеспечивается тройным резервированием.

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

Тэги: product
Генеральный директор и основатель компании HostTracker. Он увлеченный предприниматель с сильным техническим образованием в области F#. Артем работает в индустрии разработки программного обеспечения уже более 20 лет.