Perguntas de um novato
21/06/2012 11:19
0
Pessoal,

Sou novo no mundo Groovy and Grails, porem sou programador SAP/ABAP por 3 anos e programador Java por 2 anos (ja trabalhei com JSP,Servlets e SpringMVC), além de ter experiencia com PHP, Ruby e Haskell.

Gostaria que vocês me respondessem algumas perguntas:

1) Onde é o melhor local para fazer o deploy do meu app? Cloud (Jelastic, Amazon), ou VPS(RimuHosting, MediaTemple)?
2) Estou na pagina 200 do livro Groovy in Action, e depois de ver muita, mas muita programação dinamica, isso me preocupa um pouco... Meu app vai ter em torno de 1.000 a 2.000 acessos por dia e uma media de 150 acessos concorrentes, devo desenvolver o app em Java puro (priorizando a performance) e aproveitar das facilidades do Grails?
Como posso fazer o levantamento de desempenho da minha aplicação?
3) Tenho uma area administrativa pequena no site, mas que permite acessos a modificação e deleção de dados no banco, devo usar o Spring Security plugin? como ele funciona e qual o custo(maquina) de usa esse plugin?

Muito grato a todos,

dertyu765
Tags: SpringSecurity Desempenho Deploy Cloud VPS Novato


1
Olá, Daniel.

Bem vindo então ao mundo Groovy/Grails. Bem, as respostas, IMO, são:

1. Lembre-se que Grails gera um ".war" compatível com a maioria dos servidores JEE. Assim, acredito que funciona na maioria desses servidores cloud que afirmam ter suporte para Java. O servidor não vai "saber" que foi feito em Grails. Vai "achar" que foi feito em JSP/Servlets e mais várias outras bibliotecas Java ;)

2. Essa é uma balança dificil de equilibrar: Você ganha muita produtividade no desenvolvimento mas perde um pouco de desempenho sim. Mas, 150 acessos concorrentes não creio ser algo que desperte preocupações.
Existe a possibilidade de usar um projeto Web Java "Hibrido", usando classes Java e Groovy no mesmo projeto (não precisa ser projeto Grails pra usar Groovy). Aqui onde trabalho estou fazendo isso num projeto com sucesso.
Levantamento de desempenho? Existem várias ferramentas mas gosto muito do Apache JMeter que teste qualquer tipo de Webapp, mesmo feito em, RoR, PHP, etc.

3. O Spring Security Plugin te evitar criar um arcabouço de autenticação e autorização "no braço". Deve ter um custo por ser algo pronto e talvez oferecer mais do que você precise. Mas faça testes de performance antes de decidir por ele ou algo feito por você mesmo.

Espero ter ajudado. Abraços.


0
Comparado com SpringMVC, Grails é mais lento?

Como não quero usar groovy no desenvolvimento para manter o desempenho, sera que não vale a pena voltar para o SpringMVC?

A aplicação é pequena, deve ter em torno de 5 páginas... porem ela é uma search engine e tenho uma grande preocupação em manter o serviço online 24h.
21/06/2012 12:57


1
Olá, Daniel.

"Comparado com SpringMVC, Grails é mais lento?"
Amigo, provavelmente sim. Mas a questão é: levar 0,05 segundos a mais por requisição fará diferença no teu sistema?

As vezes vejo pessoas querendo "máxima performance e escalabilidade" como e fossem fazer um novo "Facebook" mas na verdade possuem algumas centenas de acessos por dia.

Faz um teste de carga com JMeter simulando quantos usuários e acessos simultâneos quiser. Isso se faz em 1 manhã e você logo tem uma média de tempo de resposta da aplicação para avaliar se a performance é boa pra você.

Abraços.


1
Ah, usei os "0,05" segundos porque fiz uma breve comparação entre "servlets/JSP" com "grails" e tive essa diferença de tempo. Tempo um pouco maior do que uma piscada de olho. Mas foi um teste bem simples, apenas de carregamento de página sem acesso a banco.


0
José Yoshiriro,

Muito, mas muito obrigado pelo suporte meu caro.

Vou fazer meu APP com Grails mesmo, você tem toda razão.

Para finalizar esse post, atualmente estou vendo varias empresas, tais como Google, Jelastic, VMware, Amazon, etc... oferencendo cloud hosting.

Ve que a VMware inclusive tem o cloudfoundry, que permite fazer o deploy de forma simples.

Vale a pena investir em um host cloud, ou o VPS é o ideal? A unica coisa que estou ciente é que o cloud te cobra por recursos gastos.

Estou vendo que ha pouquíssimo material sobre como por exemplo fazer o deploy de um app no Amazon EC2.

Vale a pena trabalhar com o Cloudfoundry?
21/06/2012 13:35


1
Olá, Daniel.

Como você é novato em Grails, vale a pena saber algumas coisas:

Não é muito recomendado para alguns tipos de base de dados legadas, pois:
1. É trabalhoso de trabalhar com chaves primárias compostas.
2. É trabalhoso de trabalhar com tabelas onde o campo de chave estrangeira também é o da chave primária.

Aliás, qualquer tecnologia de desenvolvimento Web tem esses mesmos aspectos. Como você já trabalhou com outras sabe do que estou falando.

Quanto a hospedagem em nuvem, isso é uma pergunta bem genérica, independente se está fazendo o projeto em Grails, Rails ou PHP. Ai seria uma questão de pesquisar bem e testar as versão grátis que a maioria dessesprovedor oferece pra ter uma prévia da qualidade do serviço.

Na maioria desses servidores em nuvem que aceitam Java (consequentemente aceitam Grails) você pode simplesmente fazer o upload do ".war" e esperar o hot deploy ou solicitar o deploy via interface web. Simples assim (pelo menos nos que testei só de curioso). Logo, não creio que deve quebrar cabeça em como fazer deploy.


1
Eu gosto muito da Amazon.

Já utilizei como VPS criando uma instancia e configurando MySql e TomCat no braço. Sai muito barato, mas se você não gosta ou não sabe configurar servidor é arriscado.

Mas hoje em dia, se eu puder gastar um pouco mais com infra no projeto, prefiro usar a dobradinha RDS pro MySql e Beanstalk pra hospedagem e deploy da aplicação. É muito prático e rápido pra levantar tudo, e não sai caro.

Eu testei o cloudfoundry a muito tempo, logo que lançou. É legal também, mas prefiro a Amazon pelo ecossistema que ela oferece (S3, SeS, Route53, etc) e pela flexibilidade de fazer tudo muito rápido e na hora.

21/06/2012 14:02


0
Pessoal, muito obrigado pelo suporte.

Agora minhas dúvidas foram 100% resolvidas.

Muito obrigado
21/06/2012 14:40



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto