Arquitetura de Soluções

por Waldemir Cambiucci

FAQ sobre Windows Azure e Cloud Computing – nível 100

Olá pessoal, tudo certo?


Essa semana está bem corrida, mas consegui manter algumas belas discussões com empresas e times de projeto, para não perder a mania! 🙂


Um dos assuntos, como sempre, foi Cloud Computing! Como ainda tenho ouvido diversas perguntas nível 100, 125 e 200, aqui vai um post estilo FAQ – Frequently Asked Questions:


1) O que é Cloud Computing?


Podemos definir cloud computing ou computação em nuvem como uma combinação de grid computing com software como serviço (SaaS – Software as a Service). Do grid computing temos o poder de computação e alta escalabilidade oferecida para as aplicações, através de milhares de máquinas (hardware) disponíveis em datacenters de última geração. Do software como serviço temos a capacidade de contratar um serviço e pagar somente pelo uso. Essa característica de provisionamento dinâmico é muito interessante, permitindo a redução de custos operacionais, com uma configuração de infraestrutura realmente mais aderente às necessidades do nosso negócio.


Um elemento chave do modelo de cloud computing é a virtualização. Basicamente, quando contratamos mais ou menos poder de computação de uma de cloud estamos trabalhando com instâncias de máquinas virtuais, que irão suportar a execução de nossas aplicação na nuvem. Assim, teremos máquinas virtuais para computação de processos, para interfaces web, para armazenamento de imagens, para dados, etc.


2) Quem oferece Cloud Computing?


Normalmente, os investimentos para construção e manutenção de datacenters de cloud computing são grandiosos. Por isso, encontramos grandes empresas oferecendo infraestruturas de cloud como Amazon, Google, IBM, Microsoft, Rackspace, Zoho, Salesforce, entre outras. No Brasil, alguns hosters locais também estão iniciando suas ofertas de cloud computing para o mercado, aproveitando sua infraestrutura existente ou mesmo investindo em soluções baseadas em IaaS – Infrastructure as a Service, com o provisionamento de infraestrutura como serviço.


Desde fevereiro de 2010, a Microsoft oferece comercialmente sua oferta de cloud computing, baseada no sistema operacional Windows Azure. O portal principal do Windows Azure é esse abaixo:


Windows Azure Platform
Ref.: http://www.microsoft.com/windowsazure/


3) Onde fica a nuvem?


Cada fornecedor mantêm sua própria infraestrutura de cloud computing em datacenters especializados, muitos de última geração. Em muitos deles, a infraestrutura de hardware é colocada em containerers, como na figura abaixo, retirada de um datacenter Microsoft:


image


A Microsoft possui sua infraestrutura de datacenters através de 2 centros na América do Norte, 2 centros na Europa e 2 na Ásia, por enquanto!


image


4) O que é o Windows Azure?


O Windows Azure é um sistema operacional lançado pela Microsoft para seu modelo de cloud computing. Portanto, o Windows Azure não é vendido para ambientes desktop, mobile ou servidores corporativos.


imageO Windows Azure coordena a malha de hardware disponíveis em datacenters Microsoft, provisionando máquinas virtuais para a oferta de serviços online de alta escalabilidade e aplicações com provisionamento dinâmico. Essa malha é baseada em containeres como a foto ao lado, onde milhares de máquinas estão disponíveis para a infraestrutura Azure.


Além dos recursos de computação, armazenamento e administração oferecidos pelo Windows Azure, a plataforma também disponibiliza uma série de serviços para a construção de aplicações distribuídas, além da total integração com a solução on-premise (local) baseada em plataforma .NET.


5) Como funciona o Windows Azure?


Cada oferta de cloud computing disponível no mercado envolve questões de aplicação, plataforma e infraestrutura.


Olhando o Windows Azure, temos uma infraestrutura baseada em datacenters onde executamos Windows Server 2008 com tecnologia de virtualização baseada em Hyper-V da Microsoft. Sobre essa infraestrutura, contratamos instâncias para processamento ou armazenamento de dados com diversas configurações possíveis, por exemplo:


image


Cada configuração acima possui um valor de contrato diferente. Uma vez definido o ambiente, pagamos pelo uso.  Essa configuração é feita através do próprio ambiente de desenvolvimento do Visual Studio 2008 ou 2010.


Veja como é feita essa configuração através do Visual Studio 2010, abaixo:


image


6) Quando posso usar uma nuvem?


Podemos usar uma infraestrutura de nuvem conforme a necessidade, sempre que pensamos em alta escalabilidade via internet e redução de custos operacionais (com um ambiente onde pago apenas pelo uso). Porém, que aplicação vou colocar na nuvem?


Podemos pensar em alguns cenários que são aderentes ao modelo de computação em nuvem, como ilustra a figura abaixo:


image


Assim, cenários de carga “On/Off’”, carga com “Crescimento Rápido”, carga com volume “Imprevisível” ou mesmo picos “Sazonais” são exemplos de demandas que são aderentes ao Windows Azure, devido sua capacidade de configuração dinâmica e elástica. Mas como o Otávio sempre comenta, temos de fato uma grande “Janela de Oportunidades” diante de nós, com a criação potencial de novos negócios, novas combinações de infraestrutura e soluções bem sofisticadas.


Antes de pensar simplesmente em colocar sua aplicação na nuvem, procure identificar qual o cenário envolvido e quais benefícios você está perseguindo para sua solução.


7) O futuro vai ser uma grande nuvem?


Essa pergunta me lembra as diversas arquiteturas dominantes que já vimos nos últimos 30/40 anos. A arquitetura Client/Server já foi colocada como o futuro do ambiente de TI nos anos 80, assim como soluções Web eram a promessa definitiva nos anos 90. Depois vimos a visão de serviços de SOA como a solução de nossos problemas, mas de fato percebemos que hoje, convivemos com todas essas arquiteturas ao mesmo tempo.


É bem provável que o futuro seja um MIX de várias tecnologias, onde nossas soluções irão aproveitar os benefícios do ambiente local, do ambiente corporativo, de serviços Web assim como de serviços hospedados na nuvem. Cada indústria ou empresa irá definir sua combinação ideal entre on-premise e cloud computing.


8) Quando o Windows Azure vai chegar no Brasil?


Durante o PDC09 foi anunciado que o Brasil teria seu lançamento comercial do Windows Azure no segundo trimestre de 2010. Estamos perto!!! Assim que tiver a data pública eu aviso por aqui!


9) E o datacenter? Teremos datacenter no Brasil?


Hoje temos 6 centros disponíveis para o Windows Azure e creio que América Latina também terá o seu no futuro. Ainda não temos a definição sobre quais países hospedarão esses datacenters ou mesmo datas de lançamento. Vamos aguardar!


10) Tem algum ppt que eu possa usar para explicar isso para outras pessoas?


Claro! Veja um deck que publiquei um tempo atrás sobre Cloud Computing. Vale algumas atualizações em seu discurso, mas adicionando os comentários deste post creio que é um bom material para começar:


Cloud Computing Windows Azure
Ref.: http://www.slideshare.net/wcamb/aab308-cloud-computing-windows-azure-wcambpdf


E como leitura obrigatória, recomendo o Training Kit do Windows Azure, abaixo:


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


11) Como faço a estimativa de custos e análise de retorno sobre uso do Windows Azure?


Excelente pergunta! 🙂 Aqui, cabe o post sobre a ferramenta TCO Calculator, que publiquei um tempo atrás:


Windows Azure: Calculadora para TCO e ROI
Ref.: http://blogs.msdn.com/wcamb/archive/2009/12/05/windows-azure-calculadora-para-tco-e-roi.aspx


12) Depois disso tudo, o que eu preciso instalar na minha máquina para desenvolver para o Windows Azure?


Para criar uma estação de trabalho, você precisa instalar os pacotes a seguir:


Windows Azure Software Development Kit (February 2010)
Ref.: http://www.microsoft.com/downloads/details.aspx?familyid=DBA6A576-468D-4EF6-877E-B14E3C865D3A&displaylang=en


Windows Azure Tools for Microsoft Visual Studio 1.1 (February 2010)
Ref.: http://www.microsoft.com/downloads/details.aspx?familyid=5664019E-6860-4C33-9843-4EB40B297AB6&displaylang=en


Confira o esse post aqui para maiores informações.


13) Para terminar…


Para terminar, recomendo também dois outros posts em especial:


Cloud Computing para CIO e Gerentes de TI
Ref.: http://blogs.msdn.com/wcamb/archive/2009/12/10/cloud-computing-para-cio-e-gerentes-de-ti.aspx


Windows Azure: Server & Cloud Division no ar!
Ref.: http://blogs.msdn.com/wcamb/archive/2009/12/09/windows-azure-server-cloud-division-no-ar.aspx


O blog do time do Windows Azure é esse abaixo, sempre vale acompanhar seus comentários:


Windows Azure Team Blog
Ref.: http://blogs.msdn.com/windowsazure/


14) Mais uma?


Sim! Hoje, Steve Ballmer falou sobre Cloud Computing, não deixe de conferir o vídeo:


image


Microsoft on Cloud Computing: Live Webcast
Ref.: http://www.microsoft.com/presspass/presskits/cloud/liveEvent.aspx


Então pessoal?


Ficou um pouco mais claro? Espero que sim! Em breve, vou publicar novos posts com mais detalhes sobre a plataforma Windows Azure.


Por enquanto é só! Até o próximo post 🙂


Waldemir.