Introdução ao Windows Azure Roles
Waldemir CambiucciArquiteto de SoluçõesMicrosoft Brasilhttp://twitter.com/wcamb/ http://blogs.msdn.com/wcamb/
Módulo 3
Agenda
− Apresentar as principais roles do Windows Azure, assim como seus templates para o desenvolvimento no Visual Studio 2010.
ROLES NO WINDOWS AZURE
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
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
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
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
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
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
Templates no Visual Studio 2010
Template para soluções do
Windows Azure
. . . .
Templates no Visual Studio 2010
Lista de roles disponíveis para um
projeto no Azure
Roles escolhidos para a aplicação
. . . .
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
Configuração de VM Size
Definindo o número de instâncias para cada
Azure Role
Definindo o VM Size para cada Azure Role
<?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
<?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
Roles no Azure Compute Emulator
Adicionando um WCF Service Web Role
Adicionando um WCF Service Web Role
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.
Introdução sobre o Windows Azure Roles
Waldemir CambiucciArquiteto de Soluções
Microsoft Brasilhttp://twitter.com/wcamb/
http://blogs.msdn.com/wcamb/
lab #02
© 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.