windows azure - abbattere tempi e costi di sviluppo

37
Andrea Dottor – Microsoft MVP ASP.NET/IIS ASP.NET e Windows Azure... abbattere tempi e costi di sviluppo

Upload: andreadottor

Post on 06-Dec-2014

2.168 views

Category:

Documents


0 download

DESCRIPTION

In questa sessione vedremo come utilizzare Windows Azure per velocizzare e semplificare la realizzazione di applicazioni ASP.NET. Dallo sviluppo al deploy, passando per lo storage...andremo in dettaglio su varie funzionalità che ci faranno apprezzare ancora più la piattaforma Windows Azure.

TRANSCRIPT

Page 1: Windows azure - abbattere tempi e costi di sviluppo

Andrea Dottor – Microsoft MVP ASP.NET/IIS

ASP.NET e Windows Azure...abbattere tempi e costi di sviluppo

Page 2: Windows azure - abbattere tempi e costi di sviluppo

Novità annunciate al TechEd NA 2013

• News fresche • Applicate da Giugno 2013– Già online!!

Page 3: Windows azure - abbattere tempi e costi di sviluppo

Le costi vengono applicati ai minuti effettivi di utilizzo e non più alle ore di utilizzo Risparmio per chi utilizzava VM per test,

sviluppo, con macchine che rimangono avviate per tempi limitati

Le VM spente non vengono più conteggiate ai fini della fatturazione Fino a poco fa, si pagava anche per le VM

spente. Per non pagare, si doveva cancellare la VM, e ciò richiedeva tempo ogni volta che si doveva ricreare un ambiente completo

Per Minute Billing and No Charge for Stopped VMs

Page 4: Windows azure - abbattere tempi e costi di sviluppo

Heavily Discounted MSDN Dev/Test Rates

Page 5: Windows azure - abbattere tempi e costi di sviluppo

MSDN Monthly Monetary Credits

Page 6: Windows azure - abbattere tempi e costi di sviluppo

Portal Support for Better Tracking MSDN Monetary Credit Usage

Page 7: Windows azure - abbattere tempi e costi di sviluppo

No Charge for Stopped VMs Pay by the Minute Billing MSDN Use Rights now Supported

on Windows Azure Heavily Discounted MSDN

Dev/Test Rates MSDN Monetary Credits Portal Support for Better Tracking

MSDN Monetary Credit Usage SSL Support with Web Sites

Novità annunciate al TechEd 2013

Page 8: Windows azure - abbattere tempi e costi di sviluppo

Perché questa sessione?

Page 9: Windows azure - abbattere tempi e costi di sviluppo

Windows Azure offre soluzioni che permettono di abbattere tempi e costi di sviluppo E' importante conoscere ciò che offre http://www.windowsazure.com

Windows Azure non risolve tutti i problemi, ma può essere spesso di aiuto

Windows Azure

Page 10: Windows azure - abbattere tempi e costi di sviluppo

Applicazioni con dati in sola lettura Catalogo prodotti

Applicazioni senza base dati o servizi Giochi Utility (calcolatrice, blocco note, …)

Applicazioni connesse a social network

Non tutte la applicazioni sono uguali

Page 11: Windows azure - abbattere tempi e costi di sviluppo

Prototipi Tempi di realizzazione brevi Abbattere i costi il più possibile Potrebbero non diventare mai progetti reali

Applicazioni con tempi impossibili Troppe funzionalità Poche risorse Troppo poco tempo

Piccole applicazioni Costo di mantenimento alto Infrastruttura sovradimensionata

Problemi diversi in fase di sviluppo

Page 12: Windows azure - abbattere tempi e costi di sviluppo

Non esiste una soluzione unica che sia applicabile a tutte le richieste

A volte si deve scendere a compromessi Spostare la data di pubblicazione Rimuovere funzionalità Aggiungere DEV Appoggiarsi a componenti di terze parti …

Ricordiamoci del principio KISS

…e quindi?

Page 13: Windows azure - abbattere tempi e costi di sviluppo

Database

• SQL Server sempre ed a ogni costo?….magari

Page 14: Windows azure - abbattere tempi e costi di sviluppo

Permette di salvare grosse quantità di dati ad un prezzo molto basso Il prezzo è "irrisorio" se paragonato a

quello di SQL Azure

Si devono pensare bene le modalità di accesso / recupero dati in quanto le "chiavi" vanno ottimizzate per questo

Non è un database relazionale Non si possono eseguire query con le

stesse performance di SQL Server

Windows Azure – table storage

Page 15: Windows azure - abbattere tempi e costi di sviluppo

Facile da implementare SDK completo, costantemente aggiornato,

facile da utilizzare

Flessibile Accessibile da ogni piattaforma (esposto

tramite servizi REST con supporto a Odata)

Basso costo

Windows Azure – table storage [2]

Page 16: Windows azure - abbattere tempi e costi di sviluppo

URL format: Code addresses tables in an account using this address format: http://<storage account>.table.core.windows.net/<table> You can address Azure tables directly using this address with the OData protocol.

www.OData.org

Storage Account: All access to Windows Azure Storage is done through a storage account. The total size of blob, table, and queue contents in a storage account cannot exceed 100TB.

Table: A table is a collection of entities. Tables don't enforce a schema on entities, which means a single table can contain entities that have different sets of properties. An account can contain many tables, the size of which is only limited by the 100TB storage account limit.

Entity: An entity is a set of properties, similar to a database row. An entity can be up to 1MB in size.

Properties: A property is a name-value pair. Each entity can include up to 252 properties to store data. Each entity also has 3 system properties that specify a partition key, a row key, and a timestamp. Entities with the same partition key can be queried more quickly, and inserted/updated in atomic operations. An entity's row key is its unique identifier within a partition.

Table storage in dettaglio

Page 17: Windows azure - abbattere tempi e costi di sviluppo

Le classi dovranno ereditare da TableEntity

Si devono valorizzare le proprietà PartitionKey e RowKey Entità con lo stesso PartitionKey vengono

recuperate molto più velocemente Il PartitionKey definisce come vengono

partizionati i dati Il RowKey è la chiave primaria all'interno della

stessa partizione PartitionKey e RowKey devono essere una

chiave univoca

Il server gestisce in modo automatico la proprietà Timestamp

Da dove iniziare?

Page 18: Windows azure - abbattere tempi e costi di sviluppo

demo

Page 19: Windows azure - abbattere tempi e costi di sviluppo

Hosting

• Esiste qualche hosting gratuito?– E che mi dia garanzie di

qualità/prestazioni?

Page 20: Windows azure - abbattere tempi e costi di sviluppo

Fino a 10 WebSite gratuiti Ottimi per applicazioni che non

hanno grosse pretese Website appena avviati Applicazioni "prototipo" da far vedere al

cliente Ambienti di test Blog aziendali e/o personali

In caso di richiesta di maggiori risorse, è possibile passare alla modalità Shared o Reserved E' possibile poi aumentare il numero di

istanze

Windows Azure – WebSites

Page 21: Windows azure - abbattere tempi e costi di sviluppo

Al TechEd 2013 è stata annunciato il supporto a SSL

Deploy diretto da Visual Studio oppure da FTP oppure (vedremo in seguito) Dal portale di gestione si scarica un file

contenente tutte le informazioni per il deploy

Vengono pubblicati solo i file modificati

Windows Azure – WebSites [2]

Page 22: Windows azure - abbattere tempi e costi di sviluppo

demo

Page 23: Windows azure - abbattere tempi e costi di sviluppo

Autenticazione

• Come facciamo con i Social Network?

Page 24: Windows azure - abbattere tempi e costi di sviluppo

Permette di integrare con falicità l'autenticazione utilizzando i vari social network

Basato sulla claims-based identity WIF portato nel Cloud

La parte di autenticazione viene demandata a codice Cloud Meno codice da dover gestire Codice già funzionante e facile da integrare

Richiede una minima configurazione per l'applicazione

Windows Azure - ACS

Page 25: Windows azure - abbattere tempi e costi di sviluppo

Provider di identità WS-Federation (ad es., Microsoft AD FS 2.0)

Applicazione Facebook Windows Live ID Google Yahoo!

Provider supportati

Page 26: Windows azure - abbattere tempi e costi di sviluppo

1.Faccio un redirect verso l'url della propria ACS su Windows Azure

2.Rimando ad una pagina in locale che si occupa di richiamare l'ACS

Dal portale di amministrazione è possibile scaricare una pagina html che contiene tutto il codice necessario

3.Uso dell'SDK

Da dove inizire

Page 27: Windows azure - abbattere tempi e costi di sviluppo

demo

Page 28: Windows azure - abbattere tempi e costi di sviluppo

Continuous integration

Page 29: Windows azure - abbattere tempi e costi di sviluppo

E' possibile impostare la pubblicazione automatica su WebSite o Cloud Service partendo da progetti hostati su GIT, TFS, Dropbox, Bitbucket, Codeplex, …. Risparmio di tempo nelle procedure di

deploy Ambiente online sempre aggiornato

Utile per avere un ambiente di test aggiornato con il codice presente nel controllo sorgente

Pubblicazione automatica

Page 30: Windows azure - abbattere tempi e costi di sviluppo

Per associare un progetto, iniziare dalla voce di menu presente nel pannello di controllo di Windows Azure In TFS, La pubblicazione su Windows Azure

è visibile nella sezione Builds del Team Explorer E' così possibile modificarla per impostare regole

differenti da quella di default

Da dove cominciare

Page 31: Windows azure - abbattere tempi e costi di sviluppo
Page 32: Windows azure - abbattere tempi e costi di sviluppo

Nel pannello di Windows Azure è presente un log di tutte le pubblicazioni Ogni pubblicazione ha il dettaglio di tutto

ciò che avviene

Selezionando una pubblicazione precedente, è possibile ripubblicarla

Ripubblicare una build precedente

Page 33: Windows azure - abbattere tempi e costi di sviluppo

demo

Page 34: Windows azure - abbattere tempi e costi di sviluppo

Sviluppo mobile

• Esiste qualcosa che permetta di facilitarmi nello sviluppo?– Storage– Autenticazione– Notifiche– …

Page 35: Windows azure - abbattere tempi e costi di sviluppo

Fornisce un'infrastruttura online per lo sviluppo di applicazione mobile o Win8

Non è limitato ai soli ambiente Microsoft Vengono forniti SDK e codice di esempio

anche per Android, iOS e per applicazioni HTML+JavaScript

Cosa fornisce? Storage dinamico su SQL Azure Notifiche Autenticazione

Windows Azure - Mobile Services

Page 36: Windows azure - abbattere tempi e costi di sviluppo

demo

Page 37: Windows azure - abbattere tempi e costi di sviluppo

feedback

10

o feedback su:• http://xedotnet.org/feedback

• Codice: GIU15Email: [email protected]: http://blog.dottor.netTwitter: http://twitter.com/dottor

feedback