01net

Come sviluppare le app su Azure

Il mix di piattaforme e strumenti infrastrutturali rendono Microsoft Azure una destinazione interessante per gli sviluppatori enterprise, con la possibilità di mescolare i modelli di sviluppo.

La possibilità di combinare le risorse per sfruttare al meglio ciò che funziona per le applicazioni può accelerare lo sviluppo, supportare le migrazioni cloud e gestire i progetti ibridi on-premise e off-premise.

In particoilare gli strumenti Platform as a service (PaaS) di Azure possono fornire una rapida scalabilità per il front end, mentre i sistemi back-end più complessi funzionano su macchine virtuali o in container.

Il Paas di Azure

Con Azure, gran parte di quel front-end PaaS è gestito da Azure app service, un pacchetto di strumenti e servizi che supportano l’integrazione mobile, web e Api.

È un modo rapido di costruire applicazioni cloud native, con punti di integrazione per altri servizi Azure, supportando i modelli di progettazione cloud più comuni. Non si tratta solo di una tecnologia front-end, ma anche di un’unica tecnologia: è possibile combinare diversi approcci, fornendo viste che funzionano con applicazioni mobili, web e desktop.

Azure app service. Quello che sembra essere un semplice ambiente PaaS offre un ponte tra i servizi nativi cloud e i dispositivi client, sia via su web che on premise. È possibile iniziare in piccolo e crescere rapidamente, sfruttando gli strumenti di sviluppo di sviluppo software e le moderne tecniche di sviluppo software, permettendo una transizione fluida da software on-premise al cloud pubblico.

Mentre Azure app service conta le app logiche come parte del suo portafoglio, Logic apps è meglio pensarlo come un esempio degli strumenti Azure serverless. Ciò non significa che non si debba usare Logic apps come strumento per automatizzare il flusso di lavoro dell’applicazione, ma vale la pena comprenderne i limiti: non si può costruire un’applicazione complessa; è solo un modo per costruire una logica di business di base che possa collegare un’Api a un’altra.

Azure app service

Iniziare con Azure app service è facile. In molti casi, i modelli esistenti nell’Azure marketplace consentono di costruire su soluzioni open source già note. Alcuni, come Mobile app e Notification hub di Microsoft sono framework aggiuntivi che semplificano la costruzione del codice da eseguire sul servizio app, offrendo modelli e Sdk utilizzabili con gli strumenti di sviluppo, generando automaticamente integrazioni di codice e servizi. Allo stesso modo, è possibile arricchire una selezione di applicazioni web starter con il proprio codice e i propri dati costruendo istanze scalabili di model-view-controller.

App mobili con il framework MBaaS

L’ aspetto più utile di Azure App Service è l’opzione Mobile app. Ideale per l’implementazione Microsoft di MBaaS (mobile back end come servizio), Mobile app collega il codice di collegamento mobile in esecuzione su dispositivi mobili per cloud data store e servizi, tra cui l’autenticazione di terze parti e servizi push.

Sdk nativi per la maggior parte delle piattaforme di dispositivi più comuni semplificano l’integrazione delle applicazioni. Inoltre, è possibile accedere ai servizi Azure Sql e NoSql per l’archiviazione dei dati e lavorare con i database in loco.

È abbastanza facile iniziare con lo sviluppo di Mobile app, ma i vantaggi reali dell’utilizzo di MBaaS per costruire applicazioni consistono nell’offerta di una facile scalabilità oltre a fornire un insieme comune di Api per supportare i possibili clienti. L’implementazione di Microsoft include strumenti per gestire vari modelli di distribuzione, compresa la possibilità di offrire diverse versioni dell’ applicazione per il test A/B.

Costruire una nuova app è semplice. Nel portale Azure bisogna utilizzare l’applicazione Mobile app per configurare il gruppo di risorse iniziale. Questo imposta gli elementi di base del servizio pronto per iniziare a costruire codice cliente. Ora è possibile scegliere il sistema operativo di destinazione per l’applicazione, con opzioni per il codice nativo su iOS e Android e per le app multipiattaforma utilizzando Xamarin o Cordova.

Una volta scelto un Sdk target per l’applicazione client, è possibile connettersi a un database Azure, costruendo la connessione e l’istanza del database allo stesso tempo. Inizialmente è probabile che si utilizzi un archivio key/value per i dettagli della sessione di base. Bisogna scegliere anche come scrivere il codice di back-end, in Node. js o. Net.

Questo imposta il codice di base per l’applicazione e realizzare le connessioni al database appropriato. È possibile modificarlo nell’editor di codice integrato di Azure o scaricarlo in Visual Studio come parte di un progetto completo end-to-end insieme al codice dell’applicazione del dispositivo.

L’integrazione con Devops

Un aspetto utile di Azure app service è la sua continua integrazione con Devops. È facile agganciare un’applicazione App service al servizio App insights di Microsoft, con accesso alla telemetria che è possibile esplorare in Visual Studio Team Services e in altre piattaforme focalizzate sullo sviluppo.

Questo accoppiamento ravvicinato tra piattaforma, applicazione e strumenti di sviluppo è estremamente utile, specialmente quando si cerca di rintracciare i bug che appaiono solo quando si opera su scala. Anche se la configurazione iniziale per il framework MBaaS di Microsoft può sembrare semplice, nasconde un sacco di complessità. C’è abbastanza spazio per alimentare molte più applicazioni di base, specialmente quando si inizia a combinarle con le capacità dei moderni dispositivi mobili e l’intera estensione della piattaforma Azure. La messaggistica cloud di Microsoft ha spostato da “cloud first, mobile first” a “the intelligent cloud and the intelligent edge”, e Azure App Service è il ponte tra la nuvola e il bordo.

Il nuovo servizio Web Apps for containers prende Azure app services da Windows e su Linux, in modo da poter eseguire applicazioni containerizzate Node. js, PHP,. Net Core e Ruby. Basandosi su un set di contenitori Docker standard, il codice viene distribuito e scalato automaticamente.

È un modo semplice e veloce di gestire i container, sfruttando il resto della piattaforma Azure mentre si utilizzano ancora gli strumenti di integrazione e sviluppo Linux esistenti. Non è necessario modificare una catena di strumenti esistente; è possibile estrarre le immagini su Azure da Docker hub o dal registro Azure container.

Web apps for containers dà la possibilità di automatizzare gran parte del processo, utilizzando raccolte di script per integrare i container con servizi come Git. Una volta impostato il servizio, tutto ciò da fare è spingere i cambiamenti da Git a Azure ogni volta che viene realizzato un aggiornamento.

Con Web Apps for Containers, è possibile trattare il codice dell’applicazione web come un singolo blocco costruito, distribuito ed eseguito. Qualsiasi cambiamento richiede un’implementazione di container completamente nuovi, anche se questo dovrebbe semplificare lo smantellamento e le eventuali integrazioni di devops.