Hands on Windows Azure


Published on

Presented at 5th Dev4Starters meeting in Lisbon

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Slide Objectives:Explain the differences and relationship between IaaS, PaaS, and SaaS in more detail.Speaking Points:Here’s another way to look at the cloud services taxonomy and how this taxonomy maps to the components in an IT infrastructure. Packaged SoftwareWith packaged software a customer would be responsible for managing the entire stack – ranging from the network connectivity to the applications. IaaSWith Infrastructure as a Service, the lower levels of the stack are managed by a vendor. Some of these components can be provided by traditional hosters – in fact most of them have moved to having a virtualized offering. Very few actually provide an OSThe customer is still responsible for managing the OS through the Applications. For the developer, an obvious benefit with IaaS is that it frees the developer from many concerns when provisioning physical or virtual machines. This was one of the earliest and primary use cases for Amazon Web Services Elastic Cloud Compute (EC2). Developers were able to readily provision virtual machines (AMIs) on EC2, develop and test solutions and, often, run the results ‘in production’. The only requirement was a credit card to pay for the services.PaaSWith Platform as a Service, everything from the network connectivity through the runtime is provided and managed by the platform vendor. The Windows Azure Platform best fits in this category today. In fact because we don’t provide access to the underlying virtualization or operating system today, we’re often referred to as not providing IaaS.PaaS offerings further reduce the developer burden by additionally supporting the platform runtime and related application services. With PaaS, the developer can, almost immediately, begin creating the business logic for an application. Potentially, the increases in productivity are considerable and, because the hardware and operational aspects of the cloud platform are also managed by the cloud platform provider, applications can quickly be taken from an idea to reality very quickly.SaaSFinally, with SaaS, a vendor provides the application and abstracts you from all of the underlying components.
  • Slide ObjectiveUnderstand that Microsoft has a long history in running data centres and online applications. Bing, Live, Hotmail etc….Understand the huge amount of innovation going on at the data center levelSpeaking Points:Microsoft is one of the largest operators of datacenters in the worldYears of ExperienceLarge scale trustworthy environmentsDriving for cost and environmental efficientlyWindows Azure runs in 3 regions and 6 datacenters todayData center innovation is driving improved reliability and efficiencyPUE = Power Usage Effectiveness = Total Facility power/IT Systems Power = Indication of efficiency of DCUnder 1.8 is very good, modern cloud DCs approaching 1.2Multi-billion dollar datacenter investment700,000+ square foot Chicago and the 300,000+ square foot Dublin, Ireland data centersMicrosoft cloud services provide the reliability and security you expect for your business: 99.9% uptime SLA, 24/7 support. Microsoft understands the needs of businesses with respect to security, data privacy, compliance and risk management, and identity and access control. Microsoft datacenters are ISO 27001:2005 accredited, with SAS 70 Type I and Type II attestations.Notes:http://www.globalfoundationservices.com/http://blogs.msdn.com/the_power_of_software/archive/2008/06/20/microsoft-s-pue-experience-years-of-experience-reams-of-data.aspxhttp://blogs.msdn.com/the_power_of_software/archive/2008/06/27/part-2-why-is-energy-efficiency-important.aspx
  • Speaking Points:At PDC10 in just over a month, we will introduce several new services including: Caching and Reporting. We will also have a new CTP for the Data Sync Service and Project Dallas will be finally available. Let’s drill into these services in a bit more detail.--Speaking Points:I suspect most if not all of you in this room are familiar with the Windows Azure Platform today.Today the platform consists of a set of foundational services SQL Azure relational databaseAppFabric provides services that can be used by any apps – hosted in Windows Azure, on-premises, or hosted in another environment. Questions:How many of you are building applications for Windows Azure?How many are using SQL Azure?How many are using the Access Control service today? The Service Bus?Notes:Windows Azure StoryWe are building an open platform to run your applications in the cloud. Your apps are .NET, Java, PHP, etc. We love everyone.We are going to help you migrate your existing apps to the cloud. The cloud platform is the future. Enables scale, self-service, lowers friction, etc. We provide the best cloud platform for building new apps. (aka n-tier, web services, etc.)
  • Slide ObjectiveUse this slide to transition into an explanation of SQL Azure Database (Reporting and Data Sync will be covered later)Explain at a high level how SQL Azure worksSpeaker NotesDesign Principle of SQL Azure: Focus on combining the best features of SQL Server running at scale with low frictionSQL Azure is a high availability databaseAlways three transaction consistent replicas of the databaseOne primary replica; two slave replicasFailure of a replica will result in another replica being spun up immediately by the fabricFailure of the primary replica means a slave replica will become the primary and a new slave will spin upMinimal down timeTypically just a few dropped connectionsEasy to code for the failover scenario- if you are ding god connection management and error handling will be fineClustered index required on all tables to allow replicationNotesUseful article from SQL Azure teamhttp://msdn.microsoft.com/en-us/magazine/ee321567.aspx
  • 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
    15. 15. Role B Worker Rolewww.mycloudapp.net Count: 2 Update Domains: 2 Size: Medium www.mycloudapp.net Load Balancer
    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