Come eseguire un'applicazione web ASP.NET, PHP, Java o Python su Azure

Azure web apps è un servizio che permette di creare uno spazio hosting attraverso il quale distribuire le proprie applicazioni, indipendentemente dal codice utilizzato.
Come eseguire un'applicazione web ASP.NET, PHP, Java o Python su Azure

Azure web apps è un servizio che permette di creare uno spazio hosting attraverso il quale distribuire le proprie applicazioni, indipendentemente dal codice utilizzato.

Già negli articoli che abbiamo pubblicato fino ad oggi abbiamo visto come Azure sia una piattaforma aperta, capace di supportare anche tecnologie e linguaggi di programmazione “non-Microsoft”, gran parte dei quali appartenenti al mondo opensource e del software libero (vedere Azure e la visione sempre più open di Microsoft).

Per quanto riguarda le web app, Azure consente la distribuzione di codice sviluppato con uno qualunque dei linguaggi di programmazione che possono essere oggi utilizzati per realizzare applicazioni per il Web.

Come creare una web app con Azure

Creare una Azure web app è molto semplice: dal portale della piattaforma Microsoft, è sufficiente cliccare su Nuovo quindi su Web e dispositivi mobili e infine su App Web.

La prima informazione da inserire è il nome dell’applicazione web che si sta creando.
Tale nome deve obbligatoriamente essere univoco (uno stesso nome non può essere condiviso tra più utenti della piattaforma Azure) perché andrà a formare, insieme con il nome a dominio azurewebsites.net, l’URL che verrà usato dalla web app per rispondere a tutte le richieste di connessione (ad esempio quelle provenienti dagli utenti che la utilizzeranno).

Come eseguire un'applicazione web ASP.NET, PHP, Java o Python su Azure
Al solito, anche nel caso delle web app, è necessario definire un Gruppo di risorse, il contenitore logico che ospiterà tutte le risorse usate dall’applicazione.
All’interno dello stesso Gruppo di risorse si possono ad esempio inserire il sito web e il database che l’applicazione web utilizzerà.
Il nome del Gruppo di risorse è sufficiente che sia univoco solamente all’interno dell’account Azure dell’utente.

Come ultimo passo, si deve impostare il Piano di servizio app ovvero il contenitore per le proprie web apps, mobile apps (creazione del backend delle applicazioni per i dispositivi mobili), logic apps (utili per impostare flussi di lavoro come le azioni da effettuare su un database o la lettura di informazioni da specifiche sorgenti di dati) e API apps (consentono la creazione di web services da utilizzare all’interno delle applicazioni o come connettori all’interno delle logic apps).

Cliccando su Piano di servizio app quindi su Crea nuovo, si può innanzi tutto assegnare un nome al “contenitore” che si sta creando quindi definire il datacenter Microsoft ove i dati della web app saranno conservati.

Con un clic su Piano tariffario, è possibile scegliere il livello di servizio di cui si desidera usufruire per la propria web app.

Come eseguire un'applicazione web ASP.NET, PHP, Java o Python su Azure
Di base Azure mostra solo tre livelli di servizio ma cliccando su Visualizza tutto è possibile accedere all’offerta completa.

Tutti coloro che attivano una sottoscrizione Azure hanno diritto a creare fino a 10 web app gratuite (profilo F1).

Suggeriamo quindi di cliccare qui e attivare subito un account Azure gratuito (con 170 euro di servizi inclusi per un mese).

Come eseguire un'applicazione web ASP.NET, PHP, Java o Python su Azure
Il servizio gratuito, però, è ovviamente limitato nelle caratteristiche: non si può scalare su più istanze l’applicazione web (rendendola quindi in grado di sostenere il traffico generato dagli utenti collegati) e non si può neppure far puntare un dominio personalizzato (ad esempio un classico dominio di secondo livello) verso i server di Azure.
Già un livello di servizio “Basic” consente di fruire di entrambe le possibilità.

Passando a livelli di servizio più “completi”, Azure offre la possibilità di richiedere il backup giornaliero dell’applicazione web, di creare degli slot di staging (utilizzabili per modificare la web app senza impattare sulla versione usata “in produzione” ossia quella presentata agli utenti) e di distribuire il traffico su più datacenter Microsoft (il traffico generato dagli utenti della web app può essere ad esempio ripartito tra datacenter europei e statunitensi con l’intento di ottimizzare il funzionamento e la velocità dell’app se questa si rivolge contemporaneamente a utenti del vecchio e del nuovo continente).

Una volta che la web app è stata creata, Azure apre immediatamente il pannello di configurazione della stessa.
Come abbiamo accennato nell’introduzione, la piattaforma Azure è aperta all’utilizzo di qualunque tecnologia o linguaggio di programmazione: è quindi possibile usare non soltanto codice ASP.NET ma, ad esempio, caricare applicazioni PHP, Java o Python.

Come eseguire un'applicazione web ASP.NET, PHP, Java o Python su Azure
Cliccando su Impostazioni dell’applicazione, l’utente ha la possibilità di decidere quale versione dei vari framework desidera utilizzare per garantire il perfetto funzionamento della sua applicazione web.
Azure consente di scegliere tra diverse versioni del framework .NET, di PHP, di Python e di Java. Attivando Java, viene chiesto quale versione del server Tomcat o di Jetty si desidera impiegare.

Come eseguire un'applicazione web ASP.NET, PHP, Java o Python su Azure
Nella parte inferiore del pannello, Azure consente di impostare subito le stringhe di connessione al database (SQL, SQL Server, MySQL,…) e di definire le pagine che debbono essere aperte per prime al caricamento lato client dell’applicazione web.
Si tratta di impostazioni molto simili a quelle che si trovano in un comune server web, da IIS ad Apache, rese però in Azure ancora più immediate e facili da configurare.

Come eseguire un'applicazione web ASP.NET, PHP, Java o Python su Azure
Cliccando su Piano di servizio app si potrà verificare, in qualunque momento, il livello di servizio che si è richiesto per la propria web app mentre selezionando Aumenta prestazioni si potrà scalare sia verso l’alto che verso il basso nel caso in cui il profilo scelto fosse sottodimensionato o sovradimensionato per il traffico sviluppato dall’applicazione.

Come eseguire un'applicazione web ASP.NET, PHP, Java o Python su Azure
La voce Aumenta istanze permette di effettuare uno scaling orizzontale del servizio ossia aumentare il numero di istanze sulle quali poggerà l’applicazione anziché dimensionare la singola istanza sulla quale è in esecuzione la web app.

Come eseguire un'applicazione web ASP.NET, PHP, Java o Python su Azure
Come si vede, con il livello di servizio “Basic” che abbiamo scelto, è possibile arrivare a scalare orizzontalmente fino ad un massimo di 3 istanze senza però fruire dello scaling automatico (pensa Azure a ridimensionare nel momento in cui ve ne fosse l’effettivo bisogno, sulla base del traffico prodotto dall’applicazione e per garantire performance sempre soddisfacenti).

Optando, in qualunque momento, per il livello di servizio più elevato (Aumenta prestazioni), tornando nella sezione Aumenta istanze, si può configurare Azure in maniera tale che sia la piattaforma a scalare automaticamente il numero di istanze sulla base, ad esempio, della percentuale di utilizzo della CPU virtuale.

Come eseguire un'applicazione web ASP.NET, PHP, Java o Python su Azure
Nell’esempio in figura, abbiamo richiesto che la nostra applicazione utilizzi da un minimo di 3 istanze fino ad un massimo di 9 istanze. Inoltre, una nuova istanza dev’essere automaticamente creata ogniqualvolta la CPU viene impegnata per oltre l’80%.
Lo scaling è anche verso il basso: un’istanza viene rimossa tutte le volte che l’uso della CPU scende sotto il 20%.

Come ricorda la “pagina di cortesia” che viene visualizzata collegandosi con l’applicazione web da browser (basta copiare e incollare il suo URL nella barra degli indirizzi), l’upload e quindi la distribuzione della propria applicazione su Azure può essere effettuato usando qualunque strumento (FTP, Git o strumenti di sviluppo come Visual Studio Online o WebMatrix,…).

Come eseguire un'applicazione web ASP.NET, PHP, Java o Python su Azure
In questa pagina è possibile trovare un sunto di tutte le modalità di deployment delle proprie app sulla piattaforma Azure insieme con alcuni consigli pratici.

Senza ricorrere al deployment da strumento di sviluppo (IDE), per effettuare l’upload del codice della propria app via FTP si dovrà selezionare Credenziali per la distribuzione dalla sezione Pubblicazione quindi impostare nome utente e password.

Come eseguire un'applicazione web ASP.NET, PHP, Java o Python su Azure
A questo punto, cliccando su Proprietà, si dovrà copiare e incollare in un qualunque client FTP, l’indirizzo riportato nel campo Nome host FTP o Nome host FTPS (se ci si collega via FTPS).

Come eseguire un'applicazione web ASP.NET, PHP, Java o Python su Azure
L’aggiornamento delle credenziali FTP potrebbe richiedere qualche minuto di tempo per essere correttamente gestito. È quindi bene non affrettarsi ad aprire subito il client FTP tentando la connessione verso Azure.

Ti consigliamo anche

Link copiato negli appunti