Introdução ao




                Fernando Correia
                  setembro 2011
Temas
 Computação em nuvem
 Windows Azure
 Demo: Hello, World!
 Arquitetura: GuestBook
 Arquitetura: Serviços REST
 Recursos
Computação em nuvem - NIST
um modelo para habilitar acesso por rede
sob demanda e conveniente a um
conjunto compartilhado de recursos de
computação configuráveis (como redes,
servidores, armazenamento, aplicativos e
serviços) que possam ser rapidamente
provisionados e liberados com o mínimo
de esforço de gerenciamento ou interação
com o fornecedor do serviço
Computação em nuvem - Gartner
um estilo de computação
em que recursos escaláveis
e elásticos
habilitados por tecnologia da informação
são fornecidos como um serviço
para clientes externos
utilizando tecnologias da Internet
Atributos
 Baseada em serviços
 Escalável e elástica
 Compartilhada
 Medida pelo uso
 Usando tecnologias da Internet
Camadas de abstração
 Infraestrutura como serviço (IaaS)
 Plataforma como serviço (PaaS)
 Aplicação como serviço (SaaS)
Dados
Aplicativos




         Windows Azure
Plataforma Windows Azure




           “Red Dog” Front End (RDFE)


                                        Windows Azure
                                         Networking
Plataforma Windows Azure
 Windows Azure
 SQL Azure
 Windows Azure AppFabric
 Windows Azure Marketplace
Windows Azure
   Compute
     Web, Worker, VM
   Storage
     Tables, Blobs, Drives, Queues
   Fabric Controller
     “kernel”
 Content Delivery Network
 Virtual Network
     Connect, Traffic Manager
SQL Azure
 SQL Azure Database
 SQL Azure Reporting
 SQL Azure Data Sync
AppFabric
 Access Control
 AppFabric Applications
 Service Bus
 Caching
 Integration
Marketplace
 Applications
 DataMarket
Linguagens
 .NET (C#, VB, F#, ...)
 PHP
 Ruby
 Python
 Java
Ferramentas
   Windows Azure Tools for Microsoft Visual Studio
   Visual Studio LightSwitch
   Windows Azure Tools for Eclipse
   Windows Azure Starter Kit for Java
   Windows Azure Toolkit for iOS
   Windows Azure Toolkit for Android
   Windows Azure Toolkit for Windows Phone 7
   Windows Azure Command-Line Tools for PHP
    Developers
   Windows Azure Toolkit for Social Games
Cenários de uso
Demo: Hello, World!




                      bit.ly/oCCCFt
Hello, World!
         HOSTED SERVICE
          PAPEL: FRONT-END

          ASP.NET MVC 3 website

          DEFINIÇÃO
          Tipo: Web Role
          Tamanho da VM: Small
          Endpoints: Input/HTTP

          CONFIGURAÇÃO
          Instâncias: 2
          Update Domains: 2
          Fault Domains: 2
Date    Fri, 25 Aug 2000 11:09:12 -0700 (PDT)
From Linus Torvalds
Subject Re: SCO: "thread creation is about a thousand times faster than
onnative

On Fri, 25 Aug 2000, Jamie Lokier wrote:
>
> Well well. I think it's possible to over the best of user-space "fake"
> threads plus the advantages of "true" kernel threads in one blindingly
> fast combination, in less than 8kB per thread.



Talk is cheap. Show me the code.
Linus


                                    github.com/fernandoacorreia/HelloAzureMvc
Arquitetura: GuestBook




                         bit.ly/pfBYxY
GuestBook
               HOSTED SERVICE
  PAPEL: FRONT-END        PAPEL: MIDDLE TIER

  ASP.NET WebForms        Class Library

  DEFINIÇÃO               DEFINIÇÃO
  Tipo: Web Role          Tipo: Worker Role
  Tamanho da VM: Small    Tamanho da VM: Large
  Endpoints: Input/HTTP   Endpoints: (nenhum)

  CONFIGURAÇÃO            CONFIGURAÇÃO
  Instâncias: 2           Instâncias: 3
  Update Domains: 2       Update Domains: 2
  Fault Domains: 2        Fault Domains: 2
Blob Service

 Account       Container     Blob
                           IMG001.JPG
                pictures
                           IMG002.JPG
   sally
                 movies    MOV1.AVI
Table Service
Queue Service
Projete para falhas
   Escalabilidade horizontal para:
     Capacidade
     Redundância
 Comunicação assíncrona
 Tempos de espera curtos
     Tentar novamente se indisponível
 Operações idempotentes
 Sem estado
     armazenamento externo
Show me
the code




github.com/
fernandoacorreia/
AzureGuestBook
Arquitetura: Serviços REST
2008: Flex + App Engine
2008
 Cliente: ActionScript + Flex
 Formato: AMF
 Serviço: Python / webapp
 Storage: App Engine datastore
 Plataforma: Google App Engine



fernandoacorreia.wordpress.com/2008/08/23/example-of-ria-in-the-cloud/
github.com/fernandoacorreia/flex-and-python-test
2011: JavaScript + Azure
          Browser


                       Aplicativo RIA




            Internet




          Windows Azure


                       Web Service




                       Table Service
2011: JavaScript + Azure
 Cliente: JavaScript + framework
 Formato: JSON
 Serviço: C# / ASP.NET MVC ou WCF
 Storage: Table Services
 Plataforma: Windows Azure



plataformanuvem.wordpress.com/2011/05/07/ria-com-azure/
github.com/fernandoacorreia/RestfulMvcExample
Show me
the code




github.com/
fernandoacorreia/
RestfulMvcExample
Recursos
 www.microsoft.com/windowsazure
 Introducing Windows Azure bit.ly/ouEXWx
 How Azure actually works bit.ly/pZK5aQ
 plataformanuvem.wordpress.com/tag/azure
Fernando Correia
@facorreia
paponuvem.com

Introdução ao Windows Azure

  • 1.
    Introdução ao Fernando Correia setembro 2011
  • 2.
    Temas  Computação emnuvem  Windows Azure  Demo: Hello, World!  Arquitetura: GuestBook  Arquitetura: Serviços REST  Recursos
  • 3.
    Computação em nuvem- NIST um modelo para habilitar acesso por rede sob demanda e conveniente a um conjunto compartilhado de recursos de computação configuráveis (como redes, servidores, armazenamento, aplicativos e serviços) que possam ser rapidamente provisionados e liberados com o mínimo de esforço de gerenciamento ou interação com o fornecedor do serviço
  • 4.
    Computação em nuvem- Gartner um estilo de computação em que recursos escaláveis e elásticos habilitados por tecnologia da informação são fornecidos como um serviço para clientes externos utilizando tecnologias da Internet
  • 5.
    Atributos  Baseada emserviços  Escalável e elástica  Compartilhada  Medida pelo uso  Usando tecnologias da Internet
  • 8.
    Camadas de abstração Infraestrutura como serviço (IaaS)  Plataforma como serviço (PaaS)  Aplicação como serviço (SaaS)
  • 10.
    Dados Aplicativos Windows Azure
  • 13.
    Plataforma Windows Azure “Red Dog” Front End (RDFE) Windows Azure Networking
  • 14.
    Plataforma Windows Azure Windows Azure  SQL Azure  Windows Azure AppFabric  Windows Azure Marketplace
  • 15.
    Windows Azure  Compute  Web, Worker, VM  Storage  Tables, Blobs, Drives, Queues  Fabric Controller  “kernel”  Content Delivery Network  Virtual Network  Connect, Traffic Manager
  • 23.
    SQL Azure  SQLAzure Database  SQL Azure Reporting  SQL Azure Data Sync
  • 24.
    AppFabric  Access Control AppFabric Applications  Service Bus  Caching  Integration
  • 25.
  • 26.
    Linguagens  .NET (C#,VB, F#, ...)  PHP  Ruby  Python  Java
  • 27.
    Ferramentas  Windows Azure Tools for Microsoft Visual Studio  Visual Studio LightSwitch  Windows Azure Tools for Eclipse  Windows Azure Starter Kit for Java  Windows Azure Toolkit for iOS  Windows Azure Toolkit for Android  Windows Azure Toolkit for Windows Phone 7  Windows Azure Command-Line Tools for PHP Developers  Windows Azure Toolkit for Social Games
  • 28.
  • 35.
    Demo: Hello, World! bit.ly/oCCCFt
  • 36.
    Hello, World! HOSTED SERVICE PAPEL: FRONT-END ASP.NET MVC 3 website DEFINIÇÃO Tipo: Web Role Tamanho da VM: Small Endpoints: Input/HTTP CONFIGURAÇÃO Instâncias: 2 Update Domains: 2 Fault Domains: 2
  • 37.
    Date Fri, 25 Aug 2000 11:09:12 -0700 (PDT) From Linus Torvalds Subject Re: SCO: "thread creation is about a thousand times faster than onnative On Fri, 25 Aug 2000, Jamie Lokier wrote: > > Well well. I think it's possible to over the best of user-space "fake" > threads plus the advantages of "true" kernel threads in one blindingly > fast combination, in less than 8kB per thread. Talk is cheap. Show me the code. Linus github.com/fernandoacorreia/HelloAzureMvc
  • 38.
  • 39.
    GuestBook HOSTED SERVICE PAPEL: FRONT-END PAPEL: MIDDLE TIER ASP.NET WebForms Class Library DEFINIÇÃO DEFINIÇÃO Tipo: Web Role Tipo: Worker Role Tamanho da VM: Small Tamanho da VM: Large Endpoints: Input/HTTP Endpoints: (nenhum) CONFIGURAÇÃO CONFIGURAÇÃO Instâncias: 2 Instâncias: 3 Update Domains: 2 Update Domains: 2 Fault Domains: 2 Fault Domains: 2
  • 41.
    Blob Service Account Container Blob IMG001.JPG pictures IMG002.JPG sally movies MOV1.AVI
  • 42.
  • 43.
  • 44.
    Projete para falhas  Escalabilidade horizontal para:  Capacidade  Redundância  Comunicação assíncrona  Tempos de espera curtos  Tentar novamente se indisponível  Operações idempotentes  Sem estado  armazenamento externo
  • 45.
  • 46.
  • 47.
    2008: Flex +App Engine
  • 48.
    2008  Cliente: ActionScript+ Flex  Formato: AMF  Serviço: Python / webapp  Storage: App Engine datastore  Plataforma: Google App Engine fernandoacorreia.wordpress.com/2008/08/23/example-of-ria-in-the-cloud/ github.com/fernandoacorreia/flex-and-python-test
  • 49.
    2011: JavaScript +Azure Browser Aplicativo RIA Internet Windows Azure Web Service Table Service
  • 50.
    2011: JavaScript +Azure  Cliente: JavaScript + framework  Formato: JSON  Serviço: C# / ASP.NET MVC ou WCF  Storage: Table Services  Plataforma: Windows Azure plataformanuvem.wordpress.com/2011/05/07/ria-com-azure/ github.com/fernandoacorreia/RestfulMvcExample
  • 51.
  • 52.
    Recursos  www.microsoft.com/windowsazure  IntroducingWindows Azure bit.ly/ouEXWx  How Azure actually works bit.ly/pZK5aQ  plataformanuvem.wordpress.com/tag/azure
  • 57.