SlideShare a Scribd company logo
Windows Azure OverviewFabio CozzolinoDOTNETSIDE11/12/2009
Cloud computingQualcosadaqualche parteLetteralmente “nuvola”Perchè ne abbiamobisogno?Applicazioni ad altascalabilità in gradodiaccettare un alto numerodiutenticontemporaneiZero DowntimeLoad Balancing automaticoPlatform as a ServiceNon mi preoccupodell’hardwarePago quellocheconsumo
Cos’è Windows Azure?“A framework that allows you to scale from 10 users to 10 million users without additional coding” Ray Ozzie - Microsoft Chief Software Architect
Unapiattaformadi:Hosting diApplicazioniLights-out service managementStorage ad altascalabilitàE’ progettato per:RidurreicostitotalidigestioneE’ pronto per:Applicazioni Business-criticalAdozionedi patterncomplessiCos’è Windows Azure?
AgendaThe road to the CloudWindows Azure StorageBlobs
Queues
TablesCloud DevelopmentWindows Azure platform AppFabricSQL Azure
Windows Azure StorageTablesFornisceuno storage strutturato dove unatabella è compostada un set dientitàedognientitàda un set diproprietàQueuesFornisceuno storage affidabile e la possibilitàdiinviare e riceveremessaggi per le nostre applicazioniBlobsFornisceun’interfacciasemplificata per memorizzare files edeventualmentemetadatiassociatiDrivesFornisce un volume didati NTFS duraturo per l’utilizzo in applicazioni Windows Azure
Richiedere la creazionediuno Storage AccountunivocoPossibilitàdiscegliere la posizionegeografica“US Anywhere”, “US North Central”, “US South Central”, Can co-locate storage account with compute accountCreazionediuna secret key a 256 bitCapacitàdiunoStorage Account CapacityFino a 100 TB per Storage AccountLimit di 5 storage accounts per subscription Windows Azure Storage Account
Windows Azure Portal – Projects
Windows Azure Portal – Nuovo Servizio
Windows Azure Portal
Windows AzureTables
Windows Azure TablesStructured StorageTabelle ad altascalabilitàBillionidientità (rows) e TBs didatiPossibilitàdiutilizzodipiù server al cresceredellerichiesteHighly Available & DurableI dativengonoreplicatinellostesso data store e (dafebbraio) in datastoregeograficamentedistribuitiSemplicitiàdiutilizzodelle APIADO.NET Data Services – .NET 3.5 SP1Classi .NET e LINQREST
Table Storage ConceptsEntitiesTablesAccountsEmail  =…Name = …AuthorsEmail  =…Name = …libraryPages =…Title    = …BooksPages =…Title    = …
Table Data ModelTableUno Storage Account puòcrearepiùtabelleLo scope diunatabella è relativoall’accountdiappartenzaSet dientitità (i.e. rows)EntitySet diproprietà (colonne)Required propertiesPartitionKey e RowKeyIdentificanounivocamenteunaentitàDefinisconol’ordinamentoUtilizzate per scalarel’applicazioneTimestampRead onlyOptimistic Concurrency
Required Entity PropertiesPartitionKey & RowKeyIdentificanounivocamenteunaentitàDefinisconol’ordinamentoUtilizzate per scalarel’applicazioneTimestamp Read onlyOptimistic Concurrency
PartitionKey e PartitionsPartitionKeyUtilizzata per raggruppare le entità in unapartizioneUnapartizioneditabelleRaggruppatutte le entità con la stessa partition keySingolaunitàdiscalabilitàControllo del posizionamentodelle entityRow key forniscel’univocitàall’internodiunapartizione
Table OperationsTableCreateQueryDeleteEntitiesInsertUpdate Merge – Partial UpdateReplace – Update entire entityDeleteQueryEntity Group Transaction (new)
Table SchemaDefine the schema as a .NET class   [DataServiceKey("PartitionKey", "RowKey")]publicclassBook    {///<summary>/// Category is the partition key///</summary>publicstringPartitionKey { get; set; }///<summary>/// Title is the row key///</summary>publicstringRowKey { get; set; }publicDateTime Timestamp { get; set; }publicstring Author { get; set; }publicintPages { get; set; }    }
Windows Azure TablesDemo
Scalable PartitionA cosa mi servono diverse PartitionKeys?Inseriscol’Account name come Partition Key  Inseriscoiltitolodi un libro come RowKey, mi serve per ordinare la tabellaLa categoriava in unaproprietàseparataMa…è scalabile?
Solution 1Singolapartizione – Tutta la tabella è su un unico serverDi conseguenzatutte le richiesteverrannogestiteda un unico server…chiaramente non è scalabileClientClientRequestRequestRequestRequestServer A
Solution 2Partizioniamo per categoriaConsentiamo al sistemadibilanciareilcaricodellepartizionipiùrichiesteE’ meglio … Server AClientClientRequestRequestRequestRequestRequestRequestRequestRequestServer B
Windows AzureQueues
Windows Azure QueuesLe code risultanoefficienti, ad altadisponibilità e consentonol’inviosicuroedaffidabiledimessaggiSempliceedasincronoUn messaggiopuòessereprocessatoalmenounavoltaAccesso via REST
Queue OperationsQueueCreate QueueDelete QueueList QueuesGet/Set Queue MetadataMessagesAdd Message (i.e. Enqueue Message)Get Message(s) (i.e. Dequeue Message)Peek Message(s)Delete Message
Queue Storage ConceptsMessagesQueuesAccountsbookId: 1http://...bookmsgsbookId: 2 http://...fabstoragehttp://...…http://...
Account, Queues and MessagesUn Account puòcrearepiù codeIl nomediuna coda è relazionatoall’account (scope)Una codacontienemessaggiNessunlimitedimessaggipresenti in una codaE’ importanteimpostare un limite per la scadenzadi un messaggioMessagesDimensione <= 8 KBUtilizzarei blob o le entities per memorizzaredatididimensionimaggioriVieneconteggiatoilnumeroditentatividiletturadalla coda (dequeue)
Removing Poison MessagesProducersConsumersC1P21. GetMessage(Q, 30 s)  msg 1211111213403011211020C2P12. GetMessage(Q, 30 s)  msg 2
Removing Poison MessagesProducersConsumers11C1P21. GetMessage(Q, 30 s)  msg 15. C1 crashed4011213012111236. msg1 visible 30 s after Dequeue21C2P12. GetMessage(Q, 30 s)  msg 23. C2 consumed msg 24. DeleteMessage(Q, msg 2)7. GetMessage(Q, 30 s)  msg 1
Removing Poison MessagesProducersConsumers1. Dequeue(Q, 30 sec)  msg 15. C1 crashed10.  C1 restarted11.  Dequeue(Q, 30 sec)  msg 112.  DequeueCount > 213.  Delete (Q, msg1)C1P2401230131213312C2P16. msg1 visible 30s after Dequeue9. msg1 visible 30s after Dequeue2. Dequeue(Q, 30 sec)  msg 23. C2 consumed msg 24. Delete(Q, msg 2)7. Dequeue(Q, 30 sec)  msg18. C2 crashed
Windows Azure QueuesDemo
Windows AzureBlobs
Windows Azure Blob StorageFornisce la possibilità di memorizzare qualsiasi tipo filesCapacità di gestione dei blocchiDue tipologie di BlobsBlockBlobPageBlob (new)
BlobContainerAccountBlob Storage ConceptsPIC01.JPGcoversBOOK1.XPSPIC02.JPGbookspreviews
Blocks or PagesBlobContainerAccountBlob Storage ConceptsAdding Blocks and PagesPIC01.JPGcoversPIC02.JPGbooksBlock or Page 1previewsBOOK1.XPSBlock or Page  2Block or Page  3
Blob ContainersPossibilitàdiaverediversi blob containersBlob ContainerUn container è un set di blobsImpostazionedellepolitichediaccesso a livellodi containerAccessibilitàprivata o pubblicaPossibilitàdiassociaremetadatiCoppienome - valoreFino a 8KB per containerElencodei blobs in un container
Funzioni e caratteristichedei BlobsStore Large Objects (100s of GBs in size)PossibilitàdiassociaremetadatiCoppienome – valoreFino ad 8KB per blobSet e Get contestuale o separatoStandard REST InterfacePutBlobNew blob (sostituisceil blob esistente)GetBlobGet blob (o un range specifico)DeleteBlobCopyBlob (new)SnapshotBlob (new)LeaseBlob (new)
Composizionedell’indirizzodei BlobsBlob URLhttp://<Account>.blob.core.windows.net/<Container>/<BlobName>Example: Storage Account – fabstorageContainer – imagesBlobName – holidays/sea.tiffhttp://fabstorage.blob.core.windows.net/images/holidays/sea.tiff
Copia e Snapshot dei Blob (new)CopyBlobCopianellostesso storage account Rename (copia e rimuovi)SnapshotBlobPuòessereutilizzato per creare backup o versionidi blobCreazionediuno snapshotSpecifichiamoil blob con ilparametrocomp=snapshothttp://account.blob.core.windows.net/images/sea.jpg?comp=snapshot Recupero con timestamphttp://account.blob.core.windows.net/images/pic1.jpg?snapshot=<DateTime>StorageVengonomemorizzate solo le modifiche del blob
Windows Azure BlobsDemo
Content Delivery Network (new)Accessoai blobs utilizzandoilproprionomedidominio:http://account.blob.core.windows.net/http://market.cohowinery.com/http://market.cohowinery.com/images/pic1.jpgRegistrazione del nomedidominioattraversoil Windows Azure Developer Portal:Vieneeffettuato un processodivalidazioneAccessoesclusivamente via HTTPE’ possibileregistrare solo un nomedidominio per storage account
Windows Azure XDriveFornisce un volume NTFS per l’utilizzo in applicazioni Windows AzureAffidabilità e mantenimentodeidati in casodi system failureE’ sostanzialmente un PageBlobformattato con NTFS e disponibile come VHDDisponibiledaFebbraio 2010
Windows AzureHosted Services
From “On-Premises” to “in-the-cloud”Le attuali applicazioni vengono definite “On-Premises”Se abbiamo ben sviluppato le nostre applicazioni il passaggio risulterà “quasi” indolorePosso progettare una nuova applicazione per Azure utilizzando qualsiasi tecnologiaQualsiasi tecnologia Web (Silverlight, ASP.NET, ASP.NET MVC, etc...)Con le applicazioni desktop posso utilizzare Windows Azure Storage o SQL AzureHybrid Cloud Application con Windows Azure e AppFabric
Web vs Worker RoleWorker RoleWeb RoleSystem HostIIS HostYour CodeYour Code
RolesRoleCodeConfiguration
Development Fabric and StorageLocal MachineWindows Azure Simulation Environment Development StorageDevelopment Fabric
Sviluppo Web in-the-cloudDemo
Application Deployment
Application Deployment
Windows AzureAppFabric
Windows Azure platform AppFabricAccess Control ServiceServizio per il controllo degli accessiGestione dell’autenticazioneRilascio di token di autorizzazioneGestione di regoleService BusOffre un feed ATOM dei servizi in ascoltoRisolve i problemi di connettività tra client geograficamente distribuiti
AppFabric - Access Control ServiceTremodalitàdirilasciodi tokenPlaintextNessunacriptazionerichiestaSigned tokenSemplice scenario didelegaRichiesta firma HMAC SHA 256SAML bearer tokenConsentel’integrazione in ambienti enterpriseL’ACS ritornasempre lo stessotipodi token:Simple Web Token (SWT)
Esempio di SWTrole=Admin%2cUser&customerName=Contoso%20Corporation&Issuer=https%3a%2f%2fadatum.accesscontrol.windows.net%2fWRAPv0.8&Audience=http%3a%2f%2fadatum%2fbillprint&ExpiresOn=1255912922&HMACSHA256=yuVO%2fwc58%2ftYP36%2fDM1mS%2fHr0hswpsGTWwgfvAbpL64%3d
Windows Azure platform AppFabricDemo
Windows AzureSQL Azure
SQL AzureE’ praticamente SQL Server portato in-the-cloudAccedo al database utilizzando TDS (Tabular Data Stream)
SQL Azure
SQL Azure
SQL Azure
Windows Azure ToolsAzure Storage Explorerhttp://azurestorageexplorer.codeplex.com/Cloud Storage Studiohttp://www.cerebrata.com/Products/CloudStorageStudio/CloudBerry Explorer for Azure Blob Storagehttp://www.cloudberrylab.comAccess Control Service Management Browser http://code.msdn.microsoft.com/acmbrowser
Windows Azure, The Next Few WeeksFebPaid usageJanCommercial platformNowCTP with launch feature set

More Related Content

PDF
MongoDB Scala Roma SpringFramework Meeting2009
PPTX
Introduzione al framework dl4j Antonio berti
PDF
MongoDB User Group Padova - Overviews iniziale su MongoDB
PDF
MongoDB SpringFramework Meeting september 2009
PDF
Deploy MongoDB su Infrastruttura Amazon Web Services
PPT
Tanzania
PPT
PDF
Bangladesh Labor Rule 2015
MongoDB Scala Roma SpringFramework Meeting2009
Introduzione al framework dl4j Antonio berti
MongoDB User Group Padova - Overviews iniziale su MongoDB
MongoDB SpringFramework Meeting september 2009
Deploy MongoDB su Infrastruttura Amazon Web Services
Tanzania
Bangladesh Labor Rule 2015

Viewers also liked (20)

PPS
Hello Father Christmas
PPT
Demostraciones
PPS
Lorn Overview
PDF
KVSRO GUWAHATI 2011-2012 NEWSLETTER
PDF
Optimizing Performance Server9 2 Final
PPTX
ePortoflios for lifelong learning
PPT
Telephone group project
PDF
Tabla rt2
PPS
ePortfolio Symposium presentation
PDF
Innovative experiences of Open Educational Resources towards academic knowled...
PPS
Fajr
PPT
CloudValley
PPS
Eportfolio Presentation
PPT
Produkte Werbung
DOC
Martinez german r
PPT
Podcasting Presentation Elearning April 2008
PPT
Cat Oca Mediateca
PPT
Edu Tourism
PPT
Cat Oca Mediateca
PPT
Sosiaalinen Media 23022010
Hello Father Christmas
Demostraciones
Lorn Overview
KVSRO GUWAHATI 2011-2012 NEWSLETTER
Optimizing Performance Server9 2 Final
ePortoflios for lifelong learning
Telephone group project
Tabla rt2
ePortfolio Symposium presentation
Innovative experiences of Open Educational Resources towards academic knowled...
Fajr
CloudValley
Eportfolio Presentation
Produkte Werbung
Martinez german r
Podcasting Presentation Elearning April 2008
Cat Oca Mediateca
Edu Tourism
Cat Oca Mediateca
Sosiaalinen Media 23022010
Ad

Similar to Community Tour 2009 Windows Azure Overview (20)

PPTX
Windows azure - abbattere tempi e costi di sviluppo
PPTX
Database Project in Visual Studio 2010
PDF
Introduzione a google_app_engine_datastore
PPTX
ASP.NET MVC 6 - uno sguardo al futuro
PDF
Microsoft Azure
PDF
How I did it (in .NET): idiomatic Domain Driven Design
PDF
Code Contracts and Generics: implementing a LINQ-enabled Repository
PDF
TYPO3 CMS 8.1 - Le novità
PDF
TYPO3 CMS 7.4 Le novita
PPTX
Entity Framework 4 vs NHibernate 3
PPTX
Il web 2.0
PDF
DDive - 8.5.2 Xpages - L'evoluzione continua
PPTX
Html5 e css3 nuovi strumenti per un nuovo web
PDF
Repository pattern
PDF
ORM Java - Hibernate
PPTX
ASP.NET performance optimization
PPT
What's New in ASP.NET 4.5 and Visual Studio 2012
PPTX
DotNetCampus - Continuous Integration con Sql Server
Windows azure - abbattere tempi e costi di sviluppo
Database Project in Visual Studio 2010
Introduzione a google_app_engine_datastore
ASP.NET MVC 6 - uno sguardo al futuro
Microsoft Azure
How I did it (in .NET): idiomatic Domain Driven Design
Code Contracts and Generics: implementing a LINQ-enabled Repository
TYPO3 CMS 8.1 - Le novità
TYPO3 CMS 7.4 Le novita
Entity Framework 4 vs NHibernate 3
Il web 2.0
DDive - 8.5.2 Xpages - L'evoluzione continua
Html5 e css3 nuovi strumenti per un nuovo web
Repository pattern
ORM Java - Hibernate
ASP.NET performance optimization
What's New in ASP.NET 4.5 and Visual Studio 2012
DotNetCampus - Continuous Integration con Sql Server
Ad

More from Fabio Cozzolino (8)

PPTX
PPTX
Xamarin Robotics
PPTX
Xamarin Forms
PPTX
Costruire app per WinPhone, iOS e Android con C# e Xamarin
PPTX
Sviluppo apps multipiattaforma con visual studio e xamarin
PPTX
Introduction to service stack
PPTX
Microsoft Integration Platform
PPTX
Notify your Windows Store app with Service Bus Notification Hub
Xamarin Robotics
Xamarin Forms
Costruire app per WinPhone, iOS e Android con C# e Xamarin
Sviluppo apps multipiattaforma con visual studio e xamarin
Introduction to service stack
Microsoft Integration Platform
Notify your Windows Store app with Service Bus Notification Hub

Community Tour 2009 Windows Azure Overview

  • 1. Windows Azure OverviewFabio CozzolinoDOTNETSIDE11/12/2009
  • 2. Cloud computingQualcosadaqualche parteLetteralmente “nuvola”Perchè ne abbiamobisogno?Applicazioni ad altascalabilità in gradodiaccettare un alto numerodiutenticontemporaneiZero DowntimeLoad Balancing automaticoPlatform as a ServiceNon mi preoccupodell’hardwarePago quellocheconsumo
  • 3. Cos’è Windows Azure?“A framework that allows you to scale from 10 users to 10 million users without additional coding” Ray Ozzie - Microsoft Chief Software Architect
  • 4. Unapiattaformadi:Hosting diApplicazioniLights-out service managementStorage ad altascalabilitàE’ progettato per:RidurreicostitotalidigestioneE’ pronto per:Applicazioni Business-criticalAdozionedi patterncomplessiCos’è Windows Azure?
  • 5. AgendaThe road to the CloudWindows Azure StorageBlobs
  • 7. TablesCloud DevelopmentWindows Azure platform AppFabricSQL Azure
  • 8. Windows Azure StorageTablesFornisceuno storage strutturato dove unatabella è compostada un set dientitàedognientitàda un set diproprietàQueuesFornisceuno storage affidabile e la possibilitàdiinviare e riceveremessaggi per le nostre applicazioniBlobsFornisceun’interfacciasemplificata per memorizzare files edeventualmentemetadatiassociatiDrivesFornisce un volume didati NTFS duraturo per l’utilizzo in applicazioni Windows Azure
  • 9. Richiedere la creazionediuno Storage AccountunivocoPossibilitàdiscegliere la posizionegeografica“US Anywhere”, “US North Central”, “US South Central”, Can co-locate storage account with compute accountCreazionediuna secret key a 256 bitCapacitàdiunoStorage Account CapacityFino a 100 TB per Storage AccountLimit di 5 storage accounts per subscription Windows Azure Storage Account
  • 10. Windows Azure Portal – Projects
  • 11. Windows Azure Portal – Nuovo Servizio
  • 14. Windows Azure TablesStructured StorageTabelle ad altascalabilitàBillionidientità (rows) e TBs didatiPossibilitàdiutilizzodipiù server al cresceredellerichiesteHighly Available & DurableI dativengonoreplicatinellostesso data store e (dafebbraio) in datastoregeograficamentedistribuitiSemplicitiàdiutilizzodelle APIADO.NET Data Services – .NET 3.5 SP1Classi .NET e LINQREST
  • 15. Table Storage ConceptsEntitiesTablesAccountsEmail =…Name = …AuthorsEmail =…Name = …libraryPages =…Title = …BooksPages =…Title = …
  • 16. Table Data ModelTableUno Storage Account puòcrearepiùtabelleLo scope diunatabella è relativoall’accountdiappartenzaSet dientitità (i.e. rows)EntitySet diproprietà (colonne)Required propertiesPartitionKey e RowKeyIdentificanounivocamenteunaentitàDefinisconol’ordinamentoUtilizzate per scalarel’applicazioneTimestampRead onlyOptimistic Concurrency
  • 17. Required Entity PropertiesPartitionKey & RowKeyIdentificanounivocamenteunaentitàDefinisconol’ordinamentoUtilizzate per scalarel’applicazioneTimestamp Read onlyOptimistic Concurrency
  • 18. PartitionKey e PartitionsPartitionKeyUtilizzata per raggruppare le entità in unapartizioneUnapartizioneditabelleRaggruppatutte le entità con la stessa partition keySingolaunitàdiscalabilitàControllo del posizionamentodelle entityRow key forniscel’univocitàall’internodiunapartizione
  • 19. Table OperationsTableCreateQueryDeleteEntitiesInsertUpdate Merge – Partial UpdateReplace – Update entire entityDeleteQueryEntity Group Transaction (new)
  • 20. Table SchemaDefine the schema as a .NET class [DataServiceKey("PartitionKey", "RowKey")]publicclassBook {///<summary>/// Category is the partition key///</summary>publicstringPartitionKey { get; set; }///<summary>/// Title is the row key///</summary>publicstringRowKey { get; set; }publicDateTime Timestamp { get; set; }publicstring Author { get; set; }publicintPages { get; set; } }
  • 22. Scalable PartitionA cosa mi servono diverse PartitionKeys?Inseriscol’Account name come Partition Key Inseriscoiltitolodi un libro come RowKey, mi serve per ordinare la tabellaLa categoriava in unaproprietàseparataMa…è scalabile?
  • 23. Solution 1Singolapartizione – Tutta la tabella è su un unico serverDi conseguenzatutte le richiesteverrannogestiteda un unico server…chiaramente non è scalabileClientClientRequestRequestRequestRequestServer A
  • 24. Solution 2Partizioniamo per categoriaConsentiamo al sistemadibilanciareilcaricodellepartizionipiùrichiesteE’ meglio … Server AClientClientRequestRequestRequestRequestRequestRequestRequestRequestServer B
  • 26. Windows Azure QueuesLe code risultanoefficienti, ad altadisponibilità e consentonol’inviosicuroedaffidabiledimessaggiSempliceedasincronoUn messaggiopuòessereprocessatoalmenounavoltaAccesso via REST
  • 27. Queue OperationsQueueCreate QueueDelete QueueList QueuesGet/Set Queue MetadataMessagesAdd Message (i.e. Enqueue Message)Get Message(s) (i.e. Dequeue Message)Peek Message(s)Delete Message
  • 28. Queue Storage ConceptsMessagesQueuesAccountsbookId: 1http://...bookmsgsbookId: 2 http://...fabstoragehttp://...…http://...
  • 29. Account, Queues and MessagesUn Account puòcrearepiù codeIl nomediuna coda è relazionatoall’account (scope)Una codacontienemessaggiNessunlimitedimessaggipresenti in una codaE’ importanteimpostare un limite per la scadenzadi un messaggioMessagesDimensione <= 8 KBUtilizzarei blob o le entities per memorizzaredatididimensionimaggioriVieneconteggiatoilnumeroditentatividiletturadalla coda (dequeue)
  • 30. Removing Poison MessagesProducersConsumersC1P21. GetMessage(Q, 30 s)  msg 1211111213403011211020C2P12. GetMessage(Q, 30 s)  msg 2
  • 31. Removing Poison MessagesProducersConsumers11C1P21. GetMessage(Q, 30 s)  msg 15. C1 crashed4011213012111236. msg1 visible 30 s after Dequeue21C2P12. GetMessage(Q, 30 s)  msg 23. C2 consumed msg 24. DeleteMessage(Q, msg 2)7. GetMessage(Q, 30 s)  msg 1
  • 32. Removing Poison MessagesProducersConsumers1. Dequeue(Q, 30 sec)  msg 15. C1 crashed10. C1 restarted11. Dequeue(Q, 30 sec)  msg 112. DequeueCount > 213. Delete (Q, msg1)C1P2401230131213312C2P16. msg1 visible 30s after Dequeue9. msg1 visible 30s after Dequeue2. Dequeue(Q, 30 sec)  msg 23. C2 consumed msg 24. Delete(Q, msg 2)7. Dequeue(Q, 30 sec)  msg18. C2 crashed
  • 35. Windows Azure Blob StorageFornisce la possibilità di memorizzare qualsiasi tipo filesCapacità di gestione dei blocchiDue tipologie di BlobsBlockBlobPageBlob (new)
  • 37. Blocks or PagesBlobContainerAccountBlob Storage ConceptsAdding Blocks and PagesPIC01.JPGcoversPIC02.JPGbooksBlock or Page 1previewsBOOK1.XPSBlock or Page 2Block or Page 3
  • 38. Blob ContainersPossibilitàdiaverediversi blob containersBlob ContainerUn container è un set di blobsImpostazionedellepolitichediaccesso a livellodi containerAccessibilitàprivata o pubblicaPossibilitàdiassociaremetadatiCoppienome - valoreFino a 8KB per containerElencodei blobs in un container
  • 39. Funzioni e caratteristichedei BlobsStore Large Objects (100s of GBs in size)PossibilitàdiassociaremetadatiCoppienome – valoreFino ad 8KB per blobSet e Get contestuale o separatoStandard REST InterfacePutBlobNew blob (sostituisceil blob esistente)GetBlobGet blob (o un range specifico)DeleteBlobCopyBlob (new)SnapshotBlob (new)LeaseBlob (new)
  • 40. Composizionedell’indirizzodei BlobsBlob URLhttp://<Account>.blob.core.windows.net/<Container>/<BlobName>Example: Storage Account – fabstorageContainer – imagesBlobName – holidays/sea.tiffhttp://fabstorage.blob.core.windows.net/images/holidays/sea.tiff
  • 41. Copia e Snapshot dei Blob (new)CopyBlobCopianellostesso storage account Rename (copia e rimuovi)SnapshotBlobPuòessereutilizzato per creare backup o versionidi blobCreazionediuno snapshotSpecifichiamoil blob con ilparametrocomp=snapshothttp://account.blob.core.windows.net/images/sea.jpg?comp=snapshot Recupero con timestamphttp://account.blob.core.windows.net/images/pic1.jpg?snapshot=<DateTime>StorageVengonomemorizzate solo le modifiche del blob
  • 43. Content Delivery Network (new)Accessoai blobs utilizzandoilproprionomedidominio:http://account.blob.core.windows.net/http://market.cohowinery.com/http://market.cohowinery.com/images/pic1.jpgRegistrazione del nomedidominioattraversoil Windows Azure Developer Portal:Vieneeffettuato un processodivalidazioneAccessoesclusivamente via HTTPE’ possibileregistrare solo un nomedidominio per storage account
  • 44. Windows Azure XDriveFornisce un volume NTFS per l’utilizzo in applicazioni Windows AzureAffidabilità e mantenimentodeidati in casodi system failureE’ sostanzialmente un PageBlobformattato con NTFS e disponibile come VHDDisponibiledaFebbraio 2010
  • 46. From “On-Premises” to “in-the-cloud”Le attuali applicazioni vengono definite “On-Premises”Se abbiamo ben sviluppato le nostre applicazioni il passaggio risulterà “quasi” indolorePosso progettare una nuova applicazione per Azure utilizzando qualsiasi tecnologiaQualsiasi tecnologia Web (Silverlight, ASP.NET, ASP.NET MVC, etc...)Con le applicazioni desktop posso utilizzare Windows Azure Storage o SQL AzureHybrid Cloud Application con Windows Azure e AppFabric
  • 47. Web vs Worker RoleWorker RoleWeb RoleSystem HostIIS HostYour CodeYour Code
  • 49. Development Fabric and StorageLocal MachineWindows Azure Simulation Environment Development StorageDevelopment Fabric
  • 54. Windows Azure platform AppFabricAccess Control ServiceServizio per il controllo degli accessiGestione dell’autenticazioneRilascio di token di autorizzazioneGestione di regoleService BusOffre un feed ATOM dei servizi in ascoltoRisolve i problemi di connettività tra client geograficamente distribuiti
  • 55. AppFabric - Access Control ServiceTremodalitàdirilasciodi tokenPlaintextNessunacriptazionerichiestaSigned tokenSemplice scenario didelegaRichiesta firma HMAC SHA 256SAML bearer tokenConsentel’integrazione in ambienti enterpriseL’ACS ritornasempre lo stessotipodi token:Simple Web Token (SWT)
  • 57. Windows Azure platform AppFabricDemo
  • 59. SQL AzureE’ praticamente SQL Server portato in-the-cloudAccedo al database utilizzando TDS (Tabular Data Stream)
  • 63. Windows Azure ToolsAzure Storage Explorerhttp://azurestorageexplorer.codeplex.com/Cloud Storage Studiohttp://www.cerebrata.com/Products/CloudStorageStudio/CloudBerry Explorer for Azure Blob Storagehttp://www.cloudberrylab.comAccess Control Service Management Browser http://code.msdn.microsoft.com/acmbrowser
  • 64. Windows Azure, The Next Few WeeksFebPaid usageJanCommercial platformNowCTP with launch feature set