Introdução ao Windows Azure - Sessão 2 (mais prática)

1,495 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,495
On SlideShare
0
From Embeds
0
Number of Embeds
206
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • apresentação: 3 minwindowsazure: 19 minutos (22)como surgiu o azure: 10 minutos (32)arquitetura até a demo: 10 minutos (42)demo: 9 minutos (51)finalização da arquitetura: 5 minutos (56)FAQ: 8 minutos (1 hr e 4 min)Q&A: 16 minutos (1 hr e 20 min)
  • Introdução ao Windows Azure - Sessão 2 (mais prática)

    1. 1. Windows Azure Giovanni Bassi Arquiteto de Software giggio@giggio.net
    2. 2. Agenda Sessão 2 (1h20min) Hosting Services Storage (blobs, tables e queues) .Net Services (service bus) Q&A
    3. 3. O que você precisa • Resources http://www.microsoft.com/azure/sdk.mspx • Azure SDK: http://go.microsoft.com/fwlink/?LinkID=130232 • Windows Azure Tools for Microsoft Visual Studio http://go.microsoft.com/fwlink/?LinkId=128752 • Microsoft .NET Services SDK http://go.microsoft.com/fwlink/?LinkID=129448 • Microsoft SQL Data Services SDK http://go.microsoft.com/fwlink/?LinkID=129449 • Live Services Visual Studio Tools + SDK http://go.microsoft.com/fwlink/?LinkID=145417
    4. 4. Ambiente • Windows Vista ou Server 2008 – Não funciona corretamente no Windows 7 – Não suporta Windows XP • Visual Studio 2008 (pode ser a Express) • SQL Server 2005 (Express)
    5. 5. Samples • Depois da instalação do Azure SDK: C:Program FilesWindows Azure SDKv1.0samples.zip • Azure Training Kit (Atualmente Feb09): http://tinyurl.com/azuretrainingkit
    6. 6. Hosting HOSTING SERVICES
    7. 7. Hosting • É uma hospedagem normal • Processa ASP.Net • Funciona: – Ajax – Silverlight – ASP.Net MVC • Não funciona: – Acesso à bancos relacionais (SQL Server, Oracle, etc) – Outras limitação por CAS • Sistema de staging e production
    8. 8. Azure Storage • Baseado em abstrações: – Tables – Queues – Blobs
    9. 9. Azure Storage • Armazenamento que é – Durável – Escalável (capacidade e velocidade) – De disponibilidade alta – Seguro • Interfaces simples – REST e ADO.Net
    10. 10. Blobs Container http://<conta>.blob.core.windows.net/<container> Table Entities Account http://<conta>.table.core.windows.net/<table> Queue Messages http://<conta>.queue.core.windows.net/<queue>
    11. 11. Storage TABLES
    12. 12. Funcionalidades • Escálavel “ao infinito” • Altamente disponíveis • Duráveis (replicado ao menos 3 vezes) • Não são tabelas relacionais • Interfaces simples – REST e ADO.Net – Baseado em ADO.Net Data Services (Astoria)
    13. 13. Modelo • Uma conta tem quantas tabelas quiser • Uma tabela tem entidades • Entidades tem propriedades – Propriedades de entidades na mesma tabela podem ser diferentes • Duas propriedades são obrigatórias: – PartitionKey – RowKey
    14. 14. Particionamento PartitionKey RowKey (produto) Preço (fornecedor) Fornecedor A Produto A 10,00 Partição 1 Fornecedor A Produto B 15,00 Fornecedor B Produto C 20,00 Partição 2 Fornecedor C Produto D 30,00 Partição 3
    15. 15. Porque particionar? • Performance • Localização da entidade • Escalabilidade
    16. 16. Tipos de dados • Propriedades Partition Key e Row Key obrigatório string (até to 64KB) • Outras propriedades – String (até 64KB) – Binary (até 64KB) – Bool – DateTime – GUID – Int – Int64 – Double
    17. 17. Storage BLOBS
    18. 18. Funcionalidades • Arquivos binários • Até 50GB • Baseado em REST, com PUT/GET • Utiliza metadados • Permite continuação de upload – Separado em blocks • Permite obter só um pedaço do blob
    19. 19. Estrutura dos blobs Account Container Blob One.mp3 musicas Outra.mp3 giggio filmes Video.avi
    20. 20. Estrutura • URL do blob: http://<Account>.blob.core.windows.net/<Container>/<BlobName> • Exemplo: – Account – giggio – Container – musica – BlobName – metal/metallica/one.mp3 • URL: http://giggio.blob.core.windows.net/musica/metal/metallica/on e.mp3
    21. 21. Envio com blocks • Sem Blocks: 64MB • Com Blocks: 50GB
    22. 22. BlobExamplo.wmv Examplo de upload  Blocks fora de ordem  Ids duplicados  Blocks não utilizados  Block Id 4 Block Id 4 Block Id 1 Block Id 3 Block Id 2 Sequencia das operações  PutBlock BlockId1  PutBlock BlockId3  PutBlock BlockId4  PutBlock BlockId2  PutBlock BlockId4  Block Id 2 Block Id 3 Block Id 4 PutBlockList BlockId2,  BlockId3, BlockId4 Versão final do blob armazenada
    23. 23. Resultado do putblock PUT http://dvd.blob.core.windows.net/movies/TheBlob.wmv ?comp=block &blockid=BlockId1 &timeout=60 HTTP/1.1 Content-Length: 4194304 Content-MD5: HUXZLQLMuI/KZ5KDcJPcOA== Authorization: SharedKey dvd: F5a+dUDvef+PfMb4T8Rc2jHcwfK58KecSZY+l2naIao= x-ms-date: Mon, 27 Oct 2008 17:00:25 GMT ……… Block Data Contents ………
    24. 24. Resultado do putblock list PUT http://dvd.blob.core.windows.net/movies/TheBlob.wmv ?comp=blocklist &timeout=120 HTTP/1.1 Content-Length: 161213 Authorization: SharedKey dvd: QrmowAF72IsFEs0GaNCtRU143JpkflIgRTcOdKZaYxw= x-ms-date: Mon, 27 Oct 2008 17:00:25 GMT <?xml version=“1.0” encoding=“utf-8”?> <BlockList> <Block>BlockId1</Block> <Block>BlockId2</Block> ……………… </BlockList>
    25. 25. Storage QUEUES
    26. 26. Funcionalidades • Durável • Confiável • Sem limite de mensagens na fila • Limite de 8KB por mensagem
    27. 27. Fornecedores da fila Consumidores da fila 1. Dequeue(Q, 30 sec)  msg 1 C1 P2 4 3 2 1 C2 P1 2. Dequeue(Q, 30 sec)  msg 2
    28. 28. Fornecedores da fila Consumidores da fila 1. Dequeue(Q, 30 sec)  msg 1 1 C1 P2 5. C1 caiu 6. msg1 visível por 30 segundos 43 2 1 após retirado da fila 2 C2 P1 Benefício: 2. Dequeue(Q, 30 sec)  msg 2 3. C2 consumiu msg 2 • Toda mensagem 4. Delete(Q, msg 2) processada “pelo 7. Dequeue(Q, 30 sec)  msg 1 menos” uma vez.
    29. 29. .Net Services .NET SERVICE BUS
    30. 30. Funcionalidades • Baseado em WCF • Conexão via relay e diretamente • Modelo de multicast – publish/subscribe • Seguro (integrado com ACS)
    31. 31. Bindings do WCF WCF Binding New Service Bus Binding BasicHttpBinding BasicHttpRelayBinding WebHttpBinding WebHttpRelayBinding WSHttpBinding WSHttpRelayBinding WS2007HttpBinding WS2007HttpRelayBinding WSHttpContextBinding WSHttpRelayContextBinding WS2007FederationHttpBinding WS2007FederationHttpRelayBinding NetTcpBinding NetTcpRelayBinding NetTcpContextBinding NetTcpRelayContextBinding n/a NetOnewayRelayBinding n/a NetEventRelayBinding
    32. 32. Arquitetura do .Net Service BUS Service Orchestration Naming Federated Service Registry Identity and Access Control Messaging Fabric Clients On-Premises Cloud Services Your Service ESB Compute Storage Desktop, R Desktop, Desktop, IA, Web RIA, Web RIA, & … Billing Corp Service Web
    33. 33. Relay Mensagens de mão Enviador única através de TCP Recebedor da msg
    34. 34. sb://servicebus.windows.net/services/user/service/endpoint Relay Enviador Recebedor da msg Upgrade para conexão direta se possível
    35. 35. Relay Mensagens de mão Enviador única via TCP Receiver da msg Receiver Receiver Recebedores
    36. 36. Links úteis • Site do Azure (inglês) – http://www.microsoft.com/azure • Channel 9 Brasil (vídeos do time de arquitetura) – http://channel9.msdn.com/brasil/ • Blog Waldemir Cambiucci – http://blogs.msdn.com/wcamb/archive/tags/Windows+ Azure/default.aspx • Sessões PDC 2008 (inglês) – https://sessions.microsoftpdc.com/public/sessions.aspx • .Net Unplugged – http://unplugged.giggio.net/category/Azure.aspx
    37. 37. Q&A
    38. 38. Obrigado! Giovanni Bassi Arquiteto de Software giggio@giggio.net
    39. 39. Online @: Email: giggio@giggio.net Blog técnico: http://unplugged.giggio.net Site: http://giovannibassi.com Fórum: http://forum.giggio.net .Net Architects: Grupo: http://dotnetarchitects.net Online: http://tinyurl.com/DotNetArch

    ×