Desvendar o Windows Azure cobrindo suas principais funcionalidades, conceitos e práticas. Neste artigo entenderemos o que é e como funciona a plataforma para cloud computing da Microsoft.
Para que serve
Conhecer a plataforma Windows Azure nos dá bagagem suficiente para tomadas de decisões estratégicas. Conhecer o modelo de computação na nuvem, atualmente, é algo essencial para todo desenvolvedor.
Em que situação o tema é útil
Criar aplicações com alta disponibilidade, facilidade de escalar e processamento intensivo são problemas comuns no mundo do desenvolvimento de software há tempos, no entanto somente agora com o advento da computação em nuvem acessível é que as soluções começam a se tornarem viáveis. Conhecer o Windows Azure é poder adotar soluções simples para problemas já antigos e recorrentes no desenvolvimento de aplicações.
Windows Azure
Vamos conhecer vários componentes e partes do Windows Azure. Vamos entender como estas partes se relacionam e quais os serviços temos disponíveis na plataforma de cloud computing da Microsoft. Entenderemos quais são os componentes do Windows Azure, os tipos e diferenças entre os roles, as opções de Storage e Virtual Network. Para utilizar o Windows Azure precisamos conhecer mais do que simplesmente os componentes do mesmo e por isso veremos quais as motivações e quais os problemas o Windows Azure se propõe a resolver. Economia em recursos financeiros, não alocação de máquinas para ficar ociosas. Possibilidade de resolver problemas antigos com soluções até então inviáveis e não disponíveis. Por fim veremos como criar um Worker Role que fará acesso à API do Twitter e conheceremos um pouco do Windows Azure Compute Emulator, um ambiente que provê estrutura para executarmos nossos serviços do Windows Azure em um ambiente de testes em nossas máquinas locais.
Cloud computing, ou computação na nuvem, é algo que está bastante em voga. Pode-se até dizer que o termo está na moda, são as “buzz words” do momento. O ponto é que isto não está acontecendo simplesmente por se ter agora tecnologias novas. O grande ponto com relação à cloud computing é que as tecnologias de agora permitem resolver problemas que existem há tempos: prover alta disponibilidade, escalabilidade, processamento intensivo intermitente, paralelo e em background.
Algumas empresas começaram a fornecer serviços e soluções em cloud computing. Dentre estas empresas destacam-se, por seu tamanho e notoriedade de mercado, Amazon e Google. A Microsoft começa a se posicionar com relação a serviços e estratégias de cloud computing no final do ano de 2008 quando anuncia o Windows Azure. Em fevereiro de 2010 o serviço torna-se então disponível comercialmente.
O Windows Azure é uma plataforma que fornece amplos serviços com relação à cloud computing. Serviços de processamento, web, armazenamento, banco de dados, distribuição de conteúdo e todas as características de sua infraestrutura e funcionamento fazem do Windows Azure uma escolha bastante segura no que diz respeito a plataformas cloud no mundo Microsoft.
Quando se fala de computação na nuvem muitas vezes o tema assusta a maioria dos desenvolvedores. São tecnologias novas, conceitos novos e uma gama de recursos novos para conhecer, estudar, compreender e aplicar. No entanto este não é um tema para causar espanto em nenhum de nós. Observando e experimentando o Windows Azure veremos que a computação na nuvem pode ser tão simples quanto qualquer outra forma de desenvolvimento.
Sem limitações de hardware
Como foi dito, a computação em nuvem está em alta. É com certeza um dos tópicos mais mencionados atualmente quando se fala em tecnologia. Isso, no entanto, não acontece simplesmente porque a oferta destes serviços surge agora como uma novidade. O ponto mais importante com relação à cloud computing hoje é que finalmente existem soluções acessíveis e viáveis para problemas que ocorrem há tempos.
Até que estas ofertas de cloud começassem a surgir de forma viável (em termos financeiros) sempre houve limitações de hardware no desenvolvimento de software. Muitas vezes estas limitações se apresentavam na quantidade de máquinas disponíveis. Outras vezes na complexidade do gerenciamento de um determinado ambiente a ser estruturado para o sistema. Com o advento da nuvem estas barreiras passam a não mais existir, é possível que as empresas e os desenvolvedores passem a se preocupar apenas com suas aplicações e não mais com a complexidade de lidar com a infraestrutura necessária para executá-las e mantê-las. Isso abre um leque infinito de possibilidades principalmente pelo fato de que virtualmente não existem limitações de hardware.
Se há alguns anos era completamente impossível imaginar uma alocação de 100 ou 1000 servidores para uma única aplicação hoje este mesmo número pode ser atingido com um simples mudar de configurações. Ao invés de você (sua empresa) ter de preocupar-se com a compra e gerenciamento desta enorme quantidade de máquinas, agora pode utilizá-las sem nenhum destes custos e/ou complexidades.
...