Microsoft divulga forma de comercialização do Windows Azure
Finalmente a Microsoft divulgou a forma de comercialização do Windows Azure. Como previsto, cobrarão por consumo. A seguir um exemplo de custo de uma máquina no Azure:
-
Por hora máquina, o custo ficará em U$ 0,12 que na cotação de hoje (R$ 1,939) sairá em torno de R$ 0,23, resultando em 166,00 reais por mês.
Achei um preço justo, pois hoje locar uma máquina dedicada sairá bem mais que isso. Claro que outros serviços também serão cobrados, como consumo de banda e storage, mas com preços competitivos. Comercialmente o Azure será disponibilizado no Professional Developer Conference 2009.
Mais detalhes: http://blogs.msdn.com/windowsazure/archive/2009/07/14/confirming-commercial-availability-and-announcing-business-model.aspx
[]’s
Entendendo o Windows Azure
Sexta-feira(05/11), tive a oportunidade de participar como ouvinte da palestra sobre Cloud Computing com o Windows Azure. A palestra ocorreu na semana de tecnologia da Faculdade Impacta e foi ministrada pelo Dennes Torres com início as 20:30.
O que mais nos motivou a assistir a palestra em uma sexta-feira a noite , foi o fato de haver uma demo de criação de um serviço dentro do Windows Azure. O assunto Cloud Computing e Windows Azure estava muito nebuloso e precisávamos do famoso “estalo” para entender os conceitos. O Dennes Torres participou do PDC e nos trouxe uma visão clara sobre o tema e quais os próximos passos para dar início as primeiras brincadeiras e vislumbrar novas oportunidades. Nas linhas a seguir faço um resumo sobre o que foi mostrado e discutido no evento.
Vou começar por uma definição grosseira sobre o que é o Windows Azure:
“A Microsoft virou uma grande empresa de hosting”
Isso mesmo, um grande hosting, mas um hosting diferenciado, já explico. Inicialmente vou falar sucintamente sobre como funciona uma empresa de hosting. Quando precisamos colocar um site no ar, temos algumas tarefas, precisamos registrar nosso domínio, www.nome.com.br em algum órgão de registro. Em seguida, este domínio precisa apontar para uma máquina na grande nuvem, a internet, na qual os arquivos do seu site e banco de dados estarão presentes. Esta máquina pode estar dentro da sua empresa, ou, você pode contratar um serviço de hosting. Normalmente contratamos um espaço físico que muitas vezes compartilha os recursos da máquina com outros sites. Caso seja necessário mais espaço físico, memória, processador, etc..., pode-se contratar uma máquina dedicada, ou seja, alugar uma máquina exclusiva para a sua aplicação. Há também uma terceira modalidade, contratar um serviço de co-location, ou seja, comprar uma máquina que ficará alocada na empresa de hosting. Qualquer uma das formas, visa diminuir custos e preocupações, pois a responsabilidade de backups, redundância de links e disponibilidade do servidor, fica a cargo da empresa de hosting. Independente da forma de contratação, será necessário conhecimentos especializados para colocar a aplicação no ar, principalmente quando a máquina for dedicada. Tarefas como configurar o servidor web e banco de dados será toda sua. Se for necessário escalar a aplicação, você poderá seguir duas abordagens:
<!--[if !supportLists]-->
- Scale-up: Aumento de recursos de hardware da máquina, como aumento de memória, troca de processador, expansão do espaço em disco.
<!--[endif]-->
<!--[if !supportLists]-->
- Scale-out: Colocar diversas máquinas com características semelhantes contendo cópias da aplicação.
<!--[endif]-->
Alguns problemas nos serviços de hosting nos moldes atuais:
<!--[if !supportLists]-->
-
Scale-up: Toda máquina tem um limite, a estratégia de Scale-up funcionará até certo ponto e em algum momento, teremos que colocar mais uma máquina trabalhando em paralelo para dividir a carga (Scale-out).
-
Arquitetura: Scale-out é excelente, entretanto, devemos nos preocupar com outros detalhes. Para ficar mais fácil o entendimento, vamos nos basear em uma aplicação web. Como teremos diversos servidores com a cópia do nosso site será difícil saber em qual máquina o usuário estará utilizando. Podemos ter casos em que o usuário começa em um servidor e termina o uso em outro. Obviamente quando se troca um servidor por outro, não queremos que a autenticação, sessão ou cache sejam perdidos. Para isso temos que implantar estratégias de centralização de sessão, cache e autenticação.
<!--[if !supportLists]-->
-
Picos de utilização variáveis: Vamos imaginar uma grande loja de e-commerce, em datas comemorativas há picos de utilização e será necessário alugar/comprar mais máquinas para se adequar a utilização. Quando o pico de uso acabar, teremos máquinas subutilizadas o que representa custos desnecessários para a organização.
<!--[if !supportLists]--><!--[endif]-->
Todos os problemas acima, apesar das dificuldades e possíveis desvantagens podem ser endereçados, mas arquitetos, DBAs e especialistas em infra-estrutura serão necessários, e o mais importante, investimentos para sustentar toda esta estrutura.
Imagine abstrair toda esta dificuldade, o desenvolvedor cria uma aplicação web, monta um banco de dados e os publica no hosting. O site está indo bem até o momento, questões de performance e disponibilidade estão dentro dos níveis de serviço acordados. Chegou o natal, há uma previsão de aumento de 1 milhão de usuários, verifica-se que será necessário aumentar o parque de máquinas, e agora? Simples, abre o arquivo de configuração e através de uma tag aumente o número de máquinas para o valor desejado, o hosting automaticamente criará cópias da aplicação, banco de dados e se preocupará automaticamente com o gerenciamento de tudo isto (cache/sessão/Autenticação/Banco de dados), isto é o Windows Azure, um sistema de hosting que vai além de oferecer infra estrutura. Ele oferecerá aplicações de alto nível, sistemas de monitoração da saúde da sua aplicação on-line, praticamente uma revolução na forma de trabalho.
O Windows Azure poderá hospedar um site, componentes de negócio, um banco de dados e oferecer diversos serviços.
Após a apresentação diversas dúvidas surgiram:
<!--[if !supportLists]-->
-
Windows Azure será vendido? Somente a Microsoft oferecerá este serviço?: Não, o Windows Azure não será vendido e sim, somente a Microsoft oferecerá este serviço. Ela está investindo massivamente em datacenters ao redor do globo e detalhes da construção e softwares utilizados não são divulgados. Futuramente recursos que tornam possíveis a concepção do Windows Azure, estarão disponíveis nas próximas versões dos sistemas operacionais da Microsoft, assim empresas de hosting privadas poderão prover serviços semelhantes.
<!--[endif]-->
<!--[if !supportLists]-->
<!--[endif]-->
<!--[if !supportLists]-->
-
Posso portar minha aplicação existente para a plataforma Azure?: Sim, entretanto alguns ajustes serão necessários, como a lógica de acesso a dados, ou seja, acesso ao banco de dados na nuvem, o SQL Services.
<!--[endif]-->
<!--[if !supportLists]-->
-
Qual será a forma de licenciamento e preços?: Pelo site do Windows Azure, o preço será baseado no consumo. Você poderá alterar a utilização a qualquer momento, comprando ou retirando recursos quando necessário. Durante o período de CTP não há encargos na utilização, apenas certos limites estão serão impostos.
<!--[endif]-->
<!--[if !supportLists]-->
- Os datacenters já foram construídos?: Segundo o blog do Otávio, arquiteto da Microsoft, já existem 13 e até o final deste ano serão 20.
<!--[endif]-->
<!--[if !supportLists]-->
-
Se desenvolvedor criar uma aplicação ruim, provavelmente para aumentar o desempenho ele irá aumentar a quantidade de máquinas. O Azure não poderá inibir as boas práticas de programação e arquitetura?: Não, para aumentar a quantidade de máquinas, haverá aumento de custos. Alguém quer pagar pelos erros? Eu não.
<!--[endif]-->
Para trabalhar com o Windows Azure, você precisará baixar alguns SDKs que encontram-se disponíveis neste link.
Concluindo, o Windows Azure é uma grande quebra de paradigma e com certeza trará muitas oportunidades, críticas e desafios aos arquitetos de software. Para os próximos posts trarei mais exemplos e curiosidades sobre o Azure.
Até a próxima