Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Hands on Windows Azure

487 views

Published on

Presented at 5th Dev4Starters meeting in Lisbon

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Hands on Windows Azure

  1. 1. 5ª Reunião Presencial – 28.04.2012 Hands on Windows Azurehttp://www.dev4starters.org
  2. 2. Vítor TomazISEL – LEICConsultor IndependenteNetPontoAzurePTRevista ProgramarPortugal@ProgramarSQLPort
  3. 3. Agenda• Introdução• Windows Azure Compute• SQL Azure
  4. 4. Recusos Capacidade Poucos disponíveis Prevista recursos DemasiadosCAPACIDADE recursos Capacidade Real TEMPO
  5. 5. Capacidade on Capacidade Escalabilidade Demand Prevista CAPACIDADE Não há recursos Elasticidade desperdiçados BaixoInvestimento Capacidade Real TEMPO
  6. 6. Escalabilidade Custos
  7. 7. Packaged Infrastructure Platform Software Software (as a Service) (as a Service) (as a Service) You manage Applications Applications Applications Applications You manage Data Data Data Data Runtime Runtime Runtime Runtime Managed by vendor Middleware Middleware Middleware MiddlewareYou manage Managed by vendor O/S O/S O/S O/S Managed by vendor Virtualization Virtualization Virtualization Virtualization Servers Servers Servers Servers Storage Storage Storage Storage Networking Networking Networking Networking
  8. 8. North America Region Europe Asia Pacific Region Region N. Europe N. Central – U.S. W. Europe S. Central – U.S. E. Asia S.E. Asia 6 datacenters em 3 continentes Escolha o datacenter em que quer publicar a sua aplicação
  9. 9. Reporting Data Sync Virtual Network
  10. 10. Windows Azure Automation Switches “Os recursos Load-balancers necessários” Agent Fabric Faz Controller acontecer Agent Agent
  11. 11. 50% 63%->71% 67%->83% 83%->95%PUE=Power Total/Power para IT
  12. 12. DemoHello World
  13. 13. Windows Azure System Center Portal AppManagerFabric Controller Fabric Controller Fabric Controller Datacenter Datacenter Datacenter
  14. 14. Role B Worker Rolewww.mycloudapp.net Count: 2 Update Domains: 2 Size: Medium www.mycloudapp.net Load Balancer 10.100.0.36 10.100.0.185 10.100.0.122
  15. 15. Role B Worker Rolewww.mycloudapp.net Count: 2 Update Domains: 2 Size: Medium www.mycloudapp.net Load Balancer 10.100.0.36 10.100.0.185 10.100.0.122 10.100.0.191
  16. 16. Fault Domain Fault Domain Rack Rack Web Role Web Role U/G Domain #1 U/G Domain #2 Worker Role Worker Role U/G Domain #1 U/G Domain #2
  17. 17. Front- Middle End-1 End-2 Tier-3 Tier-1 Tier-2 Front- Front- End-1 End-2 Middle Middle Middle Tier-1 Tier-2 Tier-3 Update Update UpdateDomain 1 Domain 2 Domain 3
  18. 18. Production VIP – VIP1 Staging VIP – VIP2 <dnsname>.cloudapp.net <guid>.cloudapp.netPort Port Port Port Port Port 80 3389 3390 80 3389 3390Role A Role B Role A’ Role B’ Deployment A Deployment A’
  19. 19. Tamanho da CPU Memória Local Largura de Custo/h Instância cores Storage BandaExtra Small Shared 768 MB 20 GB 5 Mbps $0.02 Small 1 1.75 GB 225 GB 100 Mbps $0.12 Medium 2 3.5 GB 490 GB 200 Mbps $0.24 Large 4 7 GB 1,000 GB 400 Mbps $0.48Extra large 8 14 GB 2,040 GB 800 Mbps $0.96
  20. 20. ”volátil”
  21. 21. hora de relógio
  22. 22. Account ServerDatabase
  23. 23. SQLAzure
  24. 24. Três Uma Base de DadosBase de Dados Físicas Lógica Primary Secondary DB 1 Secondary 2
  25. 25. Apps use standard SQL client Application libraries: ODBC, ADO.Net, PHP, … Internet Load balancer forwards ‘sticky’ TDS (tcp) LB sessions to TDS protocol tier Security BoundaryTDS (tcp) Gateway Gateway Gateway Gateway Gateway GatewayTDS (tcp)SQL SQL SQL SQL SQL SQL Scalability and Availability: Fabric, Failover, Replication, and Load balancing
  26. 26. Client LayerInfrastructure Layer
  27. 27. • Verifica os comandos (parser)TDS • Handshake SSL • “Denial of Service” guard Services • Valida credenciais de acesso Layer • Valida regras da Firewall • Mapeia o nome da base de dadosSessão TDS Gateway usado pelo cliente ao nome interno • Cria a sessão entre a base de dados física e o cliente • Fica a fazer de proxy da sessão
  28. 28. • Cada nó contêmPlatform Layer • Uma única instância de SQL Server Node 14 SQL Instance • Com uma única instância de base de SQL DB dadosUserDB1 User DB2 User DB3 User DB4 • Com várias partições (até 650) • Cada partição é uma base de dados SQLAzure SQL Azure Fabric • Que pode ser primária ou secundária • Uma instância de SQL Azure Fabric Node 15 SQL Instance • Failure detection SQL DBUser User User User • Reconfiguration AgentDB1 DB2 DB3 DB4 • Engine Throttling SQL Azure Fabric • Ring Topology • Partition Manager Location Resolution
  29. 29. • Falha da réplica primária • Réplica secundária com menos carga passa a primária • O cliente recebe uma disconnection • Pode demorar 30 segundos a propagar a mudança aos gateways• Falha de uma réplica secundária • Se a falha for permanente cria uma nova réplica secundária e copia os dados da primária. • Esta cópia é uma das razões para a limitação do tamanho das bases de dados em SQL Azure
  30. 30. %d
  31. 31. Decoding Throttling Code 131075 Check Transient Fault Handling Framework 8 7 6 5 4 3 2 1 0
  32. 32. • O cliente A está a usar 30% CPU numa máquina• O cliente B dispara uma utilização de 70% de CPU na mesma máquina• O cliente B vai ser estrangulado• A máquina não tem carga de trabalho• O cliente A dispara uma utilização de 100% CPU e é estrangulado diversas vezes• O cliente A vai ser estrangulado
  33. 33. Database Size Price Per Database Per Month0 to 100 MB $4.995Greater than 100 MB to 1 GB $9.99Greater than 1 GB to 10 GB $9.99 o primeiro GB, $3.996 para os GB adicionaisGreater than 10 GB to 50 GB $45.954 os primeiros 10 GB, $1.998 os GB adicionaisGreat than 50 GB to 150 GB $125.874 os primeiros 50 GB, $0.999 os GB adicionais
  34. 34. Questões ?
  35. 35. Vítor Tomazvitorbstomaz AT gmail.comhttp://twitter.com/vitortomaz

×