19
Diário de Bordo do FISL 9
on April 19, 2008
Update 20/04: O grande Marcos Tapajós colocou o vídeo da palestra para download no servidor dele. Inclusive ainda tem outros screencasts que eu fiz. Valeu Tapajós!
Pois é pessoal, voltei ontem à noite do FISL onde estive na quinta a sexta-feira. Porém, muitos imprevistos aconteceram e no fim não deu nada muito certo em relação à minha palestra, que estava agendada para quinta, dia 17/4, a partir das 11hs.
Minha jornada começou às 5 da manhã, quando eu já estava no aeroporto de Congonhas fazendo meu check-in. Ficamos sabendo que o vôo atrasaria devido ao aeroporto de Porto Alegre estar fechado por “más condições meteorológicas” – seja lá que desculpa seja essa.
Em resumo, no final meu vôo foi cancelado, tive que fazer escala em Florianópolis e só consegui aterrissar em Porto Alegre ao meio-dia, ou seja, 1 hora atrasado para minha palestra.
Fiquei sabendo que a sala estava quase cheia, talvez 200 ou 300 pessoas? Infelizmente não pude comparecer no horário e isso deve ter desapontado muita gente. Mil desculpas por isso, infelizmente não era algo que se pudesse prever. Felizmente alguns bons amigos meus e da comunidade estavam presentes, como o Fabio Kung, da Caelum. Parece que eles utilizaram bem o tempo disponível para falar de assuntos relacionado a Rails como JRuby.
De qualquer forma, depois que cheguei ainda tentamos arranjar outra sala em outro horário. Mais para o fim do dia o Pedro Pimentel, da LEC, nos ofereceu sua sala para que pudéssemos fazer a palestra. Mas quando fomos conversar com a organização do evento, eles preferiram que usássemos outra sala que eles tinham. Sendo recomendação deles, aceitamos. De qualquer forma, parece que eles estavam tendo um dia bastante estressante já que não estavam para muita conversa, se é que me entendem.
Então, de noite postei uma atualização aqui no blog dizendo onde era a sala. Ficou para o dia seguinte, sexta-feira dia 18, às 11 da manhã. Qual não foi minha surpresa ao descobrir que era uma sala de aula no sétimo andar da PUC que não tinha projetor (!) Agora, porque a organização nos colocou lá é algo inexplicável, dado que já tínhamos uma sala (do Pedro) que estava devidamente equipada.
Infelizmente, como as coisas foram definidas apenas no fim do dia de quinta, não houve tempo para todos saberem onde seria a palestra, então somente quem viu o post pôde comparecer. A organização do evento não tinha absolutamente nenhum mecanismo de comunicação eficiente para essas coisas. Enfim, no melhor espírito RejectConf dei minha palestra à moda antiga: na lousa com giz. Não é o tipo de coisa que me faz desistir, gosto de improvisar e foi o que tive que fazer.
Então, eu tive 2 horas para apresentar o assunto Deployment de Rails. É um assunto importante principalmente para quem já está usando Rails e quer saber quais as opções para colocar seu produto no ar. Das quase 300 pessoas que estavam no horário original do dia anterior, apenas 10% pôde comparecer, mas espero que todos tenham aproveitado.
A parte boa
Com certeza o que valeu a pena foi me encontrar pessoalmente com várias pessoas que costumam ler meu blog e participar da comunidade Rails, como o Everton Carpes, o Jony dos Santos e outros. Conheci pessoas que só conversava via internet como o Carlos Eduardo e o Júlio Monteiro, da e-Genial. Revi grandes colaboradores de Rails como o Vinicius Telles e o Silvestre Mergulhão (que palestraram sobre Rails 2 e o case Lucidus), da Improve It, o Fabricio – que conheci na Campus Party – e que também palestrou sobre Rails. O Fabio Kung, da Caelum (aliás, pena que o Paulo Silveira não estava lá).
Outras figurinhas carimbadas que sempre encontro em eventos como o Fernando Meyer, da Redhat, o Rodrigo Kumpera, da Novell. O Lucas Húngaro que organizou o Bauru on Rails, também estava lá. O Luis Vitor Martinez, da 4Linux, que iria co-palestrar comigo para falar sobre mod_rails. E claro, re-encontrei meu amigo Surgeworker Rodrigo Kochenburger (a.k.a. divoxx), que não via pessoalmente desde da RejectConf SP do ano passado. O Carlos Eduardo montou uma pequena quiosque onde nós Railers pudemos nos reunir, distribuir camisetas. O Vinicius trouxe o cartaz “Rails Brasil”. Enfim, todos os que realmente colaboram na disseminação da cultura Ruby on Rails no Brasil.
Fiquei muito contente também de conversar com pessoas de diversas empresas e instituições que me chamaram para dizer que estavam muito contentes de terem migrado para Rails e tem bons cases já em produção. Do Sul, do Sudeste, do Norte, em todos os cantos, desde pequenas até grandes empresas já tem algum núcleo Ruby on Rails em andamento. Foi muito bom poder constatar isso pessoalmente, o que me deixa mais motivado ainda para continuar servindo à comunidade.
O pessoal tirou várias fotos (eu esqueci minha câmera) e assim que eles publicarem na internet eu vou linkar aqui.
Só para completar, na noite de quinta, o Google patrocinou um jantar para palestrantes. Lá pude conversar com o Randall Schwartz, que palestra hoje (sábado) sobre Seaside. Eu tinha trocado e-mails com ele e a gente ficou de conversar no FISL. Eu gosto muito do podcast FLOSS Weekly que ele toca com Leo Laporte e como eu publiquei ano passado, foi um episódio desse podcast que me deixou inspirado a divulgar Git pela primeira vez, em setembro do ano passado.
O cara é muito gente boa. E para quem nunca tinha ouvido o nome, ele é mais conhecido na comunidade Perl, do lendário livro do Camelo de Perl. Espero que o pessoal assista em massa a palestra dele, ele vêm evangelizando Seaside. O objetivo dele com isso é simples: coisas como MySQL, Rails, ele prefere não falar porque já são conhecidos o suficiente. Coisas como Git e Seaside eram mais underground e ele quer ajudar a popularizar. Pelo menos entre os railers, o Git se popularizou, de fato. Foi legal poder ter falado com ele. Vou tentar entrevistá-lo em outra oportunidade.
RejectConf-FISL
Como disse antes, a organização do FISL – por incrível que pareça – é muito desorganizada para um evento daquele tamanho e responsabilidade. Claro que minha palestra não acontecer não foi culpa de ninguém, mas eles não têm nada de contingência (a menos que você seja um palestrante “high-profile”).
Eles tinham conexão à internet via Wi-Fi. Mas foi inusável. Parece até que alguém pegou alguns routers velhos e do jeito que estava ligou na internet e pronto. Além de extremamente lenta caía o tempo todo, o sinal era fraco, havia muita sujeira não filtrada, o DHCP não conseguiu dar conta e mesmo com sinal não se conseguia IP. Enfim, catástrofe total. Acho que fiquei mal acostumado com a Campus Party, que tinha uma infra-estrutura muito boa, bastante estável e muito rápida. A diferença foi da água (suja) para o vinho.
Enfim, como disse antes, eu queria muito ter dado essa palestra pois o assunto era importante. Tenho certeza que havia muita gente interessada nisso mas que não compareceu depois simplesmente porque não havia como eles saberem (eu postei no meu blog e, como disse antes, quase não dava pra usar internet por lá em alguns horários).
Além disso, claro que na sala de aula que me arranjaram, além de não ter projetor também não havia ninguém gravando. Worst case scenario.
Mas, eu não sou do tipo que dá o braço a torcer e se a montanha não vem até mim, eu puxo a montanha pra cá.
Acabei de gravar minha palestra, usando os slides que eu tinha feito, em formato de screencast. Então, todos os interessados poderão assistir o que eu iria originalmente apresentar, mas sem as limitações de horário.
Eu não tenho banda suficiente para suportar múltiplos downloads de 139Mb, então, se alguém quiser fazer um mirror, por favor, sinta-se à vontade.
Claro, não sou nenhum especialista de nível Engine Yard, mas acho que posso mostrar o Big Picture e outras pessoas que já tem experiência nisso podem ajudar a complementar o assunto na lista de discussão do rails-br. Isso deve ajudar os iniciantes e outros que estão tendo dúvidas neste momento.
Não é a mesma coisa que uma apresentação ao vivo, mas pelo menos não terá sido um esforço em vão. Espero que todos aproveitem. Fiquem de olho neste post que assim que os uploads terminarem eu vou atualizar aqui mesmo!
Valeu pessoal, foi muito legal conhecer todos pessoalmente no FISL e espero re-encontrá-los em breve!
Update: Acabei de subir o vídeo também no Veoh para tocar via flash. Essa versão tem bem menos qualidade mas se por alguma razão o download acima falhar, esta é outra opção:
Palestra FISL 2008 – Deployment from Fabio Akita on Vimeo.
Update 2: Acabei de subir o PDF com os slides se alguém quiser aproveitar. Podem reusar em suas próprias apresentações também.





Pois é Fabio, junto ao teu depoimento o sentimento de completo desperdício da tua palestra e falta de organizaçao de um evento que jah acontece ha tanto tempo.
De longe, nao consegui acessar os videos da tal TV Livre (No segundo dia tinha, mas com uma qualidade lamentavel)
Imagino como sentiram-se os gringos que vieram de longe …. E pensar que o DHH esteve palestrando RoR lah qdo ninguem sabia o que era …. comitragico :-)
Akita, me dá uma forma de baixar o vídeo que eu disponibilizo para você como eu fiz com os outros.
[]’s
Olá Akita,
O video do Veoh não está disponível, diz que não está disponibilizado para a minha região. Estranho não?
Um abraço!
@glaucio parece que o Veoh ainda está processando o vídeo. Vamos ver se ele demora muito.
Acabei de chegar em casa do último dia do FISL! Tava bem interessante… mas perdi a palestra do Randall Schwartz pq o despertadador não tocou ;/
Agora de volta ao dia-a-dia!
[]s
Muito legal a palestra, acabei de assisti toda, parabéns, show mesmo
Acrescentaria no overview a opção de usar unix sockets com o thin
nginx.conf
upstream backend { server unix:/tmp/thin.0.sock; server unix:/tmp/thin.1.sock; server unix:/tmp/thin.2.sock; }
Then start your Thin servers, like this: thin start—server 3—socket /tmp/thin.sock
http://macournoyer.wordpress.com/2008/01/26/get-intimate-with-your-load-balancer-tonight/
tem também o ebb filhotinho potente, que hoje chegou na sua versão 0.0.2
http://github.com/ry/ebb/tree/v0.0.2
Você falou no Schwartz… Ele anunciou mais cedo no blog dele que o FISL cedeu uma sala pelos três dias no próximo ano… Muito legal… A comunidade Rails podia fazer isso também, não?
Tava passando algumas parte do vídeo novamente tomando nota de algumas coisas, seria interessante se possível disponibilizar os slides da palestra. Isso me fez lembrar que tem espaço para o teu livro de rails avançado, inclusive para uma versão em inglês, algo como Rails em Produção que logicamente não se limita ao tema deployment
@lauro, dá uma olhada no fim do post, eu coloquei o link para o PDF da palestra.
E você tem razão, Thin, Ebb, Swiftply, Evented Mongrel são outras alternativas ao Mongrel “puro”. Realmente eu deveria ter comentado a respeito porque são boas opções também.
Cara eu assisti ao vivo a palestra, e apesar dos problemas estava show de bola, parabens cara!!
Poxa cara, pena que perdi a palestra… tava super empolgado para ir… hehe..
mais fica pra proxima…
agora é se contentar com o vídeo..
bom ver que a comunidade rails é bem unido, tava trocando umas idéias com voce, não sei se voce lembra, no stand.. mostrei até meu super system com active scaffold (heheh) ... admiro muito seu trabalho ( inclusive seu livro)
parabéns..
abraço
Grande Akita, acabei de assisti a sua apresentação e como você me pediu mais cedo vou falar um pouco das minhas impressões. Confesso que pisei na bola por não assistir a apresentação com o TextMate aberto para sair anotando tudo, por isso vou falar do que eu lembro.
Antes de qualquer coisa eu vou para as frescuras e vou reclamar daquele maldito ponteiro do mouse que você esqueceu na tela ! :-) Toda hora eu mexia no meu mouse para tirar o ponteiro da frente !
Desde quando eu cursei as disciplinas de Arquitetura de Computadores e S.O. lá na UFRJ eu não vejo uma apresentação explicando conceitos de processos e threads . O que eu achei mais interessante nessa parte da palestra foi você ter comentados esses conceitos em uma linguagem bem simples e sempre tentando mostrar como é isso na prática e não somente as explicações academicas. No final rolou até uma breve explicação de fork e o porque não devemos apenas seguir o que se escuta por aí e achar que thread é uma grande bala de prata.
Acho que foi de grande valia explicar como as coisas interagem na infra-estrutura Rails, sobretudo que muita coisa se baseia em IPC. Vejo que muita gente apenas sabe que tem que usar Mongrel mas não entende o porque ele deve ser usado e muito menos que existem alternativas. É fundamental as pessoas entenderem melhor como as coisas acontecem para só então pensar em otimizações pois tudo que é feito sem um profundo entendimento não passa de “achometro”.
Na parte que você fala sobre o Capistrano só tem dois detalhes que eu queria destacar. O primeiro é que o “cap rollback” é um comando do Capistrano 1.x, na versão 2 o comando mudou para “cap deploy:rollback”. O outro detalhe é sobre o deploy e as migrations. Um cliente nosso já passou por uma situação de fazer um deploy e a aplicação dar alguns erros e só depois ele descobriu que as migrations não foram rodadas pois deveria ter sido executado um “cap deploy:migrations”. Mas sinceramente, a solução para esse problema é bem simples, e você falou sobre isso, e eu chamo de servidor de homologação ! Você usou um nome que eu não me lembro mas o conceito é o mesmo, um servidor que você faz um deploy, verifica tudo antes de enviar para produção em definitivo.
Falando em deploy que história é essa de sexta de madrugada ? Tá maluco !? Não conheço mais isso desde que comecei a trabalhar com XP e sobretudo com Testes ! :-)
Ultimamente eu tenho feito muita propaganda do LiteSpeed em detrimento ao Mongrel mas não é porque eu ache que o Mongrel é ruim e sim porque tenho gostado muito do LiteSpeed ! Quando resolvemos adota-lo fizemos alguns benchmarcks usando o httperf e gostamos muito dos resultados obtidos. Sem contar que eu gosto da ideia de configurar tudo nume interface WEB ! :-)
Muita gente torce o nariz porque ele não é OpenSource mas eu não vejo problema algum nisso. A versão free dele atende muito bem a quase todas as aplicações que nós fazemos. E sinceramente, o dia que não atender terei um problema MARAVILHOSO acontecendo ! :-)
Claro que eu prefiro usar softwares gratuitos mas não vejo problema algum em pagar por algum software que eu ache realmente bom e útil !! Veja o exemplo do TextMate ! Você se arrepende de ter comprado ?
Como você disse, normalmente o Mongrel é bem estável e quando ele se comporta meio mal é bom suspeitar de algum leak de memória em alguma extensão em C !
Você falou de vários serviços de hosting mas eu gostaria de adicionar mais um a sua listinha, o SliceHost que tem VPS com preço bem razoável e um bom serviço de suporte usando o CampFire !
Na sua mensagem final você comenta sobre em algum momento ter se preocupar com a arquitetura e na minha opinião chegar a esse ponto é um PROBLEMA MARAVILHOSO ! Em XP pregamos muito o adiar as decisões ao máximo mas tem horas que eu acredito que temos que pensar um pouco nesses problemas e se eu tivesse que dar uma dica para quem está lendo esse seu post é para num primeiro momento pensar em otimizar na aplicação usando os recursos do Rails de cache. Isso já dá uma boa aliviada no desempenho e pode ser feito a qualquer momento.
Pessoal, comprem os vídeos do PeepCode !!! Não estou ganhando nada para fazer essa propaganda, embora eu mereça já que recomendo para todo mundo ! A propaganda é de graça mesmo e é simplesmente porque muita coisa que eu e o Akita falamos aqui nós já vimos nesses screencasts !
Acredito que essa sua apresentação desmistifica um pouco o conceito que Rails é para coisa pequena e que não escala. Meus parabéns pela apresentação e espero ver muitas outras ! :-)
Acho que escrevi d+ mas… Em time que está ganhando se mexe sim !
[]’s
Tapajós
Olá ! Acredito que mesmo com os contratempos de sala e etc os resultados foram bons. Uma pena eu não poder ter assistido sua palestra. Vai ter que ficar para o próximo FISL.
De qualquer forma, foi muito legal ver o pessoal da comunidade rails por aqui!! grande abraço,
Muito bom o screencast Akita, parabéns!