Neste artigo falarei sobre o conceito de Roles existente dentro do Windows Azure, comentando os tipos existentes até o momento e comentando/explicando cada um deles.

O que são Roles?

Para que fique de uma forma clara e concisa o conceito de roles existente dentro do Windows Azure, devemos primeiramente, esquecer o conceito de roles existente dentro das aplicações ASP.NET (Onde são responsáveis por gerenciar as autorizações dos grupos de usuários e etc.).

Basicamente, a arquitetura de uma aplicação hospedada no Windows Azure é baseada em elementos escalonáveis, que são construídos sobre código gerenciado, esses elementos são conhecidos como Roles.

Uma aplicação hospedada no Windows Azure implementa uma ou mais Roles, podendo assim executar várias instâncias de uma Role, onde são replicadas em vários computadores. Desta forma, garantindo a total funcionalidade da aplicação em praticamente tempo integral.

As principais Roles

No Windows Azure as principais e mais utilizadas roles são: Web Role e Worker Role.

Role Descrição Algumas características
Web Role Como o próprio nome já diz, está Role é utilizada para projetos Web, como por exemplo, Web Forms e MVC. Sendo que, cada instância de uma Web Role possui uma instância do IIS7 pré-configurado, tornando-a independente das demais aplicações e facilitando a configuração da mesma.
  • Possui o IIS7 pré-configurado;
  • Aceita requisições HTTP/HTTPS;
  • Pode ser utilizado com qualquer framework .NET que rode sobre o IIS;
  • Pode ser utilizado com código nativo, desde que, possa rodar no IIS;
Worker Role Uma worker role, é “mais ou menos” o equivalente a um Windows Service, onde a execução é efetuada “por trás dos panos” e a todo momento.
  • Não possui IIS pré-configurado;
  • Não é hospedado no IIS;
  • Pode ser utilizado usando código .NET;
  • É utilizado indefinidamente;

Neste artigo pudemos entender e analisar as principais Roles existentes dentro do Windows Azure, existe também uma chamada VM Role, destinada a utilização de maquinas virtuais, mas esse é um caso a parte e merece um artigo exclusivo para a mesma.

Mais sobre .NET