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.
3. 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
7. 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
9. 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
10. 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
11. 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
12. 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?
14. 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
15. 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]
16. 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
Table storage in dettaglio
17. 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
Da dove iniziare?
20. 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
21. 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]
24. 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
25. Provider di identità WS-Federation
(ad es., Microsoft AD FS 2.0)
Applicazione Facebook
Windows Live ID
Google
Yahoo!
Provider supportati
26. 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
29. 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
30. 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
31.
32. 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
35. 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