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

Upload: internet

Post on 18-Apr-2015

111 views

Category:

Documents


2 download

TRANSCRIPT

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.