Windows Azure: Ambiente de Desenvolvimento e Introdução

Publicado: 9 09UTC janeiro 09UTC 2011 em Azure, Microsoft, Programação

Hoje vou falar sou o Windows Azure, algo que tem grande potencial para crescer muito rapidamente. Desenvolver para Windows Azure não requer muitas ferramentas e nem muita configuração, é bastante simples.

Instalação

Visual Studio 2010

O Windows Azure funciona apenas com Visual Studio 2010, para quem não tem uma versão paga dele uma boa pedida é o Visual Studio Web Developer 2010 Express: download totalmente gratuito.

Eu recomendo a utilização do Visual Studio para desenvolvimento nas plataformas .Net.

SQL Server

Caso você não possua o SQL Server instalado. A Microsoft disponibiliza duas versões totalmente gratuitas:
- SQL Express 2005.
- SQL Express 2008.

Internet Information Services

É necessário ter instalado e habilitado o IIS 7.0 ou superior com suporte para ASP.NET. Também é disponibilizado gratuitamente o IIS 7.

Azure SDK e Toolkit

Estas ferramentas instalarão os templates de projetos e outras ferramentas necessárias ao desenvolvimento e também o SDK do Windows Azure.
O download do SDK e Toolkit podem ser feito aqui. Se preferir apenas o SDK (esse é obrigatório ter instalado para desenvolver para Azure), os links são: Standalone SDK x64 ou Standalone SDK x86.

Agora você tem um ambiente configurado, vamos a Introdução.

Introdução

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 (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.

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 na nuvem e o Windows Azure.

Cloud Computing

De forma simplificada, podemos definir o cloud computing  ou  computação  na  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 da computação: olhando o exemplo da introdução, 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 modo dinâmico, conforme a demanda pela 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 infra-estrutura que realmente usa.

O principal objetivo da computação em nuvem, é disponibilizar recursos aaS (as a Service), desta forma podemos disponibilizar SaaS (Software as a Service), HaaS (Hardware as a Service), dentre outros. Desta forma, podemos fazer um provisionamento e melhorias de processamento de hardware, alta-disponibilidade de aplicativos e capacidade computacional, que fique transparente para o usuário e que ele não tenha down-time, ou seja, que não parem os serviços durante o provisionamento.

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

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.

Vamos olhar um pouco mais do núcleo de operação do Windows Azure: ele é composto pelos componentes de processamento, gerenciamento de serviços (Service Management), virtualização (Virtualized Compute), espaço de armazenamento  (Storage)  e  tipos  de  dados  específicos  para  o  ambiente  de  computação  elástica,  como  Tables, Blobs, Queues e Locks.

Componentes do Núcleo do Windows Azure

Alguns cenários de aplicações são especialmente aderentes ao modelo de computação na 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, a lista acima é apenas um começo.

Azure Services

- Windows Azure – É o coração de tudo. O Windows Azure é o sistema operacional que vai prover todos os recursos. Nele também é onde encontramos o gerenciamento de serviços, aplicativos e provisionamento de computação;

- SQL Azure – É o SQL Server na nuvem. Com ele, podemos ter a disposição um banco de dados relacional, com hospedagem e processamento na nuvem. Ainda não tem todos os recursos do SQL Server on-premises (o SQL que instalamos em nossos servidores, a versão “comum” do SQL);

- Windows Azure AppFabric – Framework de comunicação e gerenciamento de aplicativos e recursos na nuvem e on-premises.

Preços

Veja a lista abaixo:

- “Pay As You Go”;

- Conta introdutória, algo como um trial do serviço;;

- Benefícios da Plataforma Windows Azure para Assinantes do MSDN.

Outra coisa é que é necessário ter cartão de crédito para a criação da conta, pois se passar o limite de testes, haverá cobrança normal do serviço.

Construindo uma aplicação ASP.NET para Windows Azure e SQL Azure

Nesse artigo você irá aprender a migrar uma base de dados para o SQL Azure, criar sua primeira aplicação ASP.NET Web Role, acessar os dados de uma instância de SQL no SQL Azure e finalmente publicar sua aplicação no Windows Azure. Confira aqui.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s