Host Tracker sotto Windows Azure

Pubblicato: Artem Prysyazhnuk 2014-03-07 all articles | Glossary | FAQ

Chi si occupa attivamente di Web dovrebbe conoscere HostTracker, una società ucraina che dal 2004 supporta uno dei principali servizi di monitoraggio Web a livello globale. Il suo obiettivo è monitorare la salute e l'accessibilità dei siti in tempo quasi reale. Utilizzando un sistema di messaggi di allerta, HostTracker consente di ridurre i tempi di inattività, di migliorare la qualità del servizio per gli utenti, di localizzare rapidamente i problemi, ecc.

Architetturalmente, HostTracker comprende un hub basato su server, che funge sia da raccoglitore di dati che da centro di controllo, e una serie di agenti software, lanciati in varie regioni – tipicamente utilizzando le apparecchiature gestite dai principali provider, hoster e affiliati. L'architettura geograficamente distribuita garantisce un'affidabilità comune del sistema e consente inoltre di raccogliere dati in termini di velocità di accesso, larghezza di banda e altre caratteristiche chiave delle prestazioni a livello regionale; una caratteristica di fondamentale importanza per il business internazionale.

La prima versione di HostTracker, che è ancora funzionante e fornisce servizi a decine di migliaia di clienti, era basata su Linux. Oggi è supportato da nove server di controllo, situati e organizzati in due DPC secondo il principio della co-locazione, e da alcune decine di agenti. Considerando che l'obiettivo finale del monitoraggio web è incentrato sull'aumento del tempo di attività delle risorse web basate sui clienti – mentre il 95% dei clienti di HostTracker è riuscito ad aumentarlo fino al 99% – allora, le prestazioni e l'accessibilità del servizio stesso non sono solo critiche, ma piuttosto parametri fondamentali che influenzano l'intero business. In teoria, HostTracker dovrebbe dimostrare un'accessibilità vicina al 100%. Tuttavia, l'ampia crescita del servizio ha reso questo compito difficile da risolvere.

HostTracker si trovava ad affrontare un traffico di rete in costante aumento, un problema per il funzionamento continuo del servizio. L'impossibilità di aggiungere nuovi server di controllo al volo, le difficoltà di manutenzione di hardware non uniforme e di età multipla erano un altro fattore limitante. Inoltre, il desiderio di sviluppare il servizio attraverso un più ampio supporto di protocolli e servizi di rete incontrava alcuni ostacoli. “Purtroppo, per Linux c'era una scelta limitata di soluzioni e librerie pronte all'uso, mentre inventare qualcosa di completamente nuovo era difficile”, dice Artem Prisyazhnyuk, direttore di HostTracker. “Abbiamo avuto l'idea di rivedere lo stack di tecnologie che usavamo per uno più sofisticato e dopo aver dato un'occhiata più da vicino alla piattaforma .NET, al suo potenziale in termini di scalabilità e di supporto di rete, ho capito che era esattamente quello che stavamo cercando.”

Era certo che migrare a una piattaforma completamente diversa sarebbe stato un compito complesso; il progetto si è protratto per tre anni. Tuttavia, è stata una benedizione sotto mentite spoglie: in questo periodo, il mondo ha visto il cloud computing che è sembrato uno strumento ideale per risolvere sia il problema della scalabilità sia per mettere da parte la propria infrastruttura. Inoltre, il modello PaaS consentiva di eliminare gran parte dello sforzo in termini di amministrazione della soluzione e di controllare l'applicazione come entità autonoma, fino alla completa automazione, e quindi Windows Azure non aveva di fatto alternative.

Di conseguenza, la seconda versione di HostTracker, il cui funzionamento commerciale è iniziato nel maggio 2012, è già in funzione sotto Windows Azure. Il suo ingrediente centrale è realizzato come Web Role e associato a SQL Azure Database; fornisce un portale esterno, analisi e generazione di report, controllo delle applicazioni di monitoraggio. Queste ultime sono garantite da istanze di Worker Role, che utilizzano anch'esse SQL Azure Database per archiviare i dati e fornire la scalabilità del servizio in base al carico di rete. Gli agenti funzionano come prima, e si sta valutando la possibilità di trasferirli su Windows Azure. Ora, HostTracker utilizza i protocolli HTTP/HTTPS e ICMP per monitorare porte specifiche, compresi vari metodi (HEAD/POST/GET), ecc.

HostTracker instant check



La segnalazione degli allarmi è disponibile via e-mail, SMS e messaggi istantanei. Il cliente può ricevere rapporti con statistiche sulle risorse controllate e sulle loro prestazioni. Per effettuare le impostazioni di monitoraggio di cinque siti sono sufficienti 6 minuti, mentre il tempo medio di risposta in caso di guasto è limitato a un paio di minuti e occorrono 1-3 minuti in più per informare il cliente del problema. Utilizzando questo servizio, chiunque può controllare qualsiasi sito, compresi gli accessi da diverse regioni.

 Di conseguenza, se da un lato il passaggio alla piattaforma .NET ci ha dato la possibilità di modernizzare HostTracker, di ottimizzare l'architettura dell'applicazione e di realizzare nuove funzioni interne, dall'altro la migrazione al cloud ci ha permesso di rinunciare ad attività meno importanti, anche se dispendiose in termini di tempo, come l'amministrazione della soluzione, e, prima di tutto, di raggiungere gli indicatori di performance necessari. Microsoft, per tutti i servizi di base di Windows Azure, dichiara un'accessibilità del 99,9% e garantisce rimborsi mensili nel caso in cui questo indicatore sia inferiore. Questo crea un terreno solido per la gestione di servizi come HostTracker, poiché l'accessibilità è il parametro più critico per queste applicazioni. L'utilizzo dell'infrastruttura cloud fornisce anche una migliore protezione del servizio: l'accesso non autorizzato all'applicazione e molti tipi di attacchi sono efficacemente esclusi, mentre la sicurezza dei dati è garantita dalla tripla prenotazione.

HostTracker ha ottenuto un altro vantaggio dall'abbandono della propria infrastruttura. Anche le caratteristiche di performance del servizio sono piuttosto critiche, poiché influenzano direttamente il funzionamento del sistema di segnalazione dei guasti. Da questo punto di vista, Windows Azure è praticamente una fonte inesauribile di potenza di calcolo. Ciò significa che, avviando tempestivamente istanze di monitoraggio aggiuntive, è possibile supportare i parametri di funzionamento di HostTracker al livello necessario. Inoltre, l'ambiente cloud è esattamente ciò di cui avete bisogno per rendere questo processo quasi completamente automatico, escludendo la necessità di un controllo diretto.


Informazioni sull'autore

Artem Prysyazhnuk
CEO e fondatore di HostTracker LTD. È un imprenditore appassionato con un forte background tecnico in F#. Artem lavora nel settore dello sviluppo software da oltre 20 anni.
Loading...