Olá a Todos!
   
  Saudações.
   
   
   
  Buscando ampliar os debates em relação ao RoR (RubyOnRails), está aqui um 
post do blog do Akita (www.akitaonrails.com, com seus dévidos créditos, é um 
blog que recomendo sua leitura diária, muita coisa interessante!), onde ele 
fala do momento de colocar uma aplicação RoR em produção, o que achei muito 
interessante.
   
   
  ---------------------------
   
  Posted by AkitaOnRails on quinta-feira, 18 de maio de 2006 
    Estou no capítulo sobre Deployment de Rails em ambiente de produção. 
Afinal, qual a vantagem de se desenvolver um grande aplicativo, totalmente Ajax 
… se não sabemos como colocá-lo para o uso de nossos usuários?
  The Usual Suspects são Apache2 + FastCGI, LightTPD + FastCGI. Não há muitas 
outras opções. WEBRick é um servidor competente para nossos testes durante o 
desenvolvimento mas dificilmente serve para produção.
  Temos dispatch.cgi, o que significa CGI. Acredito que este suporte exista 
apenas para o último caso, talvez para algo próximo ao Dia do Apocalipse. Nah, 
CGI não é opção, esqueçam.
  Mas Apache tem o mod_ruby. Também não, é um projeto pouco atualizado, 
instável e jamais serviria para produção.
  Também temos ouvido falar de SCGI, uma simplificação do FastCGI, mas ainda é 
muito novo. Falta amadurecer para receber a responsabilidade de nossa produção.
  Bom, então só pode ser Apache2 + FCGI. Também não. Infelizmente o projeto 
mod_fastcgi estava quase abandonado, tem vários problemas de deixar processos 
zumbis sobrando, defuntos. Não desejo esse tipo de problema para ninguém. 
  Chegamos ao LightTPD + FCGI, que é a opção recomendada pelo próprio David 
Hansson e é usado por todos os seus produtos na 37signals. De fato, Lighty vem 
sendo muito bem desenvolvido, tem performance e robustez quase comparáveis ao 
Apache e o melhor: tem um excelente suporte a FCGI. Para ambiente nix talvez 
seja mesmo o ideal.  \u003c/p\>\n\u003cp\>Mas e ambientes Windows? Lighty é 
compilado usando Cygwin e ainda é um estágio muito experimental. Não tem 
suporte para se instalar como um Windows Service, dependendo de produtos de 
terceiros. Há pouca maturidade nisso. \n\u003c/p\>\n\u003cp\>Mas felizmente, 
Zed Shaw, o criador de um suporte ao \u003cspan\>SCGI\u003c/span\> para Rails 
trouxe uma alternativa muito mais atraente: *Mongrel. Ele é uma biblioteca e um 
servidor \u003cspan\>HTTP\u003c/span\> totalmente feito em Ruby. Para aqueles 
que não fugiram das aulas de compiladores no curso de Ciências da Computação, 
seu processador de \n\u003cspan\>HTTP\u003c/span\> foi feito
 com Ragel.\u003c/p\>\n\u003cp\>\u003cem\>"Mas WEBRick também é feito em 
Ruby"\u003c/em\>. Acreditem, não analisei ainda para saber a mágica, mas Zed 
Shaw fez um milagre. Sim, o interpretador Ruby talvez seja um dos mais lentos, 
mesmo assim Mongrel é muito bom, e com as capacidades de cache do Rails, ele é 
a melhor solução hoje. Funciona muito bem em ambiente unix e também tem suporte 
muito bom para Windows. Pode ser instalado via RubyGems e ainda se instala como 
Windows Service. \n\u003c/p\>\n\u003cp\>Com suporte para cluster com 
\u003cstrong\>Mongrel_Cluster\u003c/strong\>, é ainda mais simples de escalar. 
Tanto Apache quanto Lighty tem bons suportes a proxy reverso e load balancing, 
o que facilita mais ainda colocar os velhos conhecidos na linha de frente e 
Mongrel no backend, servindo Rails. Acredito que este seja o melhor denominador 
comum de todas as soluções de produção. \n\u003c/p\>\n\u003cp\>Prestem atenção 
ao trabalho de Zed Shaw, ainda vem novidades por aí.
 Sabendo que muitos brasileiros se vêem obrigados a lidar com ambientes Windows 
em seus clientes, esta é uma excelente notícia a 
todos.\u003c/p\>\u003c/div\>\n\u003cdiv\> \u003c/div\>\n\u003cdiv\> \u003c/div\>\n\u003cdiv\>disponível
 em: \u003ca 
href\u003d\"http://www.akitaonrails.com/articles/find_by_date?month\u003d5&year\u003d2006\";
 target\u003d\"_blank\" onclick\u003d\"return 
top.js.OpenExtLink(window,event,this)\"\>http://www.akitaonrails.com\u003cWBR\>/articles/find_by_date?month\u003d5\u003cWBR\>&year\u003d2006\n\u003c/a\>\u003c/div\>\n\u003cdiv\> \u003c/div\>\n\u003cdiv\> \u003c/div\>\n\u003cdiv\> \u003c/div\>\n\u003cdiv\>p.s:
 testei um pequeno exemplo de cadastro de usuários, em uma máquina Intel 
Pentium III 750 Mhz com 256 MB RAM, GNU/Debian ",1] );  //-->   
  Mas e ambientes Windows? Lighty é compilado usando Cygwin e ainda é um 
estágio muito experimental. Não tem suporte para se instalar como um Windows 
Service, dependendo de produtos de terceiros. Há pouca maturidade nisso. 
  Mas felizmente, Zed Shaw, o criador de um suporte ao SCGI para Rails trouxe 
uma alternativa muito mais atraente: *Mongrel. Ele é uma biblioteca e um 
servidor HTTP totalmente feito em Ruby. Para aqueles que não fugiram das aulas 
de compiladores no curso de Ciências da Computação, seu processador de HTTP foi 
feito com Ragel.
  "Mas WEBRick também é feito em Ruby". Acreditem, não analisei ainda para 
saber a mágica, mas Zed Shaw fez um milagre. Sim, o interpretador Ruby talvez 
seja um dos mais lentos, mesmo assim Mongrel é muito bom, e com as capacidades 
de cache do Rails, ele é a melhor solução hoje. Funciona muito bem em ambiente 
unix e também tem suporte muito bom para Windows. Pode ser instalado via 
RubyGems e ainda se instala como Windows Service. 
  Com suporte para cluster com Mongrel_Cluster, é ainda mais simples de 
escalar. Tanto Apache quanto Lighty tem bons suportes a proxy reverso e load 
balancing, o que facilita mais ainda colocar os velhos conhecidos na linha de 
frente e Mongrel no backend, servindo Rails. Acredito que este seja o melhor 
denominador comum de todas as soluções de produção. 
  Prestem atenção ao trabalho de Zed Shaw, ainda vem novidades por aí. Sabendo 
que muitos brasileiros se vêem obrigados a lidar com ambientes Windows em seus 
clientes, esta é uma excelente notícia a todos.

   
   
  disponível em: 
http://www.akitaonrails.com/articles/find_by_date?month=5&year=2006 
   
   
  ---------------------------
   
   
   
  Bom, tenho realmente essa dúvida, como colocar o RoR em produção. Como já foi 
dito nesta lista, não é um trabalho fácil fazer o RoR rodar junto com o apache. 
Depois de algumas muitas horas, consegui, fazendo ele rodar usando CGI, o que 
não demonstrou uma performance muito atraente. Segui o how to disponível em: 
http://www.howtoforge.com/ruby_on_rails_debian_etch
   
  Sem querer duvidar do Akita, mas como já disse antes, ampliando os debates 
sobre o assunto, a melhor solução seria o uso do Mongrel? Mongrel Cluster com 
Apache?
   
   
   
  abraços a todos,
   
   
   
  Luiz (lufeos)
   
  p.s: desculpem pelo e-mail longo.

       
---------------------------------
Novo Yahoo! Cadê? - Experimente uma nova busca. 
_______________________________________________
Ruby-l mailing list
[email protected]
http://www.listas.unicamp.br/mailman/listinfo/ruby-l

Responder a