IT Pro

Quali sono i vantaggi di lavorare in Cloud?

 

L'ambiente di lavoro può trarre consistenti benefici dalla virtualizzazione delle risorse. Questo è reso possibile dalla disponibilità di macchine virtuali. Una macchina virtuale è semplicemente un ambiente virtuale che emula in tutto e per tutto il comportamento di una macchina fisica mediante l’assegnazione a un'applicazione di risorse hardware (capacità di calcolo, spazio su disco, memoria di lavoro, connettività).

I benefici che derivano dal ricorso a macchine virtuali sono molteplici, alcuni sono immediatamente percepibili e facili da valorizzare, altri hanno a che fare con il Capex e l'Opex e sono di tipo indiretto.

Tra quelli immediatamente percepibili vi è il vantaggio che tramite un approccio basato su macchine virtuali è possibile la condivisione di risorse che altrimenti verrebbero sottoutilizzate. Per esempio, non è raro che server fisici vengano utilizzati al 10-20% delle loro potenzialità. Oppure si deve comprare un nuovo server fisico perché un'applicazione richiede un diverso sistema operativo.

Con la virtualizzazione, al contrario vi è la possibilità per gli utenti di usufruire di sistemi operativi separati che però girano sul medesimo hardware di base, avere il beneficio della separazione tra ambiente virtuale e infrastruttura sottostante, ma, in primis di poter facilmente e in modo automatico replicare lo stesso ambiente su macchine diverse allorquando si rende necessario far fronte a carichi supplementari di lavoro applicativo.

Virtualizza ambiente di lavoro sul cloud
Virtualizza ambiente di lavoro sul cloud

Virtualizzare il proprio IT vuol dire evolvere verso un modo di fruire delle infrastrutture e delle risorse IT in modo più moderno, flessibile ed economico ed è un passo che può essere realizzato con Microsoft Azure.

Le macchine virtuali di Azure rappresentano in essenza uno dei diversi tipi di risorse per il calcolo scalabili e fruibili on-demand offerte da Azure. Quale macchina virtuale adottare tra quelle disponibili dipende da come si desidera controllare l'ambiente di elaborazione in cui gireranno le applicazioni rispetto a quanto proposto da altri servizi di tipo PaaS (Platform as a Service).

Di base, rispetto a una soluzione on-premise, una macchina virtuale Azure fornisce la flessibilità di far girare i propri programmi senza che si debba fare investimenti up-front per acquistare apparati e investire in Opex per manutenere e gestire l’hardware fisico su cui è in esecuzione il software.

Inoltre, non ci si deve preoccupare dei necessari costi accessori (sistemi di raffreddamento, meccanismi di backup, sistemi di networking, consumo energetico, sostituzione dell’hardware in caso di guasti, cui vanno aggiunti i costi amministrativi per la gestione di ordini e fatture).

Poiché si tratta di un servizio IaaS (Infrastructure as a Service), è comunque necessario gestire la macchina virtuale, il che vuol dire occuparsi della configurazione, dell’aggiornamento e della manutenzione del sistema operativo e di qualsiasi altro software in esecuzione sulla macchina virtuale.

Cosa prevede una macchina virtuale Azure

Come si verifica per qualsiasi macchina virtuale, anche quelle su Microsoft Azure dispongono di un sistema operativo. Su questo, l'utente può installare un’immagine personalizzata selezionata tra quelle preconfigurate messe a disposizione da Microsoft, da partner Microsoft o dalla community.

Per esempio, oltre a numerose versioni e configurazioni di Windows Server (che possono includere anche “pacchetti” preinstallati quali Visual Studio, Sharepoint Server, BizTalk Server, e SQL Server), è anche possibile installare sistemi operativi come RedHat, Ubuntu, Debian, CentOS, SUSE Linux Enterprise Server e openSUSE, CoreOS, Oracle Linux e FreeBSD.

Il supporto da parte del cloud Microsoft di sistemi operativi basati su Linux ha reso possibile l’utilizzo di Azure anche alle aziende che hanno investito su applicazioni appositamente sviluppate per queste piattaforme, o i cui team IT hanno competenze specifiche su questi ambienti e sui relativi strumenti di sviluppo. In ogni caso, oltre al sistema operativo, le configurazioni selezionabili includono, fra le altre cose:

  • Dimensione e caratteristiche della macchina virtuale: determina aspetti quali il numero e il tipo di dischi (con la possibilità di specificare dischi a stato solido come Archiviazione Premium), RAM e potenza di calcolo.
  • Località: l’area geografica in cui verrà ospitata la nuova macchina virtuale, per esempio Stati Uniti, Europa o Asia. Permette di rispondere alla normativa sulla residenza fisica dei dati.
  • Estensioni VM: conferiscono alla macchina virtuale funzionalità aggiuntive, tra cui l’esecuzione di un antivirus o l’uso della funzionalità DSC (Desired State Configuration) di Windows PowerShell.

Una volta create, le macchine virtuali possono essere gestite dal portale di Microsoft Azure, tramite strumenti con riga di comando con il supporto per gli script (Azure PowerShell o Azure CLI) oppure direttamente mediante API REST.

Il modello di prezzi delle macchine virtuali, in aderenza ai principi del Cloud, è basato su un costo orario variabile in base alla dimensione e al sistema operativo della macchina virtuale. I costi di archiviazione vengono determinati e addebitati separatamente.

Gli scenari di utilizzo

Le macchine virtuali di Microsoft Azure possono essere utilizzate in svariati scenari:

  • Ambienti di sviluppo e test: consentono di creare rapidamente ambienti di esecuzione con le caratteristiche specifiche necessarie per sviluppare e testare un’applicazione.
  • Esecuzione di applicazioni nel cloud: permette di far fronte a picchi elevati nel carico di lavoro. L’esecuzione di un’applicazione su macchine virtuali in Azure consente di pagare le macchine virtuali aggiuntive solo quando sono necessarie e di arrestarle al termine del picco nella domanda.
  • Ampliamento di un data center locale nel cloud pubblico: è possibile creare una rete virtuale come estensione della rete locale e aggiungervi macchine virtuali. Diventa quindi possibile eseguire applicazioni quali SharePoint, SQL Server e altre in una macchina virtuale di Azure.

Va osservato che vi sono due tipi di eventi che possono avere un impatto sulla macchina virtuale selezionata:

  • Eventi di manutenzione programmati per migliorare la performance, l’affidabilità e la sicurezza della piattaforma.
  • Eventi non previsti, come improvvisi guasti hardware della macchina fisica su cui è in esecuzione la macchina virtuale.

Generalmente l’aggiornamento o la manutenzione dell’infrastruttura non hanno alcuna conseguenza sulla disponibilità della macchina virtuale, anche se talvolta potrebbe rendersi necessario riavviare la macchina. Nel caso invece in cui si verifichino problemi hardware sul server fisico su cui è in esecuzione la macchina virtuale, Azure provvede automaticamente a spostare la macchina virtuale su un nuovo server fisico integro e a riavviare la macchina.

Entrambi questi tipi di eventi possono comportare una temporanea indisponibilità della macchina virtuale. È però possibile garantirsi la protezione di dati e applicazioni ricorrendo ai servizi di backup e di disaster recovery di Azure.

Reti virtuali e connessioni cross-premise

Un'applicazione viene acceduta e fruita da entità e fa riferimento a risorse che sono identificate in rete da un proprio indirizzo. Una rete virtuale di Azure (VNet) rappresenta in tal senso un isolamento logico delle risorse cloud all’interno di una specifica sottoscrizione. All’interno di una rete virtuale di Azure, è possibile controllare i blocchi di indirizzi IP, le impostazioni DNS, i criteri di sicurezza e le tabelle di routing. È anche possibile segmentare la rete virtuale in subnet qualora si desideri procedere con una maggiore organizzazione e avere più sicurezza, nonché avviare macchine virtuali di Azure (IaaS) e/o Servizi cloud (PaaS). Svariati i benefici che derivano da queste possibilità:

  • Isolamento: Le reti virtuali sono isolate una dall’altra. In questo modo è possibile creare reti non contigue per la distribuzione, il test e la produzione che usano gli stessi blocchi di indirizzi.
  • Accesso a Internet pubblico: tutte le macchine virtuali e le istanze dei Servizi cloud all’interno di una rete virtuale possono accedere a Internet. È possibile controllare l’accesso usando gruppi di sicurezza di rete.
  • Accesso all’interno della rete virtuale: macchine virtuali e istanze dei Servizi cloud possono essere avviate nella stessa rete virtuale e possono connettersi tra loro usando indirizzi IP privati, anche se sono in subnet diverse, senza che sia necessario configurare un gateway o usare indirizzi IP pubblici.
  • Risoluzione dei nomi: Microsoft Azure offre una risoluzione dei nomi interna per i servizi distribuiti nella propria rete virtuale. È possibile anche utilizzare i propri server DNS e configurare la rete virtuale per usarli.
  • Sicurezza: il traffico in entrata e in uscita in una rete virtuale può essere controllato tramite i gruppi di sicurezza di rete.
    reti virtuali su Azure
    reti virtuali su Azure

Una volta creata una rete virtuale, è possibile connetterla alla propria infrastruttura on-premise tramite una connessione VPN punto a sito, da sito a sito, oppure tramite una connessione ExpressRoute. In pratica è possibile espandere la propria rete on-premise su Azure mantenendo il controllo totale sui blocchi di indirizzi IP e con i vantaggi di una piattaforma cloud. Vediamo in cosa si differenziano le diverse VPN:

  • Una VPN da punto a sito consente di creare una connessione protetta alla rete virtuale senza la necessità di un dispositivo VPN. Le connessioni Point-to-site non richiedono un dispositivo VPN, ma è necessario un client VPN installato in ogni computer client e la VPN deve essere stabilita avviando manualmente la connessione dal computer client locale.
  • Una VPN da sito a sito consente di creare una connessione protetta tra il sito locale e la rete virtuale. Una volta creata la connessione, le risorse nella rete locale e le risorse che si trovano nella rete virtuale possono comunicare direttamente e in modo sicuro.
  • Il servizio ExpressRoute permette di creare connessioni private tra i data center di Azure e l’infrastruttura locale o in un ambiente con percorso condiviso. Le connessioni ExpressRoute non sfruttano la rete Internet pubblica e offrono un livello di sicurezza superiore, maggiore affidabilità, velocità più elevate e minori latenze rispetto alle connessioni Internet tradizionali.

Connettere applicazioni su Azure con risorse on-premise

Il servizio di Connessioni Ibride, incluso nei Servizi BizTalk di Azure, permette di connettere in modo sicuro risorse TCP/IP (come SQL Server, MySQL, Oracle o un web service) situate sulla propria rete locale protette da firewall con applicazioni web e per dispositivi mobili ospitate sul cloud (sono i servizi App Web e App per dispositivi mobili di Azure).

Connessioni ibride è un servizio che si basa su un modello di autorizzazione basato sulla firma di accesso condiviso (Shared Access Signature, o SAS) per proteggere le connessioni tra le applicazioni sul cloud e le risorse locali. L’autorizzazione di un’applicazione è separata da quella della connessione ibrida. Tra i benefici del servizio di Connessioni ibride va annoverato:

  • Applicazioni web per dispositivi mobili su Azure possono accedere ai dati e ai servizi locali esistenti in modo sicuro.
  • È possibile connettere qualsiasi risorsa locale che usi una porta TCP statica.
  • È possibile usare la funzionalità con tutti i framework supportati dai servizi App Web (.NET, PHP, Java, Python, Node.js) e App per dispositivi mobili (Node.js, .NET).
  • App Web e App per dispositivi mobili possono accedere alle risorse locali come se si trovassero nella rete locale.

Non ultimo come importanza, la funzionalità Connessioni ibride dà agli amministratori dell’organizzazione controllo e visibilità sulle risorse aziendali a cui accedono le applicazioni ibride, e la possibilità di decidere a quali risorse le connessioni ibride possono accedere.