Be02 portare la nostra applicazione su azure

167 views
95 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
167
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Be02 portare la nostra applicazione su azure

  1. 1. Template designed by Portare la nostra applicazione web su Azure Template designed by Michele Aponte Presidente DotNetCampania - MVP ASP.NET/IIS CEO & Co-Founder Blexin Srls michele.aponte@dotnetcampania.org http://dotnetcampania.org/blogs/michele
  2. 2. Template designed by brought to you by
  3. 3. Template designed by • Perchè Windows Azure? • Il primo deploy • Deploy del database • Storage • Caching • Debugging e Troubleshooting • Monitoraggio agenda
  4. 4. 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
  5. 5. 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
  6. 6. 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.
  7. 7. demo Primo deploy su Azure Web Sites e Azure Sql Database
  8. 8. 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.
  9. 9. demo Deploy del Database su Sql Azure con i Visual Studio Data Tools
  10. 10. 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
  11. 11. 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.
  12. 12. demo Uso del Blob Storage per i file caricati dagli utenti
  13. 13. 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.
  14. 14. 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.
  15. 15. demo Uso della cache su Azure
  16. 16. 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
  17. 17. 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! 
  18. 18. 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
  19. 19. 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.
  20. 20. 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 michele.aponte@dotnetcampania.org Grazie

×