SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
Andrea Dottor – Microsoft MVP ASP.NET/IIS
ASP.NET e Windows Azure...
abbattere tempi e costi di sviluppo
Novità
annunciate al
TechEd NA
2013
• News fresche 
• Applicate da Giugno 2013
– Già online!!
 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
Heavily Discounted MSDN Dev/Test
Rates
MSDN Monthly Monetary Credits
Portal Support for Better Tracking
MSDN Monetary Credit Usage
 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
Perché
questa
sessione?
 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
 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
 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
 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?
Database
• SQL Server sempre ed a ogni
costo?
….magari 
 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
 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]
 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
 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?
demo
Hosting
• Esiste qualche hosting
gratuito?
– E che mi dia garanzie di
qualità/prestazioni?
 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
 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]
demo
Autenticazion
e
• Come facciamo con i Social
Network?
 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
 Provider di identità WS-Federation
 (ad es., Microsoft AD FS 2.0)
 Applicazione Facebook
 Windows Live ID
 Google
 Yahoo!
Provider supportati
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
demo
Continuous
integration
 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
 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
 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
demo
Sviluppo
mobile
• Esiste qualcosa che permetta
di facilitarmi nello sviluppo?
– Storage
– Autenticazione
– Notifiche
– …
 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
demo
feedback
10
o feedback su:
• http://xedotnet.org/feedback
• Codice: GIU15
Email: andrea@dottor.net
Blog: http://blog.dottor.net
Twitter: http://twitter.com/dottor
feedback

Contenu connexe

Tendances

Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Andrea Dottor
 
Javascript task automation
Javascript task automationJavascript task automation
Javascript task automationAntonio Liccardi
 
Dal RenderFragment ai Generics, tips for Blazor developers
Dal RenderFragment ai Generics, tips for Blazor developersDal RenderFragment ai Generics, tips for Blazor developers
Dal RenderFragment ai Generics, tips for Blazor developersAndrea Dottor
 
Javascript task automation
Javascript task automationJavascript task automation
Javascript task automationDotNetCampus
 
ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiAndrea Dottor
 
Alla scoperta di gRPC
Alla scoperta di gRPCAlla scoperta di gRPC
Alla scoperta di gRPCAndrea Dottor
 
Slide typescript - net campus
Slide typescript - net campusSlide typescript - net campus
Slide typescript - net campusDotNetCampus
 
Dot netcampus2015 green-template
Dot netcampus2015 green-templateDot netcampus2015 green-template
Dot netcampus2015 green-templateDotNetCampus
 
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
2015.04.23 Azure Community Bootcamp 2015 Keynote ItalyMarco Parenzan
 
Async: scalabilità e responsiveness senza pari! @ CDays
Async: scalabilità e responsiveness senza pari! @ CDaysAsync: scalabilità e responsiveness senza pari! @ CDays
Async: scalabilità e responsiveness senza pari! @ CDaysMatteo Baglini
 
AntiPatterns: i vizi del programmatore
AntiPatterns: i vizi del programmatoreAntiPatterns: i vizi del programmatore
AntiPatterns: i vizi del programmatoreManuel Scapolan
 
Blazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiBlazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiAndrea Dottor
 
Introduzione a jQuery
Introduzione a jQueryIntroduzione a jQuery
Introduzione a jQuerySandro Marcon
 
ASP.NET MVC: sfruttare la piattaforma al 100%
ASP.NET MVC: sfruttare la piattaforma al 100%ASP.NET MVC: sfruttare la piattaforma al 100%
ASP.NET MVC: sfruttare la piattaforma al 100%DomusDotNet
 
Costruisci il tuo device
Costruisci il tuo deviceCostruisci il tuo device
Costruisci il tuo deviceDotNetCampus
 
COSTRUISCI IL TUO DEVICE
COSTRUISCI IL TUO DEVICECOSTRUISCI IL TUO DEVICE
COSTRUISCI IL TUO DEVICEDotNetCampus
 
Soluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie MicrosoftSoluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie MicrosoftMassimo Bonanni
 
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webAndrea Dottor
 

Tendances (20)

Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
 
Javascript task automation
Javascript task automationJavascript task automation
Javascript task automation
 
Dal RenderFragment ai Generics, tips for Blazor developers
Dal RenderFragment ai Generics, tips for Blazor developersDal RenderFragment ai Generics, tips for Blazor developers
Dal RenderFragment ai Generics, tips for Blazor developers
 
Javascript task automation
Javascript task automationJavascript task automation
Javascript task automation
 
ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivati
 
Alla scoperta di gRPC
Alla scoperta di gRPCAlla scoperta di gRPC
Alla scoperta di gRPC
 
Slide typescript - net campus
Slide typescript - net campusSlide typescript - net campus
Slide typescript - net campus
 
Dot netcampus2015 green-template
Dot netcampus2015 green-templateDot netcampus2015 green-template
Dot netcampus2015 green-template
 
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
 
Async: scalabilità e responsiveness senza pari! @ CDays
Async: scalabilità e responsiveness senza pari! @ CDaysAsync: scalabilità e responsiveness senza pari! @ CDays
Async: scalabilità e responsiveness senza pari! @ CDays
 
Microsoft Fast - Overview
Microsoft Fast - OverviewMicrosoft Fast - Overview
Microsoft Fast - Overview
 
AntiPatterns: i vizi del programmatore
AntiPatterns: i vizi del programmatoreAntiPatterns: i vizi del programmatore
AntiPatterns: i vizi del programmatore
 
Blazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiBlazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi reali
 
jQuery
jQueryjQuery
jQuery
 
Introduzione a jQuery
Introduzione a jQueryIntroduzione a jQuery
Introduzione a jQuery
 
ASP.NET MVC: sfruttare la piattaforma al 100%
ASP.NET MVC: sfruttare la piattaforma al 100%ASP.NET MVC: sfruttare la piattaforma al 100%
ASP.NET MVC: sfruttare la piattaforma al 100%
 
Costruisci il tuo device
Costruisci il tuo deviceCostruisci il tuo device
Costruisci il tuo device
 
COSTRUISCI IL TUO DEVICE
COSTRUISCI IL TUO DEVICECOSTRUISCI IL TUO DEVICE
COSTRUISCI IL TUO DEVICE
 
Soluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie MicrosoftSoluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie Microsoft
 
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
 

En vedette

ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimizationAndrea Dottor
 
Il buon programmatore - consigli pratici per una vita felice
Il buon programmatore - consigli pratici per una vita feliceIl buon programmatore - consigli pratici per una vita felice
Il buon programmatore - consigli pratici per una vita feliceAndrea Dottor
 
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012Andrea Dottor
 
Migliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.jsMigliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.jsAndrea Dottor
 
L'evoluzione del web
L'evoluzione del webL'evoluzione del web
L'evoluzione del webAndrea Dottor
 
Introduzione ad ASP.NET Core
Introduzione ad ASP.NET CoreIntroduzione ad ASP.NET Core
Introduzione ad ASP.NET CoreAndrea Dottor
 

En vedette (7)

ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimization
 
Il buon programmatore - consigli pratici per una vita felice
Il buon programmatore - consigli pratici per una vita feliceIl buon programmatore - consigli pratici per una vita felice
Il buon programmatore - consigli pratici per una vita felice
 
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
 
Migliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.jsMigliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.js
 
ASP.NET Core
ASP.NET CoreASP.NET Core
ASP.NET Core
 
L'evoluzione del web
L'evoluzione del webL'evoluzione del web
L'evoluzione del web
 
Introduzione ad ASP.NET Core
Introduzione ad ASP.NET CoreIntroduzione ad ASP.NET Core
Introduzione ad ASP.NET Core
 

Similaire à Windows azure - abbattere tempi e costi di sviluppo

2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...Marco Parenzan
 
Be02 portare la nostra applicazione su azure
Be02   portare la nostra applicazione su azureBe02   portare la nostra applicazione su azure
Be02 portare la nostra applicazione su azureDotNetCampus
 
1° Seminario CRUI - GARR: Una Cloud federata per università e ricerca, come u...
1° Seminario CRUI - GARR: Una Cloud federata per università e ricerca, come u...1° Seminario CRUI - GARR: Una Cloud federata per università e ricerca, come u...
1° Seminario CRUI - GARR: Una Cloud federata per università e ricerca, come u...Jürgen Ambrosi
 
Azure dayroma java, il lato oscuro del cloud
Azure dayroma   java, il lato oscuro del cloudAzure dayroma   java, il lato oscuro del cloud
Azure dayroma java, il lato oscuro del cloudRiccardo Zamana
 
Viaggio attraverso il cloud - Consigli e best practices per iniziare con il c...
Viaggio attraverso il cloud - Consigli e best practices per iniziare con il c...Viaggio attraverso il cloud - Consigli e best practices per iniziare con il c...
Viaggio attraverso il cloud - Consigli e best practices per iniziare con il c...Amazon Web Services
 
Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0Alessandro Forte
 
Database Project in Visual Studio 2010
Database Project in Visual Studio 2010Database Project in Visual Studio 2010
Database Project in Visual Studio 2010Gian Maria Ricci
 
Sys03 microsoft azure for it pro
Sys03   microsoft azure for it proSys03   microsoft azure for it pro
Sys03 microsoft azure for it proDotNetCampus
 
PASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous IntegrationPASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous IntegrationAlessandro Alpi
 
Fe02 ria con breeze e knockout
Fe02   ria con breeze e knockoutFe02   ria con breeze e knockout
Fe02 ria con breeze e knockoutDotNetCampus
 
Integrazione continua con TFS Build
Integrazione continua con TFS BuildIntegrazione continua con TFS Build
Integrazione continua con TFS BuildGian Maria Ricci
 
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...Alessandro Alpi
 
Webcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio OnlineWebcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio OnlineDavide Benvegnù
 
Azure WebSites for Developers
Azure WebSites for DevelopersAzure WebSites for Developers
Azure WebSites for DevelopersLuca Milan
 
Introduzione a Microsoft Azure
Introduzione a Microsoft AzureIntroduzione a Microsoft Azure
Introduzione a Microsoft AzureRoberto Albano
 
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...azuredayit
 
CONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERCONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERDotNetCampus
 
Community Tour 2009 Windows Azure Overview
Community Tour 2009 Windows Azure OverviewCommunity Tour 2009 Windows Azure Overview
Community Tour 2009 Windows Azure OverviewFabio Cozzolino
 

Similaire à Windows azure - abbattere tempi e costi di sviluppo (20)

2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
Be02 portare la nostra applicazione su azure
Be02   portare la nostra applicazione su azureBe02   portare la nostra applicazione su azure
Be02 portare la nostra applicazione su azure
 
1° Seminario CRUI - GARR: Una Cloud federata per università e ricerca, come u...
1° Seminario CRUI - GARR: Una Cloud federata per università e ricerca, come u...1° Seminario CRUI - GARR: Una Cloud federata per università e ricerca, come u...
1° Seminario CRUI - GARR: Una Cloud federata per università e ricerca, come u...
 
Azure dayroma java, il lato oscuro del cloud
Azure dayroma   java, il lato oscuro del cloudAzure dayroma   java, il lato oscuro del cloud
Azure dayroma java, il lato oscuro del cloud
 
Viaggio attraverso il cloud - Consigli e best practices per iniziare con il c...
Viaggio attraverso il cloud - Consigli e best practices per iniziare con il c...Viaggio attraverso il cloud - Consigli e best practices per iniziare con il c...
Viaggio attraverso il cloud - Consigli e best practices per iniziare con il c...
 
Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0
 
Database Project in Visual Studio 2010
Database Project in Visual Studio 2010Database Project in Visual Studio 2010
Database Project in Visual Studio 2010
 
Sys03 microsoft azure for it pro
Sys03   microsoft azure for it proSys03   microsoft azure for it pro
Sys03 microsoft azure for it pro
 
PASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous IntegrationPASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous Integration
 
Fe02 ria con breeze e knockout
Fe02   ria con breeze e knockoutFe02   ria con breeze e knockout
Fe02 ria con breeze e knockout
 
Integrazione continua con TFS Build
Integrazione continua con TFS BuildIntegrazione continua con TFS Build
Integrazione continua con TFS Build
 
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
 
Cert02 70-410
Cert02   70-410Cert02   70-410
Cert02 70-410
 
Webcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio OnlineWebcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio Online
 
Azure WebSites for Developers
Azure WebSites for DevelopersAzure WebSites for Developers
Azure WebSites for Developers
 
Introduzione a Microsoft Azure
Introduzione a Microsoft AzureIntroduzione a Microsoft Azure
Introduzione a Microsoft Azure
 
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
 
CONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERCONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVER
 
Community Tour 2009 Windows Azure Overview
Community Tour 2009 Windows Azure OverviewCommunity Tour 2009 Windows Azure Overview
Community Tour 2009 Windows Azure Overview
 

Plus de Andrea Dottor

Blazor ♥️ JavaScript
Blazor ♥️ JavaScriptBlazor ♥️ JavaScript
Blazor ♥️ JavaScriptAndrea Dottor
 
Blazor, lo sapevi che...
Blazor, lo sapevi che...Blazor, lo sapevi che...
Blazor, lo sapevi che...Andrea Dottor
 
Blazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web FormBlazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web FormAndrea Dottor
 
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...Andrea Dottor
 
What's New in ASP.NET Core 3
What's New in ASP.NET Core 3What's New in ASP.NET Core 3
What's New in ASP.NET Core 3Andrea Dottor
 
Real case: migrate from Web Forms to ASP.NET Core gradually
Real case: migrate from Web Forms to ASP.NET Core graduallyReal case: migrate from Web Forms to ASP.NET Core gradually
Real case: migrate from Web Forms to ASP.NET Core graduallyAndrea Dottor
 
ASP.NET Core - Razor Pages
ASP.NET Core - Razor PagesASP.NET Core - Razor Pages
ASP.NET Core - Razor PagesAndrea Dottor
 
Customize ASP.NET Core scaffolding
Customize ASP.NET Core scaffoldingCustomize ASP.NET Core scaffolding
Customize ASP.NET Core scaffoldingAndrea Dottor
 
ASP.NET, ottimizziamo con la cache
ASP.NET, ottimizziamo con la cacheASP.NET, ottimizziamo con la cache
ASP.NET, ottimizziamo con la cacheAndrea Dottor
 
Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0Andrea Dottor
 
Creare API pubbliche, come evitare gli errori comuni
 Creare API pubbliche, come evitare gli errori comuni Creare API pubbliche, come evitare gli errori comuni
Creare API pubbliche, come evitare gli errori comuniAndrea Dottor
 
Deploy & Run on Azure App Service
Deploy & Run on Azure App ServiceDeploy & Run on Azure App Service
Deploy & Run on Azure App ServiceAndrea Dottor
 
Creare API pubbliche, come evitare gli errori comuni
Creare API pubbliche, come evitare gli errori comuniCreare API pubbliche, come evitare gli errori comuni
Creare API pubbliche, come evitare gli errori comuniAndrea Dottor
 
Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5Andrea Dottor
 

Plus de Andrea Dottor (14)

Blazor ♥️ JavaScript
Blazor ♥️ JavaScriptBlazor ♥️ JavaScript
Blazor ♥️ JavaScript
 
Blazor, lo sapevi che...
Blazor, lo sapevi che...Blazor, lo sapevi che...
Blazor, lo sapevi che...
 
Blazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web FormBlazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web Form
 
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
 
What's New in ASP.NET Core 3
What's New in ASP.NET Core 3What's New in ASP.NET Core 3
What's New in ASP.NET Core 3
 
Real case: migrate from Web Forms to ASP.NET Core gradually
Real case: migrate from Web Forms to ASP.NET Core graduallyReal case: migrate from Web Forms to ASP.NET Core gradually
Real case: migrate from Web Forms to ASP.NET Core gradually
 
ASP.NET Core - Razor Pages
ASP.NET Core - Razor PagesASP.NET Core - Razor Pages
ASP.NET Core - Razor Pages
 
Customize ASP.NET Core scaffolding
Customize ASP.NET Core scaffoldingCustomize ASP.NET Core scaffolding
Customize ASP.NET Core scaffolding
 
ASP.NET, ottimizziamo con la cache
ASP.NET, ottimizziamo con la cacheASP.NET, ottimizziamo con la cache
ASP.NET, ottimizziamo con la cache
 
Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0
 
Creare API pubbliche, come evitare gli errori comuni
 Creare API pubbliche, come evitare gli errori comuni Creare API pubbliche, come evitare gli errori comuni
Creare API pubbliche, come evitare gli errori comuni
 
Deploy & Run on Azure App Service
Deploy & Run on Azure App ServiceDeploy & Run on Azure App Service
Deploy & Run on Azure App Service
 
Creare API pubbliche, come evitare gli errori comuni
Creare API pubbliche, come evitare gli errori comuniCreare API pubbliche, come evitare gli errori comuni
Creare API pubbliche, come evitare gli errori comuni
 
Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5
 

Windows azure - abbattere tempi e costi di sviluppo

  • 1. Andrea Dottor – Microsoft MVP ASP.NET/IIS ASP.NET e Windows Azure... abbattere tempi e costi di sviluppo
  • 2. Novità annunciate al TechEd NA 2013 • News fresche  • Applicate da Giugno 2013 – Già online!!
  • 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
  • 4. Heavily Discounted MSDN Dev/Test Rates
  • 6. Portal Support for Better Tracking MSDN Monetary Credit Usage
  • 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?
  • 13. Database • SQL Server sempre ed a ogni costo? ….magari 
  • 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?
  • 18. demo
  • 19. Hosting • Esiste qualche hosting gratuito? – E che mi dia garanzie di qualità/prestazioni?
  • 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]
  • 22. demo
  • 23. Autenticazion e • Come facciamo con i Social Network?
  • 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
  • 27. demo
  • 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
  • 33. demo
  • 34. Sviluppo mobile • Esiste qualcosa che permetta di facilitarmi nello sviluppo? – Storage – Autenticazione – Notifiche – …
  • 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
  • 36. demo
  • 37. feedback 10 o feedback su: • http://xedotnet.org/feedback • Codice: GIU15 Email: andrea@dottor.net Blog: http://blog.dottor.net Twitter: http://twitter.com/dottor feedback