Be02 portare la nostra applicazione su azure
-
Upload
dotnetcampus -
Category
Documents
-
view
56 -
download
0
Transcript of Be02 portare la nostra applicazione su azure
Template designed by
Portare la nostra applicazione web su Azure
Template designed by
Michele ApontePresidente DotNetCampania - MVP ASP.NET/IISCEO & Co-Founder Blexin [email protected]://dotnetcampania.org/blogs/michele
Template designed by
brought to you by
Template designed by
• Perchè Windows Azure?
• Il primo deploy
• Deploy del database
• Storage
• Caching
• Debugging e Troubleshooting
• Monitoraggio
agenda
Template designed by
Perchè Windows Azure?
- Scalabilità
- Gestione dei picchi di carico dell’applicazione
- Costo a consumo
- Estrema semplicità di gestione dell’infrastruttura (anche per un DEV )
- Table e Queue storage
Template designed by
Quanto codice dovrò modificare?
Dipende da come ho scritto l’applicazione, ovviamente:
-Principio di singola responsabilità
-Uso di design patterns
-Basso accoppiamento dei layer
-Parametrizzazione della configurazione
Template designed by
Azure for Dummies:Azure Web Sites + Azure Sql Database
Nella maggior parte dei casi l’approccio più veloce è quello di usare Azure come hosting di spazio web e database.
dem
o Primo deploy su Azure
Web Sites e Azure Sql
Database
Template designed by
Azure Sql Database senza Entity Framework
Chiaramente il primo deploy è stato facilitato dall’uso di EF Code First, ma se avessimo avuto un classico DAL che «spara» query sul db?Possiamo utilizzare i Data Tools di Visual Studio, che ci permettono di gestire facilmente il deploy su Azure del nostro DB.
dem
o Deploy del Database
su Sql Azure con i
Visual Studio Data
Tools
Template designed by
Dove salviamo i dati dell’applicazione?
Per dare la possibilità alla piattaforma di far scalare la nostra applicazione tutte le risorse dovrebbero essere esterne al nostro Web Site.
Azure mette a disposizione diversi tipi di Storage, da scegliere in base alle esigenze di persistenza:
• Blob, tipicamente usati per i file dell’applicazione
• Table, tipicamente usate per le entità dell’applicazione
• Queue, tipicamente usate per l’elaborazione business «asincrona» di messaggi
Template designed by
Blob Storage come File System
Per il salvataggio di file, ad esempio quelli caricati dall’utente, possiamo utilizzare un storage di tipo Blob: basta crearne uno, pubblico o privato, dal pannello di Azure e scrivere poche righe di codice.
dem
o Uso del Blob Storage
per i file caricati dagli
utenti
Template designed by
Migliorare le performance con il Caching
Ovviamente l’accesso ai dati ha un impatto sulle prestazioni non trascurabile e in un ambiente che deve scalare il caching distribuito gioca un ruolo fondamentale.
Azure mette a disposizione un servizio apposito per queste necessità, denominato Azure Cache Service: una in-memory cache distribuita facilmente scalabile e configurabile.
Template designed by
Migliorare le performance con il Caching
La cache di Azure può essere usata facilmente anche per l’output cache di Asp.Net e come storage della sessione utente (più performate del database)
La gestione della sessione è un nodo cruciale nelle applicazioni che devono scalare, sia in termini di performance che di gestione: se potete rendete le vostre applicazioni stateless, ELIMINANDO l’uso della sessione.
dem
o Uso della cache su
Azure
Template designed by
Table Storage per le entità del dominio
Se i dati gestiti dalla nostra applicazione non traggono particolari vantaggi dal modello relazionale l’uso di uno storage come le Table di Azure ci può dare non pochi vantaggi in termini di velocità e scalabilità:
-Sql Azure ha il «limite» delle 1000 connessioni contemporanee
-Il modello relazione persiste le informazioni in una forma che è poco «vicina» all’uso che si fa di esse
-Saltare l’ORM di turno è sicuramente un vantaggio di termini prestazionali
Template designed by
Table Storage per le entità del dominio
Usare le Table di Azure è abbastanza semplice:
-Creare dal pannello uno storage account
-Reimplementare lo strato di accesso ai dati
-Ritestare l’applicazione!
Template designed by
Debugging & Troubleshooting
Che succede se ci sono anomalie sull’applicazione deployata che non si verificano in locale?
Anche in questo caso abbiamo un po’ di strumenti a disposizione:
-Web Server Logging
-Detailed Error Messages
-Failed Request Tracing
Template designed by
Monitoraggio
Ovviamente prima di rilassarsi completamente è opportuna una fase di monitoraggio dell’applicazione che ci permetta di ottimizzare la configurazione e la scalabilità.Il pannello di amministrazione di Azure offre molti strumenti di monitoraggio, nonchè alcune funzionalità come l’autoscale e gli alerts.
Template designed by
Grazie a tutti per la partecipazione
Riceverete il link per il download a slide e demo via email nei prossimi giorni
Per contattarmi
Grazie