IIS7: Microsoft Application Request Routing

Ancora un annuncio legato ad IIS7 dopo quelli fatti ieri.

E’ stata annuncia la disponibilità della Release Candidate di Application Request Routing (ARR).

Si tratta di un modulo di espansione di IIS7 che consente di fare routing basato su regole e load balancing di richieste HTTP.

Utilizzando ARR è possibile creare regole di routing che instradano le richieste HTTP in base a URL, header HTTP, variabili di server.

ARR deve essere installato su uno o più server IIS7 posti di fronte ai web server applicativi.

La differenza sostanziale con strumenti quali il Network Load Balance di Windows (o analoghi strumenti “in hardware”) è che in questo caso la decisione di routing viene spostata a livello applicativo. I due strumenti, NLB (e simili) e ARR possono essere associati.

E’ per esempio possibile costruire una regola che instradi tutte le richieste *.aspx verso un gruppo di server web e le richeste statiche (HTTP) o CGI verso un altro gruppo di server web o fare in modo che siano soddisfatte dal server ARR stesso.

ARR-1

ARR può anche essere usato per filtrare le richieste HTTP destinati alla web farm andando in questo modo ad incrementare la sicurezza dei reali server applicativi che non sono più esposti direttamente dietro il firewall.

Il modulo si integra in IIS Manager e da qui è possibile creare le regole di routing, l’affinità di server, le regole di load balancing.

 ARR

Dopo aver installato l’estensione ARR, è possibile definire delle server farm e in qualsiasi momento aggiungere o togliere server da queste per rispondere alla variazione dei carichi applicativi, senza per altro interrompere il servizio.

Le funzioni messe a disposizione da Application Request Routing sono:

  • Decisioni di routing basate su HTTP-based
    A differenza dei load balancer che prendono decisioni di routing a livello IP, ARR prende decisioni di routing a livello applicativo. E’ possibile associare ARR al modulo URL Rewrite per scrivere potenti regole di routing basate sull’header HTTP o variabili server
  • Algoritmi di bilanciamento dei carichi
    Sono disponibili sei diversi algoritmi di bilanciamento dei carichi che tra cui l’amministratore può scegliere per consentire ad ARR di determinare quale server della farm deve gestire una data richiesta
  • Health monitoring
    Sia il traffico live che specifici test ssu URL possono essere usati per determinare lo stato di funzionamento dei singoli server della farm.  Il significato di salute è definito da un insieme di parametri di configurazione.
  • Affinità con i client
    Usando un cookie, Application Request Routing può creare un’affinità tra uno specifico client e un server dei contenuti. In questo modo è possibile distinguere i client anche se posti dietro un NAT rendendo possibile trattarli in modo. E’ necessario che i client accettino i cookie per poter sfruttare questa funzionalità.
  • Host name affinity
    Questa funzione è specifica per le situazioni di shared hosting. Per maggiori informazioni su questa funzionalità potete consultare la guida Shared Hosting Deployment using Application Request Routing.
  • Gruppi multipli di server
    ARR può gestire gruppi multipli di server contemporaneamente. Ogni gruppo di server è un raggruppamento logico di server dei contenuti.
  • Gestione e monitoring da IIS Manager
    Tutti i parametri di configurazione e le statistiche aggregare di funzionamento di ARR sono visibili da IIS Manager.
  • Failed request tracing rules
    Tracce specifiche per il troubleshooting di ARR sono aggiunte al motore di tracing di IIS7.

 

 

A mio avviso si tratta di un modulo estremamente interessante che credo possa avere un’ampio utilizzo in molte realtà.

Per avere maggiori informazioni e documentazione:

Giorgio

Technorati Tags: Microsoft,IIS7,Internet Information Server 7