Pular para o conteúdo principal

Aplicação web com Spring no Cloud Foundry

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/

Comentários

Postagens mais visitadas deste blog

O que é Lógica de programação?

Este é o segundo de uma série de posts voltados aos leitores do blog que estão dando início à carreira de desenvolvimento de software. O assunto de hoje é a lógica de programação. Para ler antes: Entendendo como funciona a programação de computadores: linguagens de programação, lógica, banco de dados A lógica de programação é um pré-requisito para quem quer se tornar um desenvolvedor de software, independente da linguagem de programação que se pretende utilizar. Mas o que é de fato a Lógica de Programação e como saber se eu tenho esse pré-requisito? A lógica de programação nada mais é do que a organização coerente das instruções do programa para que seu objetivo seja alcançado. Para criar essa organização, instruções simples do programa, como mudar o valor de uma variável ou desenhar uma imagem na tela do computador, são interconectadas a estruturas lógicas que guiam o fluxo da execução do programa. Isso é muito próximo ao que usamos em nosso cotidiano para realizar atividad...

TDC ONLINE: SUA PLATAFORMA DE PALESTRAS GRAVADAS DO TDC DISPONÍVEL

Além do conteúdo ao vivo transmitido online nas edições do TDC, agora você pode ter acesso à centenas de palestras gravadas, através da nossa nova plataforma de vídeos - o TDC Online, que reúne todas as Trilhas premium, Stadium e Salas dos Patrocinadores das edições anteriores de 2022, TDC Innovation e TDC Connections.  Para acessar, basta clicar na edição em que você participou ( TDC Innovation ou TDC Connections ); Fazer o mesmo login (com e-mail e senha) cadastrados na hora de adquirir ou resgatar o seu ingresso no TDC; E clicar na Trilha de sua opção, e de acordo com a modalidade do seu ingresso. Logo em seguida, você será direcionado para a seguinte página com a lista de todas as palestras por Trilha: Pronto! Agora você tem acesso à centenas de palestras gravadas da sua área de interesse, para assistir como e quando quiser! Caso tenha esquecido a senha, clique na opção "Esqueci a senha" , insira o e-mail que você realizou para o cadastro no evento, e aparecerá a op...

TDC BUSINESS, chega a São Paulo com novas trilhas de Inteligência Artificial e Inovação

Maior conferência de profissionais de tecnologia do Brasil abordará temas em alta no momento como, por exemplo, Inteligência Artificial, Segurança, Ciência de Dados e Inovação O TDC BUSINESS, a 17° edição do The Developer's Conference na cidade de São Paulo, que acontece entre os dias 19 e 21 de Setembro, reunirá profissionais e especialistas da área para troca de experiência, compartilhamento de conteúdos e networking. Com o tema central: “Tecnologia para negócios transformadores”, o evento será totalmente híbrido, ocorrendo presencialmente no espaço Pro Magno, e com transmissão simultânea e atividades de network pela internet. A expectativa é reunir mais de 14.000 pessoas, somando a participação presencial e online.   Segundo Yara Mascarenhas, Fundadora e Host do Evento, “nosso objetivo com o TDC é inspirar a colaboração entre os profissionais e empresas para construir uma nova realidade para o mercado de TI.  Vamos juntar tecnologia e negócios com as trilhas técnicas...

12 ESQUENTAS TDC ESPERANDO POR VOCÊ

O TDC nasceu do sonho de profissionais que valorizam o compartilhamento de conhecimento, experiências e oportunidades entre as comunidades de desenvolvedores.  Por isso, o crescimento do TDC nunca poderia ficar longe do crescimento das comunidades! Pensando nessa união, criamos um projeto quente: O ESQUENTA TDC ! Visando divulgar os meetups de comunidades que querem transformar e inspirar carreiras, foi co-criado este projeto lindo e cheio de apoio, onde o TDC abraça meetups de diversas comunidades espalhadas pelo Brasil e elas contribuem com a divulgação da edição regente.  O TDC Innovation vai rolar de 14 a 16 de JUNHO, mas até lá vão acontecer muitos encontros incríveis!  Fique por dentro das comunidades que vão participar, quais temas irão abordar e claro as datas e locais para você participar. 💥Esquentas TDC Innovation 2023: 24/05 - Esquenta TDC: Carreira e Desenvolvimento Presencial em Floripa das 19:00 as 21:30 com inscrição AQUI Comunidade: Google Developer...

JSON fácil em Java com GSon !

Ola pessoal ! O formato JSON ( J ava S cript O bject N otation) vem se consagrando cada vez mais na comunicação de dados, principalmente nos dispositivos móveis devido a esse formato ser mais leve que o XML e também mais legível. Uma prova disso são as inúmeras bibliotecas que existem para manipular esse formato, e no caso do Android, o suporte ao JSON é nativo. Mas apesar de ter esse suporte nativo, algumas operações devem ser feitas manualmente e o código acaba ficando um pouco verboso e repetitivo, já que para cada objeto que se deseja transmitir é necessário fazer um método que lê as propriedades do JSON e faz as devidas atribuições no seu objeto Java. Vamos supor o seguinte objeto sendo transmitido em JSON: {   user: {     id: 123456,     name: "Neto Marin",     username: "netomarin",     email: "netomarin@globalcode.com.br"   } } Se você fosse tratar um Webservice que envia esse JSON para o seu aplicativo Android...

JavaOne Brasil, dicas para submissão de palestras

Não quero parecer pretensiosa dando dicas para submissão de palestras para o JavaOne Brasil, mas sim repassar os tantos conselhos e sugestões recebidas pelos vetaranos do JavaOne: Bruno Souza e Leonardo Galvão que revisaram dezenas de submissões para o JavaOne e ajudaram a aprovar tantas palestras, e também misturar um pouco da minha experiência na seleção de palestras nos eventos realizados pela Globalcode e SouJava . 10 anos de JavaOne: http://www.globalcode.com.br/noticias/Globalcode10AnosNoJavaOne Os palestrantes ganham a entrada! A submissão pode ser feita em português! O passo mais importante para ser aprovado como palestrante no JavaOne é sem dúvida nenhuma submeter pelo menos uma palestra. Então, independente de qualquer coisa, participe, arrisque, divulgue.  Mas, se quiser aumentar as suas chances...   1) Leve a sério: peça para amigos fazerem uma leitura crítica do texto, e claro uma boa revisão ortográfica. 2) Submissão de várias palestras ou variações do ...