Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

21
Introdução ao Windows Azure Roles Waldemir Cambiucci Arquiteto de Soluções Microsoft Brasil http://twitter.com/wcamb/ http://blogs.msdn.com/wcamb/ Módulo 3

Transcript of Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

Page 1: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

Introdução ao Windows Azure Roles

Waldemir CambiucciArquiteto de SoluçõesMicrosoft Brasilhttp://twitter.com/wcamb/ http://blogs.msdn.com/wcamb/

Módulo 3

Page 2: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

Agenda

− Apresentar as principais roles do Windows Azure, assim como seus templates para o desenvolvimento no Visual Studio 2010.

Page 3: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

ROLES NO WINDOWS AZURE

Page 4: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

Roles no Windows Azure

Tipos de Roles no Azure: Web Role, Worker Role & VM Role

Cada instância roda na sua própria VM e é replicada caso necessário

Page 5: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

Windows Azure Service• Windows Azure service consiste de

Uma fronteira de isolamentoUm conjunto de componentes roles, com endpointsMúltiplas instâncias de cada role

• Uma aplicação Windows Azure se comporta corretamente mesmo quando qualquer role falha

• Tudo é especificado num modelo de serviço

Worker Role

Web Role

VMRole

Page 6: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

Roles no Windows Azure− Web Role : uma role hospedada no IIS (Web)

− Worker Role : uma role que é executável como um serviço ou processo, por exemplo, um serviço de encoder, etc…

− VM Role : uma role que é uma VM – Virtual Machine (vhd)− Utiliza windows services, scheduled tasks, etc.− Você configura e administra o sistema operacional

Maior ControleMaior Abstração

Admin Web /

Worker Role

VM Role

Web / Worker

Role

Page 7: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

Internet

StorageTables

LB

Blobs

Worker ServiceWorker ServiceWorker Service

Web Site(ASPX, ASMX,

WCF)

Web Site(ASPX, ASMX,

WCF)

Web Site(ASPX, WCF,

etc.)

Queues

Windows Azure

Internet

LB

Web Roles e Worker Roles

Page 8: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

Conteúdo de uma Role

− Definição: − Nome da Role− Tipo da Role− Tamanho da VM (ex: small, medium, etc.)− Network endpoints

− Código: − Web/Worker Role: DLL hospedada e outros

executáveis− VM Role: arquivo VHD

− Configuração:− Quantidade de instâncias− Quantidade de update e fault domains

Page 9: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

Arquivos do Modelo de Serviço

ConfigurationInstances: 2Update Domains: 2Fault Domains: 2

Role: Front-End

DefinitionType: WebVM Size: SmallEndpoints: External-1

ConfigurationInstances: 3Update Domains: 2Fault Domains: 2

Role: Middle-Tier

DefinitionType: WorkerVM Size: LargeEndpoints: Internal-1

Meu Serviço

.csdef

.cscfg

Page 10: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

Templates no Visual Studio 2010

Template para soluções do

Windows Azure

. . . .

Page 11: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

Templates no Visual Studio 2010

Lista de roles disponíveis para um

projeto no Azure

Roles escolhidos para a aplicação

. . . .

Page 12: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

Solução no Visual Studio 2010

Projeto de Web Role para a

Interface Web

Definições e Configuração da solução Azure

. . . .

Projeto de Worker Role para

processos background

Page 13: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

Configuração de VM Size

Definindo o número de instâncias para cada

Azure Role

Definindo o VM Size para cada Azure Role

Page 14: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

<?xml version="1.0" encoding="utf-8"?><ServiceDefinition name="MeuAzureService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition"> <WebRole name="MeuWebRole"> <Sites> <Site name="Web"> <Bindings> <Binding name="Endpoint1" endpointName="Endpoint1" /> </Bindings> </Site> </Sites> <Endpoints> <InputEndpoint name="Endpoint1" protocol="http" port="80" /> </Endpoints> <Imports> <Import moduleName="Diagnostics" /> </Imports> </WebRole> <WorkerRole name="MeuWorkerRole"> <Imports> <Import moduleName="Diagnostics" /> </Imports> </WorkerRole></ServiceDefinition>

Criando um Serviço – Service Definition

14

Page 15: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

<?xml version="1.0" encoding="utf-8"?><ServiceConfiguration serviceName="MeuAzureService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="1" osVersion="*">

<Role name="MeuWebRole"> <Instances count=“2" /> <ConfigurationSettings> <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" /> </ConfigurationSettings> </Role>

<Role name="MeuWorkerRole"> <Instances count=“3" /> <ConfigurationSettings> <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" /> </ConfigurationSettings> </Role></ServiceConfiguration>

Criando um Serviço – Service Configuration

Page 16: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

Roles no Azure Compute Emulator

Page 17: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

Adicionando um WCF Service Web Role

Page 18: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

Adicionando um WCF Service Web Role

Page 19: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

Recomendações

− Procure agrupar seus web services em WCF Service Web Roles únicas.

− Procure identificar as interfaces ASP.NET de sua aplicação, que serão Web Roles.

− Processos de negócio e funcionalidades de background ou serviços podem ser colocadas como Worker Roles.

Page 20: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

Introdução sobre o Windows Azure Roles

Waldemir CambiucciArquiteto de Soluções

Microsoft Brasilhttp://twitter.com/wcamb/

http://blogs.msdn.com/wcamb/

lab #02

Page 21: Módulo 3. Cada instância roda na sua própria VM e é replicada caso necessário.

© 2010 Microsoft Corporation. All rights reserved. Microsoft, MSDN, the MSDN logo, and [list other trademarks referenced] are trademarks of the Microsoft group of companies.  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.