Se state creando applicazioni cloud-native, avete bisogno di una piattaforma dati affidabile ed efficiente. I microservizi affidabili hanno bisogno di un modo per archiviare lo stato, sia nei sistemi chiave/valore NoSQL che nei database SQL a scalabilità elevata. Non è diverso in Azure Data e Microsoft ha sviluppato la sua offerta di dati cloud negli ultimi anni per offrire agli sviluppatori un mix delle proprie piattaforme di dati proprietari e open source.

Al suo evento per sviluppatori Build 2021, Microsoft ha svelato alcune importanti modifiche ad Azure Data, con l’obiettivo di renderla più attraente per gli sviluppatori e di offrire funzionalità che aiuteranno a creare una nuova generazione di applicazioni.

Azure SQL aggiunge un registro immutabile

Il lancio di una funzionalità ledger per Azure SQL dà più senso all’annuncio che Microsoft sta chiudendo la piattaforma blockchain-as-a-service di Azure. Gran parte dello sviluppo della blockchain aziendale si è concentrato sul suo ruolo di fonte immutabile di dati sulle transazioni, in cui i sistemi e i processi necessitano di una registrazione affidabile di ciò che è stato fatto e da chi.

È qui che entrano in gioco i ledger moderni come un modo per creare quel modello di verifica simile alla blockchain. Qui, tuttavia, il ledger è solo un’altra tabella in un database familiare che può fornire quella fiducia senza richiedere una riprogettazione e una riqualificazione complete della vostra applicazione. Non ha senso sostituire un database esistente con una blockchain complessa e relativamente lenta se tutto ciò che dovete fare è aggiungere una nuova tabella legger crittograficamente sicura a un database esistente per gestire quei dati.

Non è necessario acquisire nuove competenze o implementare nuovi strumenti, poiché fa tutto parte del già familiare SQL Server in esecuzione su Azure. Le applicazioni esistenti possono essere aggiornate per aggiungere ledger senza bisogno di nuovo codice. Tutto può essere gestito all’interno del database con sviluppatori e amministratori di database che utilizzano gli strumenti di gestione del database esistenti.

Utilizzo dei ledger Azure SQL nelle applicazioni

Avere un registro come questo in un database Azure SQL consente che i dati in un database non siano stati alterati; questo strumento può aiutarvi a rispettare le normative (soprattutto se sono richiesti audit) e ridurre il rischio di alterazione dannosa dei dati per coprire frodi o altri reati finanziari. La tabella del registro contiene un hash crittografico delle transazioni che può essere archiviato all’esterno del database nei servizi di archiviazione a prova di manomissione esistenti di Azure per una protezione aggiuntiva.

Le tabelle dei ledger di Azure SQL supportano sia i ledger aggiornabili, sia quelli di sola aggiunta. I ledger aggiornabili mostrano come sono stati modificati i dati in un database; ad esempio, possono monitorare le modifiche a un conto bancario o a un inventario di prodotti. Il ledger aggiornabile mostrerà le operazioni di eliminazione e inserimento utilizzate per aggiornare una tabella gestita insieme agli ID transazione associati. Un ledger di sola aggiunta blocca invece le operazioni di aggiornamento ed eliminazione, supportando modelli di solo inserimento. Ciò riduce la complessità della struttura del ledger ma limita i casi d’uso a comportamenti simili a blockchain.

L’utilizzo di un ledger di sola aggiunta ad Azure SQL dovrebbe consentire di creare il tipo di applicazione blockchain che offriva il servizio blockchain di Azure, collaborando con partner affidabili per gestire strutture di dati immutabili che hanno acquisito Electronic Data Interchange (EDI) o transazioni commerciali simili. Tuttavia, rimuovendo l’overhead associato alle strutture di dati distribuite, dovreste ottenere prestazioni molto migliori pur continuando a ottenere i vantaggi di sicurezza della blockchain (e anche riducendo i requisiti energetici che derivano dalle blockchain proof-of-work).

Il ledger di Azure SQL è un concetto simile al progetto Linux Foundation Hyperledger, ma con l’obiettivo di fornire una migliore integrità e sicurezza delle transazioni in un ambiente SQL puro. Con un ledger di Azure SQL, dovrebbe essere inoltre possibile fare un passo indietro attraverso ogni transazione, in modo da individuare gli errori e fornire un livello di fiducia non attualmente disponibile.

giusto database

Utilizzo dei ledger di Azure SQL su larga scala

Rimangono alcuni problemi con il modello di ledger di Azure SQL, dal momento che questo è incentrato sull’utilizzo di archivi monolitici. Sebbene sia possibile utilizzarlo con un database che si ridimensiona in una singola area utilizzando SQL Hyperscale, se si esegue lo sharding elastico del database geograficamente, ogni shard avrà bisogno del proprio ledger per supportare le transazioni locali. Al momento il sistema non è progettato per funzionare con transazioni distribuite e, se state pensando di creare un sistema che utilizzi tale approccio, è più probabile che vogliate utilizzare qualcosa di simile a Cosmos DB e creare il vostro sistema di ledger come parte della vostra applicazione.

Avere più ledger separati non dovrebbe essere un problema per le applicazioni distribuite, poiché i dati associati a un frammento specifico saranno in un ledger specifico e quando vengono distribuiti nuovi frammenti, è possibile aggiungere nuovi ledger. Sarà necessario tenere traccia dei vostri ledger, anche se ciò dovrebbe essere possibile sia tramite gli strumenti di Azure SQL, sia tramite il portale di Azure.

Protezione dei database open source su Azure

Una piattaforma affidabile necessita anche di sicurezza e Azure ha implementato più funzionalità per il suo strumento di protezione del carico di lavoro cloud attivo Azure Defender, la cui ultima versione annunciata a Build 2021 aggiunge un’anteprima pubblica per i servizi PostgreSQL e MySQL di Azure. In esecuzione all’esterno delle vostre applicazioni, Azure Defender fornisce un feed di dati di sicurezza alla dashboard del Centro sicurezza di Azure in cui potete monitorare le vostre applicazioni per rilevare i primi segni di attacchi.

Azure Defender si basa sulla piattaforma Security Graph di Microsoft non solo per identificare gli attacchi noti, ma anche per evidenziare le anomalie che potrebbero indicare attacchi in corso. L’aggiunta di ulteriore sicurezza ai database riduce il rischio di violazioni e fughe di dati, mostrando dove i database sono vulnerabili e consigliando sulle mitigazioni appropriate.

Aggiornamento di Cosmos DB per la protezione dei dati

Microsoft non sta ignorando i suoi servizi fondamentali in questa tornata di aggiornamenti di Azure. Il suo database distribuito Cosmos sta ottenendo il supporto per i dati always-encrypted, consentendo di crittografare i dati prima che vengano archiviati nei documenti JSON. In combinazione con la disponibilità generale per lo strumento di controllo degli accessi basato sui ruoli di Cosmos DB, ora siete in grado di garantire che le persone giuste abbiano accesso ai vostri dati e, anche se intrusi o malware ottengono un accesso non autorizzato, i dati sono inutilizzabili senza le chiavi di crittografia giuste.

Al di fuori della sua nuova sicurezza, Cosmos DB ottiene anche il supporto per una cache in memoria integrata che può ridurre le chiamate all’istanza operativa di Cosmos DB sottostante. Si comporterà in modo molto simile a Redis Cache e dovrebbe aiutare a contenere i costi, poiché viene fatturato a una tariffa oraria fissa.

Oltre all’accesso sicuro ai dati, lo strumento di analisi Synapse di Azure ottiene un collegamento no-code a Dynamics 365 e a Dataverse di Power Platform. Destinato a ospitare dati operativi per sistemi line-of-business (e per collegarsi a piattaforme conformi agli Open Data di terze parti come SAP e Marketing Cloud di Adobe), l’integrazione di Dataverse con Synapse aprirà maggiori opportunità per analisti e sviluppatori.

La combinazione di funzionalità della piattaforma dati che Microsoft ha aggiunto ad Azure dovrebbe aiutare gli sviluppatori a fornire applicazioni affidabili su scala cloud. C’è molto da aspettarsi, soprattutto in combinazione con altre nuove funzionalità di Azure, come una migliore gestione delle API, servizi aggiuntivi di machine learning, nuovi livelli a basso costo e gratuiti per molti servizi, nonché più servizi applicativi che dovrebbe rendere l’intera piattaforma più attraente per lo sviluppo e l’esecuzione di applicazioni aziendali critiche.