Deploy Contínuo com Guilherme Silveira
Em 2008 lançamos a versão 2.0 de um produto interno que era baseado em um script manual de deploy.
Os problemas que surgem por causa do script manual são diversos, sendo um típico processo de sexta feira pré fim de semana cheio:
- abertura de ticket de deploy ou ligação para o responsável
- enviar um script de atualização do banco
- aguardar o responsável terminar outras tarefas ou o ticket ser atendido (alguns dias)
- o processo de deploy (um arquivo .doc) é executado passo a passo, algo errado acontece
- mais um dia para saber que deu algo errado
- os desenvolvedores procuram o problema e corrigem
- aguarda o responsável ter tempo ou o ticket ser atendido novamente
- o processo de deploy é repetido
E assim consequentemente até o momento que seu sistema está no ar, muitos dias depois das funcionalidades terem sido escritas. O que fazer?
Automatize!
Nesse vídeo você acompanha o processo de deploy contínuo e sua importância, algo que foi feito desde 2005 até 2008 (integração contínua) e de 2008 até hoje (deploy contínuo), aumentando a velocidade de entrega de valor do nosso produto. Em breve postarei passo a passo cada técnica utilizada no blog de agile.
Essa palestra foi apresentada no Maré de Agilidade de BH, Maré de Agilidade de Vitória e no grupo de usuários de Ruby de São Paulo
Desenvolvimento de interface para aplicações desktop
Aplicações desktop podem não estar na moda mas em alguns momentos precisamos usar as apis de GUI de diversos sistemas operacionais. Enfrentar essa tarefa não é fácil: cada sistema possui uma api muito distinta e para facilitar esse trabalho existe o Shoes.
No encontro do guru-sp, o Fernando Ribeiro fez uma apresentação rápida (lightining talk) sobre o shoes na Caelum e a apresentação já está online.
Ciclo de vida de aplicações rails no Passenger
Algumas tecnologias, como .NET, Java e Cobol, escolhem definir padrões para como suas aplicações rodarão em um sandbox, um ambiente controlado que define como será o ciclo de vida das mesmas – tipicamente chamado de servidor de aplicação.
A desavantagem dessa abordagem está nas limitações que padrões colocam na nossa maneira de desenvolver, enquanto a vantagem está na consistência do funcionamento entre diferentes vendors.
No mundo Rails, muitas aplicações entram em produção com Passenger, que oferece um ciclo de vida e de tratamento de requisições diferente de um uso simples do Mongrel.
O Vinicius Baggio apresentou no encontro do guru-sp na Caelum do dia 26/06/2010 o funcionamento por trás do Passenger 2 e 3, incluindo detalhes de como otimizar esse processo, consequências positivas e negativas da escolha de implementação de filas de processamento de requisições.
O vídeo já está disponível para assistir. Outros vídeos de apresentações serão postados em breve.