Download - Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!
![Page 1: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/1.jpg)
![Page 2: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/2.jpg)
Criando aplicações de alta escala e baixa latência com a plataforma Windows AzureCOS402
Bruno Akira [email protected]
Rafael GodinhoArquiteto de Soluções – Windows AzureMicrosofthttp://blogs.msdn.com/rafaelgodinho@rafaelgodinho
![Page 3: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/3.jpg)
Assumimos que...
Você já conhece Windows AzureWeb/Worker RolesSQL AzureWindows Azure StorageWindows Azure Diagnostics
Você já fez deploy de uma aplicação no Windows Azure
![Page 4: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/4.jpg)
Agenda
Baixa latência e alta escalaDefiniçãoOrganização do processamentoOrganização dos dados
DemosPerguntas?
![Page 5: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/5.jpg)
Baixa Latência e Alta Escala
![Page 6: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/6.jpg)
Definição de Baixa Latência e Alta Escala
Base de usuários global com baixo tempo de respostaFaz scale out para tratar requisições concorrentesAlto uso de recursos computacionais (CPU, memória, disco, rede, etc)
![Page 7: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/7.jpg)
Qual o problema?
Web RoleWeb Role
Web Role SQL Azure
(50 GB)
É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!
![Page 8: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/8.jpg)
Organização do Processamento
![Page 9: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/9.jpg)
Processamento Síncrono
Request #1
Front End
Thread Thread
Processamento #1SQL Azure
WA Storage
Middle Tier
Processamento #1Response #1Bloqueada
Request #2 Esperando…
![Page 10: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/10.jpg)
Processamento Assíncrono
Request #1
Front End
Thread Thread
Processamento #1SQL Azure
WA Storage
Middle Tier
Processamento #1Response #1
ContextRequest #2
Response #2
Processamento #2
Processamento #2
![Page 11: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/11.jpg)
Lembrete...Todas as camadas devem ser assíncronas
Se não o gargalo somente muda de lugarSuporte nativo na plataforma
ADO.NETLINQ to SQLADO.NET Entity FrameworkWCFWindows Azure Storage.NET 4.0 Async CTP
![Page 12: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/12.jpg)
Exemplo Async CTPvoid UploadImage(Stream image, CloudBlob destBlob){ AddImageToSQLAzure(destBlob.Uri); UploadImageToBlob(image, destBlob);}
async Task UploadImageAsync(Stream image, CloudBlob destBlob){ var t1 = AddImageToSQLAzureAsync(destBlob.Uri); var t2 = UploadImageToBlobAsync(image, destBlob); await TaskEx.WhenAll(t1, t2);}
![Page 13: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/13.jpg)
Exemplo Async CTPvoid UploadImageToBlob (Stream image, CloudBlob destBlob){ destBlob.UploadFromStream(image);}
async Task UploadImageToBlobAsync (Stream image, CloudBlob destBlob){ await Task.Factory.FromAsync<Stream>( destBlob.BeginUploadFromStream, destBlob.EndUploadFromStream, image, null);}
![Page 14: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/14.jpg)
Padrão Assíncrono no Windows Azure
Web Role Worker Role
Storage
Worker RoleWorker Role
Web Role
Worker Role
Queue
![Page 15: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/15.jpg)
Dados do Ponto de Vista do Cliente
![Page 16: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/16.jpg)
Cliente Acessando Dados
Saia do caminho sempre que possível Conteúdo estático e público Acesso ao Blob Storage
Media (imagens, vídeo)Binários (XAP, MSI, ZIP)
Role BlobStorage
Role
![Page 17: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/17.jpg)
Shared Access SignaturesAcesso à conteúdo privado
Válido por tempo ou revogado quando necessário
Também funciona para escrita
RoleChave
Blob Storage
X Blob privado(ex.: conteúdo pago)
1. Sou o Bob e quero acessar X 2. Role gera a
Shared Access Signature (SAS)
3. Role envia a SAS via HTTPS
4. Bob utiliza a SAS para acessar X direto do Blob Storage
![Page 18: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/18.jpg)
Conteúdo Próximo do UsuárioWindows Azure Content Delivery Network
Blob Storage
X
CDN
X
Poucos saltos
Muitos saltos
Ponto de Presença (POP) mais próximo
Resolução do POP mais próximo por DNS
Web RoleWeb Role
![Page 19: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/19.jpg)
Processamento Próximo do Usuário
Windows Azure Traffic Manager
Traffic Manager
MonitoraçãoPolíticas
app.cloudapp.net app-us.cloudapp.net
app-eur.cloudapp.net
app-asia.cloudapp.net
![Page 20: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/20.jpg)
Servidor Gerenciando os Dados
![Page 21: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/21.jpg)
Melhor Local de Armazenamento?
Depende SQL Azure – Dados relacionaisBlob – Binários grandesTable – Informação estruturadaQueue – Dados temporários de processamento
Não excludentes
![Page 22: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/22.jpg)
Particionamento Horizontal
![Page 23: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/23.jpg)
Particionamento Vertical
![Page 24: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/24.jpg)
Particionamento Híbrido
SQL Azure Tables BLOBs
![Page 25: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/25.jpg)
Cache em MemóriaWindows Azure AppFabric Caching
Role
Table Storage
SQL AzureC
ache Table
Storage
SQL Azure
CL
A camada de cache ajudará na redução da latência
![Page 26: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/26.jpg)
demo
Processamento AssíncronoParticionamentoCDNCaching
![Page 27: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/27.jpg)
Table
SíncronoAssíncrono
Assíncrono
ResumoBlob Storage
Chave
Privado
PúblicoCDN Público
Table
SQL Azure
AppFabric Caching
SQL Azure
SQL Azure
Traffic Mgr
Web App
![Page 28: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/28.jpg)
ReferênciasWindows Azure Platform Training Kit
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8396
Centro de Treinamento Windows Azurehttp://msdn.microsoft.com/pt-br/windowsazure/
![Page 29: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/29.jpg)
Recursos
Recursos para IT Pros
Recursos para Desenvolvedores
http://technet.microsoft.com/pt-br
http://msdn.microsoft.com/pt-br
Getthefreemobileappforyourphonehttp://gettag.mobi
Getthefreemobileappforyourphonehttp://gettag.mobi
![Page 30: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/30.jpg)
Não esqueça de preencher sua
avaliação onlinewww.teched.com.br/
avaliacao
Getthefreemobileappforyourphonehttp://gettag.mobi
![Page 31: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/31.jpg)
perguntas?
Bruno Akira [email protected]
Rafael GodinhoArquiteto de Soluções – Windows AzureMicrosofthttp://blogs.msdn.com/rafaelgodinho@rafaelgodinho
![Page 32: Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!](https://reader036.vdocuments.net/reader036/viewer/2022062522/570638491a28abb8238f4515/html5/thumbnails/32.jpg)
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after
the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.