Computação em Nuvem e o Windows Azure

Olá pessoal, tudo certo?

Vamos falar um pouco mais sobre Computação em Nuvem?

Imagine uma aplicação ASP.NET instalada num grupo de servidores para atendimento de requisições que chegam a partir de clientes Web. Imagine ainda que atrás dessa bateria de servidores temos um grupo de máquinas para as regras de negócio, coordenação de processos ou mesmo serviços implementados em WCF – Windows Communication Foundation, fornecendo funcionalidades para essa aplicação. Também no back-end encontramos as máquinas para bancos de dados ou sistemas de integração com o legado da empresa, acessando as chamadas aplicações linhas de negócio, ou LOB – Line of Business Applications. Esse cenário é muito comum nas empresas hoje em dia, implementado numa infra-estrutura própria (on-premise) ou eventualmente com máquinas em provedores e hosts locais.

A partir de uma campanha de marketing, que coloque em evidência sua empresa, ou mesmo devido o crescente interesse pelas funcionalidades da aplicação, o volume de transações deve crescer ao longo do tempo, aumentando o número de requisições ou mesmo de usuários simultâneos nas páginas e serviços da solução. Em seu planejamento, você prepara esse crescimento, disparando a compra de mais servidores, mais infra-estrutura de rede e a configuração da nova parte da TI para a aplicação. Com esse crescimento, ganhamos um custo de operação adicional, mais máquinas para administrar, monitorar, enquanto você passa a ser responsável pela atualização de software básico e instalação das funcionalidades da aplicação em mais máquinas. Os riscos e desafios aumentam, não é verdade?!

Imagine agora que o volume de acesso e requisições diminua por alguma razão, estabilizando num patamar inferior ao volume inicialmente previsto de crescimento, recuando para o volume original de acesso. Suas máquinas estão agora ociosas a maior parte do tempo, ainda consumindo custos de operação, administração, energia elétrica, monitoração, etc. Não seria interessante poder simplesmente mudar um arquivo de configuração e “desprovisionar” essas máquinas adicionais, pagando novamente os custos originais do sistema? E que tal fazer esse provisionamento/desprovisionamento quantas vezes quiser, enquanto for necessário? O cenário apresentado é o ambiente perfeito para o modelo de computação em nuvem e o Windows Azure.

A computação em nuvem

De forma simplificada, podemos definir o cloud computing ou computação em nuvem como um ambiente de processamento e armazenamento de dados massivo, de alta escalabilidade e alta disponibilidade, acessível via interfaces web como HTTP, REST e SOAP, instalado em datacenters de última geração espalhados pelo mundo. Uma grande característica desse modelo de computação é o provisionamento elástico de computação: olhando o exemplo acima, podemos iniciar a operação do sistema com 10 máquinas previstas para o front-end e back-end. Com o crescente volume de requisições, podemos contratar novas máquinas, passando para um cenário de 20 máquinas para o front-end e back-end, de forma dinâmica, através da configuração do ambiente via um portal de administração, por exemplo. Terminado o pico de utilização, podemos simplesmente retornar para a configuração original de 10 máquinas, apenas atualizando a configuração do ambiente na nuvem.

Esse poder de configuração é conhecido como computação elástica, onde o provisionamento é feito de forma dinâmica, conforme a demanda da aplicação. Ao mesmo tempo, novos modelos de contração, subscrição de serviços e licenciamento estão associados, onde a empresa pode pagar apenas pela infraestrutura que realmente utiliza.

Fazendo algumas contas, você verá que o cenário de computação em nuvem pode oferecer uma grande redução nos custos de administração e operação de TI nas empresas, o que tem explicado o interesse crescente de clientes e fornecedores de software sobre o modelo, como a própria Microsoft.

Um sistema operacional na nuvem

Esse é o contexto de lançamento do Windows Azure, um sistema operacional para a nuvem, anunciado pela Microsoft e que será lançado comercialmente no próximo PDC 2009 – Professional Developers Conference, em Los Angeles, na semana de 17 a 20 de Novembro. (veja: http://microsoftpdc.com/).

O Windows Azure é um sistema operacional que deve rodar sobre os vários datacenters da Microsoft em construção pelo mundo. Entre as características presentes no Windows Azure destacamos sua natureza para o “utility computing”, onde diversos serviços são oferecidos pelo sistema operacional para administrar e abstrair os recursos presentes no datacenter, como:

  • Facilidade para expandir para novas localidades (geo-distribuição);
  • Atualização viva de novas funcionalidades de software;
  • Aplicação de patches e correções de sistema operacional;
  • Diagnóstico e recuperação de falhas de hardware no próprio datacenter;
  • Grande capacidade de armazenamento com alta disponibilidade;
  • Lidar com o aumento de tráfego;
  • Diagnosticar e responder a falhas de serviços;

Alguns cenários de aplicações são especialmente aderentes ao modelo de computação em nuvem, como:

  • SaaS LOB Applications, ou aplicações linhas de negócio no modelo SaaS – Software as a Services, oferecendo funcionalidades como serviços. Alguns exemplos são CRM SaaS, HR SaaS, ERP SaaS, etc;
  • Aplicações Web Colaborativas, envolvendo diversos dispositivos e usuários com a manipulação de formatos de dados diversos;
  • Aplicações com Hub de dados compartilhados, envolvendo um volume crescente de dados compartilhados entre diversas empresas, como cenários de cadeias de suprimentos, integração entre empresas, etc;
  • Aplicações Web com Business Intelligence e Data Mining, com volumes crescentes de dados e armazenamento de informações;

Muitos outros cenários são aderentes ao modelo, outros nem tanto. Sobre esse assunto, o arquiteto de soluções Otávio Coelho, da Microsoft Brasil, publicou recentemente um belo post sobre um mapa de decisão para aplicações sobre o Windows Azure, vale conferir:

Quando usar o Azure?
Ref.: http://blogs.msdn.com/otavio/archive/2009/10/21/quando-usar-o-azure.aspx

Portanto, já estamos em contagem regressiva para o lançamento da plataforma Azure e seus recursos. Cenários como serviços na nuvem, processos na nuvem, dados na nuvem, colaboração on-premise/off-premise, interoperabilidade com outras plataformas em nuvem e uma série de ferramentas para o desenvolvimento de aplicações deverão ser anunciadas durante o PDC 2009.

Para saber mais sobre a plataforma, não deixe de conferir os posts publicados pelos times de produto e desenvolvedores, a partir dos links:

Portal do Windows Azure
Ref.: http://www.microsoft.com/windowsazure/windowsazure/

Plataforma Windows Azure
Ref.: http://msdn.microsoft.com/pt-br/azure/default.aspx

A plataforma já está disponível para testes, em fase de CTP. Você pode conferir um bom material, com demonstrações, laboratórios e vasta documentação a partir dos links abaixo:

Windows Azure Platform Training Kit – October Update
Ref.: http://www.microsoft.com/downloads/details.aspx?familyid=413E88F8-5966-4A83-B309-53B7B77EDF78&displaylang=en

Windows Azure Software Development Kit (July 2009 CTP)
Ref.: http://www.microsoft.com/downloads/details.aspx?familyid=AA40F3E2-AFC5-484D-B4E9-6A5227E73590&displaylang=en

Windows Azure Tools for Microsoft Visual Studio (July 2009 CTP)
Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=8d75d4f7-77a4-4adf-bce8-1b10608574bb&displaylang=en

E para terminar, tenho publicado uma série de posts sobre a plataforma, enquanto acompanho sua evolução, com destaque para as sessões abaixo:

Architecture in a Box: Uma introdução sobre Cloud Computing
Ref.: http://blogs.msdn.com/wcamb/archive/2009/10/23/architecture-in-a-box-uma-introdu-o-sobre-cloud-computing.aspx

Architecture in a Box: Uma introdução sobre o SQL Azure Database
Ref.: http://blogs.msdn.com/wcamb/archive/2009/10/26/architecture-in-a-box-uma-introdu-o-sobre-o-sql-azure-database.aspx

Aproveite o mterial e fique ligado nas novidades!

Um abraço!

Waldemir Cambiucci
Blog: http://blogs.msdn.com/wcamb/
Twitter: http://twitter.com/wcamb/

Waldemir Cambiucci

Mais artigos deste autor »

Waldemir Cambiucci ([email protected]) trabalha na Microsoft Brasil como arquiteto de soluções, com foco na comunidade de arquitetura e clientes corporativos. É graduado em Engenharia de Computação, mestre em Engenharia Elétrica e Pós-Graduado em Finanças e Administração. Com mais de 14 anos de experiência em TI, atua na Microsoft há 8 anos, tendo participado de projetos importantes no Brasil e no exterior. Waldemir tem sido palestrante em diversos eventos como Tech-Ed Brasil 2007/2008/2009/2010 e Conferências como Software+Service Day 2008/2009, Regional Architect Forum Brasil 2007/2008/2010, SOA Conference Brasil 2008/2009 e muitos outros. É ainda autor de diversos artigos publicados em revistas técnicas e conferências nacionais e internacionais. Seu blog é o http://blogs.msdn.com/wcamb e seu Twitter é http://twitter.com/wcamb/.


Deixe seu comentário

Seu endereço de e-mail não será publicado. Campos com * são obrigatórios!