Creazione
di una Azure
Web App
Introduzione
O
ggi le aziende hanno sempre più la necessità
di avere uno strumento per interagire con i
propri clienti. La presenza sul web dell’azienda
diventa sempre di più una parte critica del business.
Per creare una soluzione di questo tipo è necessario
collegare i sistemi aziendali già presenti con le web
application, in modo da creare un servizio facile da
deployare, flessibile, sicuro e altamente scalabile.
Il servizio Web App di Azure consiste in una piattaforma
completamente gestita che permette di creare,
distribuire e scalare a livello enterprise le proprie web
app in pochissimo tempo. Tutto ciò può essere fatto
concentrandosi solamente sul codice dell’applicazione
dal momento che Azure si occupa della parte di
gestione e di configurazione dell’ambiente su cui
questa girerà.
1 Creazione de una Azure web app
2Configurazione di un server SQL Database
3 Pubblicazione dell’applicazione da Visual Studio
4Configurazione delle scalabilità
Funzionalità
Per le Web App, Azure mette a disposizione diverse
funzionalità:
4. Deployment Slots
Permette di selezionare un template per web app
in una lista in continuo aggiornamento. Si possono
trovare framework preconfigurati con Wordpress,
Joomla, Drupal, Umbraco e molti altri.
Sono presenti due slot di distribuzione: staging e
production. In questo modo, si può verificare il corretto
comportamento del codice sviluppato in un ambiente
di staging e una volta che si è soddisfatti si può passare
reapidamente a un ambiente di produzione mediante
un’operazione di swap, senza avere dei periodi di
downtime.
2. Auto Scaling
5. Testing in Production
Il servizio permette di scalare rapidamente per gestire
il carico utente. È possibile configurare la scalabilità
manualmente, automaticamente e schedulare questa
configurazione su determinati periodi di tempo.
Permette di eseguire test di carico della propria soluzione in
produzione.
3. Continuous Integration
Permette di eseguire uno script o un task in background
sulla Virtual Machine su cui gira la web application. Questo
task può essere eseguito continuamente o schedulato ed è
facilmente scalabile su più VM.
1. Web Apps Gallery
Grazie all’integrazione con tool come Visual Studio Online,
GitHub o BitBucket si ha la possibilità di configurare il
continuous deployment dei propri workflow, mantenendo
sempre aggiornata la soluzione all’ultima versione
distribuita.
6. Webjobs
1
Creazione de una
Azure web app
Seguire i seguenti passaggi per creare una nuova Web App su Azure:
a. Accedere al portale di gestione con il proprio
account
b. Sulla barra dei comandi in fondo alla pagina
scegliere New, quindi alla voce Compute scegliere
Web App e poi Quick Create:
- in URL, inserire il nome del website al quale ci si
collegherà per utilizzare la web application;
- in App Service Plan, selezionare il Service Plan che
si desidera utilizzare per la Web App – la prima volta
è possibile selezionare solo la voce Create New App
Service Plan;
- in Subscription, viene selezionata automaticamente
la sottoscrizione Azure che si sta utilizzando;
- la prima volta che si crea una Web App è presente
la voce Region, selezionare l’area desiderata come in
figura;
- cliccare su Create Web App. Dopo che la Web App
è stata creata lo status sarà running e pronta ad essere
utilizzata;
- cliccare sulla Web App creata per accedervi, e cliccare
su Set up deployment from source control per
impostare il metodo di dtribuzione della propria
applicazione – se si vuole effettuare la pubblicazione
direttamente da Visual Studio questa operazione non
è necessaria.
2
Configurazione
di un server SQL
Database
Se l’applicazione che vogliamo distribuire attraverso
la Web App appena creata deve gestire dei dati
è necessario andare a configurare un server SQL
Database. SQL Database è la versione as a Service di
Microsoft SQL Server offerta da Azure. È provvista di
molte delle funzionalità di SQL Server, anche se ancora
limitata, ma ha il vantaggio di essere una versione
completamente gestita.
Per creare il server seguire i seguenti passaggi:
- Cliccare sul servizio SQL Database nella lista a
sinistra sul portale di gestione, quindi selezionare la
tab Server e poi selezionare Create a SQL Database
Server;
- Inserire le username e password per accedere
come amministrato al server che si sta creando;
- in Region selezionare il datacenter in cui il server
verrà creato;
- cliccare su Create;
- una volta creato lo status sarà Ready, annotarsi il
nome del server, che sarà necessario per inserire la
stringa di connessione al server all’interno del file di
configurazione dell’applicazione.
3
Pubblicazione
dell’applicazione
da Visual Studio
È possibile pubblicare una propria applicazione già
sviluppata all’interno dello spazio web che è stato
reso disponibile da Azure con la creazione della Web
App, oppure si può creare una nuova applicazione
o ancora utilizzare uno dei template che sono messi
a disposizione nella Gallery e personalizzarli in un
secondo momento. In questa guida vi mostriamo
come effettuare la pubblicazione tramite Visual Studio
di una applicazione ASP.NET MVC che permette
di inserire, visualizzare, editare ed eliminare dati
relativi a un utente (per ulteriori informazioni sullo
sviluppo dell’applicazione consultare la guida nella
documentazione ufficiale).
- Aprire la propria soluzione in Visual Studio;
- Nel file Web.config è necessario inserire la stringa di connessione al server SQL Database per la gestione dei dati,
modificando i placeholder:
o nomedelserver = nome del server SQL Database creato precedentemente;
o nomedellatabella = tabella che verrà utilizzata per memorizzare i dati;
o username e password = che sono stati forniti al momento della creazione del server;
<add name="PersonContext" connectionString="Data
Source=tcp:[nomedelserver].database.windows.net;Initial
Catalog=[nomedellatabella];Persist Security Info=True;User
ID=[username];Password=[password]" providerName="System.
Data.SqlClient" />
- una volta completato lo sviluppo della soluzione
effettuare il build;
- fare poi click con il tasto destro sul progetto e selezionare
Publish;
- selezionando Microsoft Azure Websites verrò richiesto
di effettuare il sign in con le credenziali relative alla
sottoscrizione Azure nella quale è stata creata la Web App;
>
3
Pubblicazione
dell’applicazione
da Visual Studio
- selezionare la Web App su cui si vuole distribuire la
propria applicazione, come in figura – le informazioni
relative alla connessione al server SQL database sono
ottenute automaticamente dalla sottoscrizione Azure
selezionata;
- cliccare su Publish – sarà aperta una finestra del
browser che mostra la home page della Web App.
Dal portale di gestione di Azure, nel servizio SQL
Database si possono andare a visualizzare le tabelle
e i dati del database che l’applicazione ha generato
selezionando la voce Manage nella barra delle opzioni
in fondo alla pagina.
4
Configurazione
delle scalabilità
D
al portale di gestione di Azure è possibile
andare a configurare le impostazioni relative
alla scalabilità della Web App che è stata creata.
-Selezionare Web App dalla lista dei servizi di
Azure e quindi scegliere quella creata al punto 1;
-Selezionando la tab Scale è possibile accedere
alla pagina di configurazione della scalabilità del
servizio.
L’app service plan pricing tier indica il livello di
servizio della Web App. Per ulteriori informazioni
si può consultare l’apposita pagina nella
documentazione.
La sezione capacity è invece relativa alla
configurazione della scalabilità. È possibile scalare
manualmente in verticale, ovvero modificare la
dimensione della VM su cui gira la Web App.
Si può impostare la scalabilità orizzontale della
soluzione, sia manuale che automatica, ed
è presente anche la possibilità di schedulare
su determinati periodi del giorno, del mese e
dell’anno.
In particolare, si può monitorare l’utilizzo
percentuale della CPU delle istanze su cui è in
eseguzione la Web App e indicare a Azure di
aumentare il numero delle istanze quando questa
percentuale supera una determinata soglia. Allo
stesso modo, quando l’utilizzo della CPU su una
delle istanze che sono state accese scende sotto un
certo livello, questa viene spenta.
Per Approfondimenti:
http://azure.microsoft.com/en-us/documentation/articles/app-service-web-overview/
http://azure.microsoft.com/en-us/pricing/details/websites/
http://www.microsoft.com/italy/azureboxes/index.html
Microsoft Virtual Academy dove ci sono tutti i corsi tecnici online localizzati in lingua italiana e relativi allo sviluppo nel cloud:
http://www.microsoftvirtualacademy.it/#sviluppo_per_il_cloud
© 2015 Microsoft. Tutti i diritti riservati. Questa pubblicazione è puramente informativa.
Tutti i marchi e i marchi registrati citati sono di proprietà delle rispettive società.
Microsoft -Via Lombardia, 2/A 20068 Peschiera Borromeo (MI).