9

May

Windows Azure – VM Role Pt.1 – Motivazioni e struttura

Come in tutti i prodotti che escono dai laboratori di sviluppo negli ultimi anni, anche Azure ha subito drastiche modifiche in corso d’opera per andare d’accordo con le richieste degli utenti che, nel caso di Azure, si sono rivelati essere di tipologie più distribuite (Enterprise, PMI e Consumers). Per cui se all’inizio Azure doveva essere un PaaS per la piattaforma .NET, abbiamo poi visto che nel tempo si è deciso di ampliare il supporto alle applicazioni PHP (complice anche la forte compatibilità e potenza di IIS 7 con FastCGI), alle applicazioni Java e/o a quant’altro il sistema chiedesse. Ovviamente non tutti gli adattamenti sono eleganti come lo è la soluzione originale che permette di ottenere veramente applicazioni Cloud-Oriented da Visual Studio solo con un minimo di coscienza Web Farm durante lo sviluppo.

Poi, nell’era in cui su Amazon Web Services in 3 click creiamo un cluster di server accessibili e pienamente configurabili (in SSH o RDP), anche Microsoft doveva dare il suo contributo e, con un pò di fatica, è uscita la VM Role. Sostanzialmente la motivazione era semplice: avere più controllo e flessibilità sulla piattaforma Azure e permettere la migrazione di quelle applicazioni che, per esempio, necessitavano di pieno accesso alla macchina per poterne fare il deployment.

Può essere chiaro ai molti come questo approccio stia di fatto invalidando la logica Cloud che con tanta fatica Microsoft ha realizzato e ottimizzato. Infatti, quando si arriva al sistema operativo, si perde automaticamente tutto quello che con il PaaS ci veniva fornito a costo zero. Se ci occupiamo dell’OS, vanno generalmente gestiti i problemi legati agli update, alla disponibilità e alla configurazione (che non sempre può essere infallibile e sicura). Insomma, il maggiore controllo si paga con una minore standardizzazione delle risorse e minore automazione, as usual.

image

Il punto più complesso da capire è certamente il ciclo di vita di una VM Role che, sebbene non ci interessi sapere in confronto alla Web Role e alla Worker (di cui non ci interessiamo proprio), è un passo su cui fare molta attenzione. Nel prossimo post parlaremo di come configurare la VM Role e di come capire il suo ciclo di vita. Nel frattempo propongo qui sotto una serie di domande comuni che spesso nelle conferenze si fanno per capirci di più:

  • Windows Azure si prende carico di tutto?
    • No, nella VM Role il cliente si occupa della manutezione del SO e dello stato dell’applicazione.
  • Come viene tariffata?
    • Esattamente come il resto di Azure, dipendentemente dalla dimensione dell’istanza.
  • Il licensing di applicazioni terze?
    • Devono prevedere la forma assimilabile all’utilizzo in web farm.
by Roberto Freato on 5/9/2011
Post archive