Dev (Back & Front)ARTIGO

Pra não dizer que não falei de Vagrant

Vamos falar um pouco dessa ferramenta super útil que promete (e cumpre) ser a revolução para ambientes de desenvolvimento virtualizados.

Vamos falar um pouco dessa ferramenta super útil que promete (e cumpre) ser a revolução para ambientes de desenvolvimento virtualizados, o Vagrant! Mas antes de falar da ferramenta em si, é importante começar com o seguinte: como é hoje o seu ambiente de desenvolvimento?

Evolução do ambiente de desenvolvimento

Vou contar um pouco da evolução do meu ambiente de desenvolvimento, talvez faça você recordar de algo que provavelmente já ocorreu com você:

  • Sem noção, altero tudo em produção;
  • Separação do ambiente, instalo tudo na minha máquina;
  • Minha máquina vira uma carroça, e tudo dá conflito;
  • Leio o texto do Anderson (Duodraco) Casimiro, aprendo que é uma boa virtualizar o ambiente de desenvolvimento dentro de uma máquina virtual, que posso ligar e desligar a qualquer momento;
  • Virtualização dá trabalho!

Virtualização: a promessa

A VM permite deixar os ambientes: leves, reproduzíveis e portatéis.

Os 3 pilares

  • Hardware
  • Sistema operacional
  • Softwares

Automatizando os 3 pilares da virtualização

É aqui que entra o Vagrant!

  • Vagrantfile: é a cola
  • Boxes: são VMs base, que já tem o Hardware e o Sistema Operacional definidos
  • Provisionamento: são os scripts que automatizam a instalação e configuração dos Softwares

Como começar

  • Leia o artigo do Duodraco e fique bravo se não funcionar com você (é o que aconteceu comigo);
  • Baixe o instalador do Vagrant e leia a documentação no site oficial (existe um trabalho para traduzir a documentação para português, se quiser dê uma olhada em http://friendsofvagrant.github.io/. Contribuições são bem-vindas);
  • Conheça as boxes oficiais e as criadas pela comunidade – várias diferentes distribuições de Linux;
  • Comece com módulos e cookbooks para provisionamento prontos e ajuste para o que precisa (o Vagrant suporta muitos mais, no entanto o Puppet e o Chef são os mais conhecidos (http://community.opscode.com/);
  • Importante: Procure aprender mais sobre Gerência de Configuração e Provisionamento, vão ser uma mão na roda para você.

Aprofunde-se

Depois que você tiver passado por esses passos, já entender o mínimo do conceito e tiver colocado pelo menos um pouquinho a mão na massa, aí compensa você ir para coisas mais avançadas, seguindo a própria documentação do Vagrant e o monte de informação disponível na web (minha dica, procure pelos plugins para Vagrant).

Me ajude mais!!!

E para facilitar bastante o seu desenvolvimento, duas ferramentas que já criam o esqueleto completo para você: Vagrantfile + Box + Provisionamento! São o mundo perfeito para realmente começar um projeto do zero sem ter quase nenhum trabalho nesse nível:

  • http://rove.io/: dica do Elton Minetto. Cria tudo para você baseado no provisionador Chef. Bom para projetos Ruby ou PHP/LAMP
  • https://puphpet.com/: cria tudo para você, com muito mais opções de configuração, baseado no provisionador Puppet. Muito bom para projetos PHP, tanto sobre Apache como sobre Nginx.

É isso aí, pessoal! Material não falta, não é mesmo?!

Já tivemos até o primeiro evento de Vagrant no Brasil, fiquem atentos para os próximos.

Se quiser aproveitar para ajudar em um projeto que tem tudo a ver com o tema, e é feito em PHP, deêm uma olhada no Github do projeto Puphpet, vocês vão ajudar muita gente com isso, e se envolver em um projeto Open Source é sempre bacana.

Bom divertimento, e qualquer coisa, me procurem, estou em todo lugar como rogeriopradoj!

Desenvolvedor, consultor de TI e "OpenSourcer" no GitHub. Pai do Léo, evangelista da comunidade PHPSP, muitas coisas na Caixa e criador da PradoJ.com. Tecnólogo em PD pela FATEC-SP. Mantém o blog RogerioPradoJ.com e é co-autor/tradutor do livro Modernização de Aplicações Legadas em PHP.

Ver perfil