Come scegliere la Region di Azure dove mettere i nostri dati?

Quando si utilizza Azure per implementare un servizio una delle prime scelte che occorre fare è la scelta della Region da utilizzare. Ad oggi vi sono bene 52 Region, come è possibile vedere nel seguente Azure global infrastructure – Azure regions, ma non tutte hanno le stesse caratteristiche, il che significa che la valutazione va fatta in base a quale servizio si vuole implementare e dove questo servizio dovrà essere disponibile. Di seguito gli step da seguire per arrivare a definire quale (o quali Region) utilizzare ipotizzando di voler erogare un servizio tramite Azure che sarà fruito sul territorio italiano.

Passo 1: Determinare dove i dati saranno mantenuti

Premesso che in Azure i dati sono trattati solo per fornire i servizi concordati (senza estrai per marketing o pubblicità) e quando il servizio viene dismesso Microsoft segue standard rigorosi e processi specifici per la rimozione dei dati dai propri sistemi, se è necessario conservare i propri dati in una specifica posizione geografica, come all’interno dell’UE, è possibile fare rifermento al seguente link Microsoft Azure — Where is my customer data? per identificare la posizione dei datacenter.

In particolare per quel che concerne l’Europa facendo riferimento a quanto riportato nel seguente Azure global infrastructure – Azure locations sono al momento disponibili le seguenti:

Region Location
North Europe Ireland
West Europe Netherlands
France Central Paris
France South Marseille
UK West Cardiff
UK South London
Germany Central Frankfurt
Germany Northeast Magdeburg

Si noti comunque che, indipendentemente da dove vengono archiviati i dati dei clienti, Microsoft non controlla né limita i luoghi dai quali i clienti o i loro utenti finali possono accedere ai propri dati.

Per maggiori informazioni si vedano anche i seguenti:

Passo 2: Determinare la latenza della Region

Dal momento che ogni Region si trova in una posizione geografica diversa, ovviamente ciascuna di esse presenterà una latenza diversa a seconda della posizione geografica da cui si accede. Per avere un valore indicativo della latenza verso le varie Region di Azure dalla propria posizione geografica è possibile utilizzare i seguenti siti, ma va precisato che tali siti non sono aggiornati con tutti i data center e che la misura della latenza è ricavata sulla base dei tempi di risposta a fronte dell’utilizzo del Blob Storage Service:

  • Azure Speed Test 2.0 (Measuring the latency from your web browser to the Blob Storage Service in each of the Microsoft Azure Data Centers)
  • Azure Latency Test (Test network latency from your IP location to Azure datacenters around the world)

Un altro sito che offre la possibilità di eseguire vari test sui servizi cloud in genere (quindi non solo Azure) è CloudHarmony (una società di Gartner) che permette di eseguire la comparazione tra vari cloud provider e che al seguente Cloud Network Test offre anche la possibilità di eseguire un test di latenza sui protocolli http e https.

Nativamente Azure offre il servizio Azure Network Watcher che fornisce strumenti per il monitoraggio, la diagnostica, la visualizzazione delle metriche e l’abilitazione o la disabilitazione dei log per le risorse in una rete virtuale di Azure. Tramite Azure Network Watcher è quindi anche possibile misurare la latenza di una Region da una specifica posizione geografica (a riguardo si veda il tutorial View relative latency to Azure regions from specific locations). Questo tipo di approccio consente di eseguire misure di latenza verso una specifica Region a fronte di connessioni provenienti da posizioni differenti e quindi risulta utile se si devono valutare latenze per scenari di erogazione di un servizio tramite Azure che sarà fruito da posizioni geografiche differenti, in ogni caso è ovviamente possibile eseguire anche misure di latenza verso Region diverse a fronte di connessioni provenienti da una o più posizioni.

Passo 3: Verificare quali i servizi siano disponibili su una specifica Region

Non tutti i servizi e i size delle VM sono disponibili in tutte le Region, quindi occorre prima eseguire una verifica della disponibilità dei servizi facendo riferimento al seguente Azure global infrastructure – Products by region.

Se ad esempio si desidera implementare un sito WordPress su infrastruttura Azure fruibile sul territorio italiano conservando i dati all’interno dell’UE occorrerà valutare in quali Region è disponibile il servizio Azure Database for MySQL che al momento per quanto riguarda le Region europee è disponibile nelle seguenti:

  • North Europe
  • West Europe
  • UK West
  • UK South

Passo 4: Valutazione di eventuali differenze di prezzo dei servizi in base alla Region e della disponibilità del piano tariffario su una specifica Region

In Azure i servizi non hanno lo stesso prezzo per tutte le Region, ma il prezzo può subire variazioni in base alla Region da cui viene erogato, questo perché alcuni workloads richiedono di essere erogati da specifici datacenter mentre altri non dipendono dalla posizione come spiegato nel post Microsoft Azure – Innovation, Quality and Price scritto da Steven Martin (Microsoft Azure General Manager) il 31 Marzo del 2014. Oltre a possibili differenze di tariffazione di un servizio in base alla Region può anche verificarsi che sebbene il servizio sia disponibile non tutti i piani tariffari di un servizio siano disponibili in una specifica Region.

Valutando alla data attuale, ad esempio, il servizio Azure Database for MySQL per il Piano tariffario General Purpose Compute Gen 5, Storage e Backup nelle Region europee in cui il servizio è disponibile dal seguente Azure Database for MySQL pricing si ottengono i seguenti prezzi:

Region

2 vCore Price

4 vCore Price

8 vCore Price

16 vCore Price

16 vCore Price

Storage

Backup Locally redundant GB/month

Geographically redundant GB/month

North Europe

€0.163/hour

€0.325/hour

€0.65/hour

€1.30/hour

€2.599/hour

€0.107

€0.093

€0.186

West Europe

€0.176/hour

€0.352/hour

€0.703/hour

€1.406/hour

€2.812/hour

€0.116

€0.101

€0.201

UK West

€0.172/hour

€0.343/hour

€0.686/hour

€1.371/hour

€2.742/hour

€0.113

€0.098

€0.196

UK South

€0.172/hour

€0.343/hour

€0.686/hour

€1.371/hour

€2.742/hour

€0.113

€0.098

€0.196

Di seguito invece la matrice di disponibilità dei piani tariffari per il servizio Azure Database for MySQL nelle Region europee in cui il servizio è disponibile:

Region

Basic

General Purpose

Memory Optimized

North Europe Compute Gen 4

Compute Gen 5

Storage

Backup

I/Os

Compute Gen 4

Compute Gen 5

Storage

Backup

Compute Gen 5

Storage

Backup

West Europe Compute Gen 4

Compute Gen 5

Storage

Backup

I/Os

Compute Gen 4

Compute Gen 5

Storage

Backup

Compute Gen 5

Storage

Backup

UK West Compute Gen 5

Storage

Backup

I/Os

Compute Gen 5

Storage

Backup

Compute Gen 5

Storage

Backup

UK South Compute Gen 5

Storage

Backup

I/Os

Compute Gen 5

Storage

Backup

Compute Gen 5

Storage

Backup

A titolo indicativo il sito indipendente https://azureprice.net/ fornisce un confronto dei prezzi relativo alla VM in Azure confrontandole per Region.

Conclusioni

La scelta di una Region va fatta con oculatezza eseguendo le valutazioni descritte precedentemente con approccio ingegneristico volto a trovare la migliore tra le Region che erogano i servizi necessari nel rispetto delle normative / policies aziendali sulla gestione dei dati che occorre osservare per trovare il miglior connubio tra latenza e costi. Ovviamente tali valutazioni devono essere poi riviste periodicamente in quanto parametri su cui tale scelta è stata eseguita possono variare nel tempo in particolare per quanto riguarda il costo e latenza, inoltre Azure è un sistema dinamico in continua espansione e quindi l’apertura di nuovi datacenter e/o da disponibilità di nuovi Region può implicare la possibilità di ottenere il servizio con latenze o costi minori.