Um tempo atrás experimentei o mecanismo de cloud da SpringSource chamado de Cloud Foundry (CF). Para isso foi necessário criar uma conta na Amazon Web Services (AWS - infra estrutura de cloud da Amazon) e deixar o número do meu cartão de crédito.
Pude notar que o Cloud Foundry é uma ferramenta que permite a criação e configuração de uma máquina virtual (VM) na AWS com apenas alguns cliques na interface administrativa. A VM criada pelo CF é composta por um Linux da distribuição CentOS, um Apache Web Server, um SpringSource tc Server (Tomcat adaptado) e uma instância de MySQL. Já o AWS é quem hospeda a VM totalmente configurada pelo CF. Também é possível criar diferentes máquinas virtuais diretamente na interface administrativa do AWS.
Tudo começa com a criação de uma conta no AWS e a indicação de um cartão de crédito para as cobranças. Após aguardar até 24h para confirmação do número do cartão, o AWS disponibiliza o acesso à interface administrativa. Através desta interface torna-se possível criar uma VM com qualquer um dos sistemas operacionais disponíveis (CentOS, Windows, Fedora, Ubuntu, etc). Contudo, a máquina criada estará vazia mas acessível via SSH. A partir daí o desenvolvedor deve fazer upload dos softwares necessários e configurar por conta própria estas instalações dentro da VM. Mas, o que mais interessa para testar o CF da SpringSource é a criação um par de chaves digitais para autorizar o CF a acessar a conta no AWS e fazer todas as configurações necessárias, além de criar a VM com todos os softwares indicados anteriormente.
Após ter a conta no AWS e um par de chaves digitais, o próximo passo é criar uma conta no CF e fazer o upload das chaves. A partir desse momento, torna-se possível fazer o upload de um WAR contendo a aplicação web desejada. Esta aplicação pode usar ou não Spring Framework, além de qualquer outra tecnologia Java acessível a partir de um conteiner web.
Através da interface administrativa do CF é possível configurar algumas características do MySQL (se será uma instância única ou um cluster de banco de dados a ser distribuído geograficamente em VMs no AWS). Além do upload do WAR da aplicação a ser instalada automaticamente na VM criada pelo CF, a interface permite indicar o usuário, senha e esquema a serem criados no MySQL e o nome da instância no tc Server para a aplicação.
Ao ativar a VM configurada através do CF, a VM começa a rodar no AWS com um IP e nome na web atribuídos dinamicamente pelo AWS (ou um IP fixo se adquirido no AWS).
Após ter a conta disponível no AWS e no CF, em alguns minutos uma VM estará rodando e acessível através da web com todos os softwares indicados já configurados e em execução. Os maiores tempos são gastos aguardando validação do cartão de crédito pelo AWS e o upload do WAR para o CF.
Para realizar estes testes e conhecer a infra do AWS e CF, escolhi a VM mais barata que está baseada numa máquina com pouca capacidade de processamento e uso de linux (U$ 0.085 / hora para uma VM com 10GB HD, ˜2GB ram, ˜1GB swap e CPU Intel Xeon 2.66GHz). Esta configuração pode ser alterada a qualquer momento, resultando em acréscimos no valor hora.
O CF no momento suporta apenas a infra do AWS. Mas, com a aquisição da SpringSource pela VMware, em breve a infra da VMware também estará disponível. Por enquanto, o CF é beta e, por isso, ainda é gratuito. Portanto, a SpringSource não está cobrando, por enquanto, pelo uso do CF. Mas, não podemos nos iludir, ainda temos que pagar pelo tempo de uso do AWS.
A idéia do CF é legal, principalmente para quem não deseja ter trabalho ou não tem skill para uma configuração detalhada de um linux com as ferramentas indicadas. Contudo, quem domina a administração de um linux e a configuração em cluster de um MySQL, talvez não queira pagar pelo custo do CF no futuro ou deseja ter controle total sobre as otimizações.
Vejo uma vantagem no AWS e CF ao usar uma VM. Neste caso podemos instalar qualquer software e usar qualquer tecnologia plenamente. Contudo, a distribuição é limitada à clusterização de máquinas e serviços (como banco de dados ou servidor de aplicações). Já o mecanismo de cloud da Google impõe restrições na aplicação Java em favor de uma distribuição transparente da aplicação. O Google controla onde a aplicação executa, o JPA não é completamente implementado e as operações de JNDI e acesso a disco não são permitidos. Ambos os modelos são interessantes. Podemos escolher o melhor de acordo os requisitos da aplicação.
O exemplo ilustrado acima foi comentado num post no blog do Spring Brasil User Group com o título: Aplicação web completa com Spring Framework 2.5 disponível.
By Spock
http://blog.spock.com.br/
http://twitter.spock.com.br/
http://www.springbrasil.com.br/
Pude notar que o Cloud Foundry é uma ferramenta que permite a criação e configuração de uma máquina virtual (VM) na AWS com apenas alguns cliques na interface administrativa. A VM criada pelo CF é composta por um Linux da distribuição CentOS, um Apache Web Server, um SpringSource tc Server (Tomcat adaptado) e uma instância de MySQL. Já o AWS é quem hospeda a VM totalmente configurada pelo CF. Também é possível criar diferentes máquinas virtuais diretamente na interface administrativa do AWS.
Tudo começa com a criação de uma conta no AWS e a indicação de um cartão de crédito para as cobranças. Após aguardar até 24h para confirmação do número do cartão, o AWS disponibiliza o acesso à interface administrativa. Através desta interface torna-se possível criar uma VM com qualquer um dos sistemas operacionais disponíveis (CentOS, Windows, Fedora, Ubuntu, etc). Contudo, a máquina criada estará vazia mas acessível via SSH. A partir daí o desenvolvedor deve fazer upload dos softwares necessários e configurar por conta própria estas instalações dentro da VM. Mas, o que mais interessa para testar o CF da SpringSource é a criação um par de chaves digitais para autorizar o CF a acessar a conta no AWS e fazer todas as configurações necessárias, além de criar a VM com todos os softwares indicados anteriormente.
Após ter a conta no AWS e um par de chaves digitais, o próximo passo é criar uma conta no CF e fazer o upload das chaves. A partir desse momento, torna-se possível fazer o upload de um WAR contendo a aplicação web desejada. Esta aplicação pode usar ou não Spring Framework, além de qualquer outra tecnologia Java acessível a partir de um conteiner web.
Através da interface administrativa do CF é possível configurar algumas características do MySQL (se será uma instância única ou um cluster de banco de dados a ser distribuído geograficamente em VMs no AWS). Além do upload do WAR da aplicação a ser instalada automaticamente na VM criada pelo CF, a interface permite indicar o usuário, senha e esquema a serem criados no MySQL e o nome da instância no tc Server para a aplicação.
Ao ativar a VM configurada através do CF, a VM começa a rodar no AWS com um IP e nome na web atribuídos dinamicamente pelo AWS (ou um IP fixo se adquirido no AWS).
Após ter a conta disponível no AWS e no CF, em alguns minutos uma VM estará rodando e acessível através da web com todos os softwares indicados já configurados e em execução. Os maiores tempos são gastos aguardando validação do cartão de crédito pelo AWS e o upload do WAR para o CF.
Para realizar estes testes e conhecer a infra do AWS e CF, escolhi a VM mais barata que está baseada numa máquina com pouca capacidade de processamento e uso de linux (U$ 0.085 / hora para uma VM com 10GB HD, ˜2GB ram, ˜1GB swap e CPU Intel Xeon 2.66GHz). Esta configuração pode ser alterada a qualquer momento, resultando em acréscimos no valor hora.
O CF no momento suporta apenas a infra do AWS. Mas, com a aquisição da SpringSource pela VMware, em breve a infra da VMware também estará disponível. Por enquanto, o CF é beta e, por isso, ainda é gratuito. Portanto, a SpringSource não está cobrando, por enquanto, pelo uso do CF. Mas, não podemos nos iludir, ainda temos que pagar pelo tempo de uso do AWS.
A idéia do CF é legal, principalmente para quem não deseja ter trabalho ou não tem skill para uma configuração detalhada de um linux com as ferramentas indicadas. Contudo, quem domina a administração de um linux e a configuração em cluster de um MySQL, talvez não queira pagar pelo custo do CF no futuro ou deseja ter controle total sobre as otimizações.
Vejo uma vantagem no AWS e CF ao usar uma VM. Neste caso podemos instalar qualquer software e usar qualquer tecnologia plenamente. Contudo, a distribuição é limitada à clusterização de máquinas e serviços (como banco de dados ou servidor de aplicações). Já o mecanismo de cloud da Google impõe restrições na aplicação Java em favor de uma distribuição transparente da aplicação. O Google controla onde a aplicação executa, o JPA não é completamente implementado e as operações de JNDI e acesso a disco não são permitidos. Ambos os modelos são interessantes. Podemos escolher o melhor de acordo os requisitos da aplicação.
O exemplo ilustrado acima foi comentado num post no blog do Spring Brasil User Group com o título: Aplicação web completa com Spring Framework 2.5 disponível.
By Spock
http://blog.spock.com.br/
http://twitter.spock.com.br/
http://www.springbrasil.com.br/
Comentários