Cloud Computing

Ξ 2 comentários

Mais sobre WA – Windows Azure

publicado por Fábio Botelho

Ola amigos sejam bem-vindo de volta!

Dando seqüência ao nosso primeiro artigo sobre Cloud e Windows Azure neste novo artigo falarei com um pouco mais de detalhe da plataforma do Windows Azure. Este artigo será dividido em parte conforme o desenho da arquitetura do Windows Azure e a cada novo post, um tema da arquitetura será abordado.

Começaremos falando do Windows do Azure. Internamente no Windows Azure temos diferentes recursos como Compute, que é a capacidade de processamento da plataforma; Storage, não confundir com SQL Azure, e seus tipos de armazenamento de dados; Fabric controller que é o pool de maquinas do ambiente Azure; CDN – Content Delivery Network que é a capacidade do Azure de distribuir conteúdo que são freqüentemente acessados em “pontos de distribuição” tornando assim a informação requisitada mais próxima de seu requisitante e visível com mais rapidez e por fim, o Virtual Network que são recursos de conectividade entre redes IP. Boa leitura.

Windows Azure

 

Na imagem acima, demonstro como esta concebida a arquitetura da plataforma do Windows Azure. Inicialmente falaremos do “bloco” Windows Azure e seus componentes internos. Como falado no post anterior, o Windows Azure esta classificado na nuvem como PaaS ou Platforma as a Service que nos habilita em dizer que dentro do ambiente do Azure um conjunto de requisitos de plataforma como Aplicações, Dados e Sistema Operacional estarão disponíveis na nuvem para utilização e ainda é possível afirmar que podemos obter do ambiente frameworks de desenvolvimento e serviços para desenvolvimento, teste, publicação, hospedagem e manutenções das aplicações. Segundo a Microsoft as principais características de uso do Azure são:

  • Poder adicionar inúmeros serviços web ao ambiente;
  • Criar, modificar e distribuir aplicações para a web;
  • Alta capacidade de armazenamento de dados;
  • Capacidade de processar alto volume de dados on-line e também processamentos batch;
  • Reduzir custos de construção de aplicações web;
  • Reduzir esforços e os custos de gerenciamento de TI;

A seguir demonstro por esta imagem ilustrativa os componentes internos do Windows Azure.

Compute

Neste componente do Windows Azure podemos criar aplicações para a nuvem utilizando as linguagens do .Net Framework como C# e Visual Basic utilizando ainda todo o poder do Visual Studio 2008 ou 2010, porem o grande diferencial da plataforma é que ela também executa aplicações que não estão desenvolvidas em .Net Framework. É possível desenvolver aplicações em Java, C++; é possível rodar aplicações que dependem de engine FastCGI como o PHP. Isto demonstra o poder do ambiente onde você somente necessita customizar as suas aplicações e publicá-las na nuvem.

E para que tudo isto funcione de forma coesa, o Compute dispões de três grandes funções, também conhecida com roles. Estas roles são instancias em conjunto com o processo de load balancer e as requisições são distribuídas ou balancedas para cada uma das roles. As instancias de roles disponíveis no Windows Azure são:

Web Role – Destinada a rodar as aplicações desenvolvidas para a web. Agregada a cada instancia de Web Role temos um IIS 7 já pré-configurado. Sendo assim, podemos afirmar que, desenvolver aplicações baseado em .Net Framework como ASP.NET, ASP.NET MVC, WCF é extremamente usual como comer feijão com arroz. Ainda assim, aplicações em FastCGI como PHP, Java e Ruby também podem ser utilizadas.

Work Roles – Destinada a rodar requisições ou tarefas provinda do Web Role. Esta role em geral roda processos em background e possui um alto desempenho. A principal diferença entre a Web Role e um Work Role é que Work Role não possuem IIS 7 e o código gerado por ele não é hospedado e gerenciado no IIS 7.

Virtual Machine Role ou VM Role – Destinado a rodar imagens VHD, virtual hard disk. Isto faz com que o processo de migração para a plataforma do Windows Azure seja simples e rápida. É possível, por exemplo, montar uma imagem e publicá-la na nuvem. Uma vez publicado a VHD, é possível demandar este VHD pelos processos de VM Roles e executar todos os seus processos. Todo o ambiente operacional do VHD pode ser configurado e serviços de Windows como agendar tarefas (scheduler), executar processos e etc. podem ser gerenciados pela VM Role. Ela é responsável em gerenciar todos estes recursos.

Quando publicamos um VHD na nuvem, devemos informar qual será o tamanho da infra que iremos alocar para esta VHD. Nas instancias de Compute do Windows Azure podemos escolher entre 5 tamanhos de infra. Cada maquina física no Windows Azure é composta por 8 processadores core e para reservarmos uma maquina core no ambiente, devemos optar pelo modelo Extra Large (XL). Seis variáveis determinam o tamanho de cada VM no Windows Azure, são eles: Size, CPU, Memória, Disco, Performance e Custo. Vejamos os detalhes na tabela abaixo:

 

Storage

Não vamos confundir. Windows Azure Storage não é SQL Azure, okay! Falaremos sobre SQL Azure em outra ocasião. Combinado?

O componente do Windows Azure Storage que prove o serviço de storage na nuvem é um serviço capaz de armazenar terabytes de informações, isto por que ele é escalável, performático, tem alta disponibilidade, esta acessível em qualquer lugar e a qualquer hora e o melhor de tudo, você somente pagar pelo que o serviço utiliza. Pois bem, levando em consideração que boa parte das aplicações utilizam algum tipo de storage, ressalto algumas considerações do storage na nuvem com relação à migração do tradicional banco de dados relacional. Vejamos:

  • Ainda que seja possível se criar tabelas, storage na nuvem não é um banco relacional.
  • Quanto mais simples for a sua estrutura de dados melhor será o desempenho de acesso concorrente.
  • O desenvolvedor precisa quebrar o paradigma da entidade relacional.
  • O custo de armazenamento é baixíssimo, logo, um inesperado crescimento em volume de dados ou acessos, ao upgrade do ambiente não deve ser custoso para a organização e você ainda pode crescer à medida que achar necessário, afinal a infra esta na nuvem.

O storage do Azure disponibiliza na nuvem quatro tipos de armazenamentos: BLOB, Tables, Queues e Drive. Cada tipo possui características distintas e sua utilização pode ser isolada ou em conjunto.

  • BLOB, mais conhecido como Binary Large Object (BLOB) é o tipo capaz de armazenar texto e dados binários. Musicas, imagens, documentos são alguns exemplos.
  • Table é o tipo “genérico”, pois aceita armazenar qualquer dado na nuvem e ainda suporta terabytes de informações. Uma outra vantagem é que você pode fazer o acesso a uma conta do Table, da seguinte maneira: Local to Cloud, Cloud to Local e/ou Cloud to Cloud.
  • Queues ou filas é o tipo mais utilizado para troca de mensagem entre aplicações e/ou serviços e sua capacidade não deve exceder 8KB e por fim;
  • Drive é o tipo que nos habilita trabalhar com os arquivos de imagem VHD Virtual Hard Drive e podemos até gravar os conteúdos dos BLOBs nestas imagens. A capacidade de armazenamento do tipo Drive é de até 1TB por imagem.

 

Fabric controller

Fabric controller ou FC nada mais é do que uma versão customizada de VM Virtual Machine Hyper-V que gerencia conjuntos de hardware como, servidores, switch, redes e outros recursos disponíveis na nuvem. FC é responsável também pela instalação de Web e Worker Roles nos servidores virtuais ou físico, gerencia deployment de aplicações, adiciona novas instancias automaticamente no ambiente e principalmente monitora o ambiente para garantir a sua perfeita execução. Caso alguma maquina apresente instabilidade a FC tem como atuar de forma a corrigir o problema. As ações que ela pode tomar são:

  • Re-Iniciar as Roles
  • Re-Iniciar o servidor
  • Reprogramar o Load Balancer para remover a maquina afetada do pool
  • Move instancia das roles para outras VMs.

 

Content Delivery Network – CDN

Windows Azure Content Delivery Network ou Rede de entrega de conteúdo, nome muito bem definido ao propósito do recurso disponível no Windows Azure, permite colocarmos a informação mais próxima do usuário final, fazendo assim que o acesso seja muito mais rápido. Existem diversos exemplos hoje em dia na internet como o próprio Windows Update entre outros.

Para isto, a Microsoft ampliou globalmente para 22 os pontos de distribuição e eles estão subdivido conforme segue:

  • America do Norte

Newark, NJ; Ashburn, VA; Miami, FL; San Antonio, TX; Los Angeles e Bay Area, CA; Seattle, WA e por fim Chicago, IL.

  • America do Sul

São Paulo, BR.

  • Europa

Stockholme, SE; Amsterdan, NL; Vienna, AT; Zurich, CH; Paris, FR; London, GB e por fim Dublin, IE.

  • Ásia

Seoul, KR; Tokyo, JP; Hong Kong, HK; Taipei, TWN; Sydnei, AU e por fim Singapoore, SG.

O conteúdo suportado para distribuição são imagens, vídeos, softwares, documentos, aplicações em real-time como streaming ou outro conteúdo de internet podem ser distribuído. O CDN é um serviço que pode contratado através de uma conta na plataforma do Windows Azure.  Disse contratado, porque o serviço de CDN não esta incluso no pacote de bilhetagem do Windows Azure. Atualmente existem três tipos de métricas de bilhetagem conforme segue:

  • $0.15 por GB de dados transferidos das regiões da Europa e Américas.
  • $0.20 por GB de dados transferidos das demais regiões.
  • $0.01 por 10.000 transações.

 

Virtual Network

Windows Azure Virtual Network é uma nova vertente do Windows Azure que disponibilizará na nuvem recursos de conectividade entre redes IPs. Uma das características disponíveis é o Azure Connect lançado recentemente.

Azure Connect é um software que facilmente podemos conectar nossa rede IP privada utilizando protocolos TCP e UDP à nuvem do Windows Azure. Com isto temos diversas opções de utilização:

  • Podemos disponibilizar aplicações web na nuvem e mantermos o data base fora da nuvem na rede local por exemplo.
  • Podemos fazer join de conexões/comunicação com VMs de File Serve, Printer Server, Data Base, softwares de colaboração e comunicação e muito mais.
  • Podemos fazer join de dominós e fazer com que aplicações da nuvem autentiquem-se diretamente no AD local.
  • Podemos ainda conectar remotamente o Windows Azue e administrar e debugar instancias de Web e Worker Role do Windows Azure.

Azure Connect é um serviço contratado separadamente dos demais e pode ser adquirido pelo portal do Windows Azure. Segundo a Microsoft novos recursos já estão definidos no roadmap do software como conectividade com hardware de VPN.

No próximo post, abordaremos assuntos do SQL Azure e logo em seguida AppFabric.  E não perca, em breve falaremos de um assunto bastante complexo qué é a precificação e bilhetagem da plataforma do Windows Azure.

Grande abraço e até a próxima.


Referencias

http://www.microsoft.com/windowsazure/

 

Autor

Formado em Desenvolvimento de Software pela FIAP – Faculdade de Informatica Paulista e ex-professor desta mesma instituição lecionando o mesmo tema. Atuo na área de Tecnologia da Informação a mais de 10 anos e boa parte com arquitetura de desenvolvimento de software. Minha experiência profissional inclui empresas como gedas do Brasil, Volkswagen do Brasil e atualmente atuo na Atento Brasil, empresa do grupo Telefônica como Consultor de projetos. fabio.s.botelho@uol.com.br www.azurefeijaocomarroz.com.br Siga-me @fsbotelho

Fábio Botelho

Comentários

2 Comments

You must be logged in to post a comment.

Busca

Patrocínio

Publicidade



Siga-nos!

Newsletter: Inscreva-se

Para se inscrever em nossa newsletter preencha o formulário.

Artigos Recentes