Desmistificando um Ambiente de Desenvolvimento WEB com
Vagrant
Luis Costa
fb.com/[email protected]
github.com/luishscosta
Quem sou eu?Formado em Sistemas de Informação
Há 3 anos trabalho com Infra Estrutura
Sys Admin na Tray
Administramos pouco mais de 300 servidores
Quem é Você!?
Ambiente de Desenvolvimento WEB?
S.OAPACHE
PHP
MYSQL
OMG!!!!
WTF!!??
DON’T WORRY!!
O Vagrant....É uma ferramentaCriado em 2010 por Mitchell HashimotoProjeto OpenSourceEscrito em RubyMulti-PlataformaEm 2012 fundou a Hashicorp
https://github.com/mitchellh/vagranthttps://twitter.com/mitchellh
Por que utilizar o Vagrant?
Simplifica o ambiente de desenvolvimento
Possibilita a portabilidade do ambiente
Permite a Flexibilidade
Aumenta a Produtividade
Prove a inovação
Deixa sua equipe mais livre
Ele pode ajudar cada um!!!
Developer
SysAdmin
Frontend
Isola todas dependênciasA configuração é centralizada“Na minha máquina funciona” #NOMORE
Da consistência no desenvolvimento de scriptsPossível testar novas ferramentas
Permite teste de receitasDevolve a paz interior
Preocupação?! Só com os estilos!!Configurou, subiu e desenvolveu o CSSTem independência total sobre o ambiente
Para funcionar é simples!!!
Sistema OperacionalSistema de Virtualização
VirtualBoxParallelsVMWareAWS
Vagranthttps://www.vagrantup.com/downloads
Instalação do Vagrant
WindowsSeja amigo do “Next”
LinuxGerenciador de pacote é a LEI
MacOSBaixe o pacote e instale
BOXVocê precisa disso
TAMBÉM
A BOXÉ a “Maquina” base
É uma junção de dados
Prove um padrão para o compartilhamento
Qualquer um utiliza
Adequa a qualquer plataforma
Ainda falando sobre BOX...
Você pode baixar sua pelo Google, GitHub....
Você pode baixar a sua automaticamente
Você pode fazer sua #CUIDADO
Tem box pra tudo!!
Tem um repositório só de boxes!!!
http://vagrantcloud.com
Você precisa SABER
o que é o VAGRANTFILE
O Vagrantfile
Um arquivo
Leva toda a identidade da sua máquina
Há só um Vagrantfile por projeto
Usa a Syntax do Ruby
Mas você não precisa saber Ruby
Você vai encontrar nele...
Configuração da máquina virtualMemóriaRedeProcessadorHostnamePasta sincronizadaProvisionamento
Configuração de Acesso SSH
Configuração do Vagrant
COMANDOS
OS COMANDOS$ vagrant box {add,remove,list,repackage}$ vagrant init$ vagrant halt$ vagrant up$ vagrant destroy$ vagrant package$ vagrant provision$ vagrant reload
$ vagrant list-comands
Vamos desmistificar esse negócio ai!
S.OAPACHE
PHP
MYSQL
PROVISIONAMENTO
Provi....O que?
“Pense antes de agir”
Automatiza tarefas
Esqueça a instalação
Configure em algumas linhas de código
Evite repetições, automatize!
O Vagrant suporta ProvisionamentoFileShellAnsibleCFEngineChefDockerSalt
Puppet
PUPPET
PUPPETNão é só uma ferramenta de provisionamento
Escrita em Ruby
Possui uma ótima documentação
Comunidade muito ativa
Possui soluções “enterprise”
Hoje tem registrado 2.696 módulos
http://puppetlabs.com/
https://forge.puppetlabs.com/
PUPPETNão é só uma ferramenta de provisionamento
Escrita em Ruby
Possui uma ótima documentação
Comunidade muito ativa
Possui soluções “enterprise”
Hoje tem registrado 2.696 módulos
http://puppetlabs.com/
Vamos desmistificar esse negócio ai!
S.OAPACHE
PHP
MYSQL
E se não precisasse fazer
nada disso?
PuPHPet
PuPHPet
Interface visual para automação
Trabalha com Vagrant + Puppet
É OpenSource
Clicou, Baixou, Funcionou!
Vamos desmistificar esse negócio ai!