SlideShare uma empresa Scribd logo
vagrant 
ambiente de desenvolvimento virtualizado
@krolow
#1 
ambientes de projetos 
são complicados
Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizado
#2 
lidar com versões de 
software é complicado
“Esse projeto só roda na 
versão X do node.js”
#3 
seu OS de desenvolvimento é 
diferente do OS de produção
Vagrant - ambiente de desenvolvimento virtualizado
“Na minha máquina 
estava funcionando…”
#4 
compartilhar seu ambiente com 
outros
“Hey, é só seguir esse 
passo a passo que fiz! 
Criei até um INSTALL.md!”
Vagrant - ambiente de desenvolvimento virtualizado
Manutenção
Tempo gasto para fazer/manter
INSTALL.md para cada OS
Go horse install
problemas 
● impossível de repetir/compartilhar 
● não confiável 
● não está isolado 
● processo demanda muito tempo 
● gera muitas dúvidas
gerenciar, configurar múltiplas 
aplicações… 
consultores… agências web...
#5 
chega de fatos
Virtualização 
como 
solução
Possibilita prévia instalação de 
software
Instalar OS igual ao de produção
Ambiente isolado
Compartilhar ambiente
Não enxe a sua máquina de 
“tranqueiras”
Novos/Velhos developers podem 
usar a VM e não perder tempo
e temos um campeão
nana, nina, não
Tamanho do arquivo
Como manter atualizado? 
software é mutável, dependências também são
Automatizar a criação
Vagrant - ambiente de desenvolvimento virtualizado
Uma ferramenta CLI 
fácil e portátil de 
configurar e reproduzir 
ambientes
“Trocando em miúdos”
nomenclaturas básicas 
● Boxes 
● Providers 
● Provisions
vagrant características 
● Simples command line (CLI) 
● Baixa box e cria virtual machine 
● Provem interface para configurar 
propriedades da maquina virtual(network, 
sync files, propriedades) 
● Assim como para configurar e instalar 
softwares na VM 
● com uma DSL ruby para configuração
Comandos básicos
Vagrant - ambiente de desenvolvimento virtualizado
criar e utilizar...
Vagrant - ambiente de desenvolvimento virtualizado
vagrant init cria um arquivo de 
configuração Vagrantfile com 
uma simples DSL
boxes...
Vagrant - ambiente de desenvolvimento virtualizado
Possibilita alterações nas 
propriedades da VM
providers...
Vagrant - ambiente de desenvolvimento virtualizado
Possibilita alteração constante 
nos softwares/configs utilizadas
provisions...
Vagrant - ambiente de desenvolvimento virtualizado
Não altera ambiente do 
desenvolvedor
Vagrant - ambiente de desenvolvimento virtualizado
mesmo browser! mesmo editor!
Opensource e multiplataforma
Vagrant - ambiente de desenvolvimento virtualizado
Pronto para ser posto num 
repositório GIT e compartilhado
Vagrant - ambiente de desenvolvimento virtualizado
Problemas resolvidos! 
● ambiente isolado 
● mantível/atulizável 
● reaproveitável/reutilizável 
● compartilhável (arquivo simples) 
● automatizável (via CLI)
Vagrant workflow
1. Criar e configurar repositório 
com Vagrant
2. Developers clonam repositório 
e vagrant up
3. Developers continuam 
utilizando suas tools 
networking, file sync
4. Possibilita manter versões de 
software/depêndencias e 
configurações atualizadas 
provision
Ainda por cima sai com uma 
automatização e teste da 
configuração do OS para 
produção
Um olhar mais profundo
networking
networking 
● NAT (compartilhar portas) 
● HOST-only (compartilhamento privado) 
● Bridge (compartilhamento público)
Vagrant - ambiente de desenvolvimento virtualizado
Como resultado podemos 
continuar utilizando o mesmo 
browser
files sync
files sync 
● NFS (Network file system) 
● RSync 
● SMB 
● VirutalBox 
● Outros via plugin
Vagrant - ambiente de desenvolvimento virtualizado
Como resultado podemos 
continuar utilizando o mesmo 
editor
provisions
É o cara que vai instalar 
software e fazer as 
configurações para você
provisions 
● file (replicar files não mantem atualizado) 
● shell 
● Ansiable 
● Cfengine 
● Chef (solo e client) 
● Puppet (apply e agent) 
● Docker 
● Salt
Vagrant - ambiente de desenvolvimento virtualizado
Importante aprender um ou mais 
para usar em conjunto com o 
Vagrant
uma olhadinha no puppet...
Vagrant - ambiente de desenvolvimento virtualizado
aprendendo puppet... 
https://puppetlabs.com/learn
providers
Gerenciador da maquina virtual...
por padrão VirutalBox
outros podem serem instalados 
por plugins...
providers 
● VirtualBox 
● VMWare 
● Docker 
● Hyper-v 
● lxc 
● aws 
● Digital Ocean...
vagrant up por provider
Vagrant - ambiente de desenvolvimento virtualizado
múltiplas máquinas
ambientes mais complexos 
demandam mais de uma máquina 
e vagrant provém suporte ao 
mesmo!
Vagrant - ambiente de desenvolvimento virtualizado
E o network faz com que as duas 
se falem!
plugins
Novos comandos, provisions, 
providers, handlers...
Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizado
vagrant cloud locão 
https://vagrantcloud.com/
Vagrant - ambiente de desenvolvimento virtualizado
Adicionar box, achar boxes, 
compartilhar, e mais uns 
“parangolé” doido...
eras isso... 
● facilidade na criação 
● simples de configurar 
● possibilita atualização constante via 
provisions 
● ganhas um ambiente isolado 
● provisions pronto para produção 
● facilita criação de ambientes de continuos 
integration
Obrigado 
http://krolow.com.br

Mais conteúdo relacionado

PDF
Deixando de ser moleque com PHP
PDF
Design patterns
PPTX
Machucando o código - Técnicas para escrever um código com uma maior legibil...
ODP
Conhecendo o Nodejs
PPTX
Introdução ao NodeJS
PPTX
9 erros que desenvolvedores Node.js cometem
PDF
Javascript por debaixo dos panos
PDF
Node js - Javascript Server Side
Deixando de ser moleque com PHP
Design patterns
Machucando o código - Técnicas para escrever um código com uma maior legibil...
Conhecendo o Nodejs
Introdução ao NodeJS
9 erros que desenvolvedores Node.js cometem
Javascript por debaixo dos panos
Node js - Javascript Server Side

Mais procurados (20)

PPTX
Javascript por debaixo dos panos
PPTX
NodeJS - Tutorial de forma simples e pratica.
PDF
Node.JS - Workshop do básico ao avançado
PPTX
Introdução ao Node.js - FATEC SP
PPTX
Testes com javascript
PDF
Node.js - #1 - Introdução - Rodrigo Branas
PPTX
Apresentação
PDF
Nodejs - A performance que eu sempre quis ter
PDF
LabMM3 - Aula teórica 04
PPT
Nodejs justdigital
PDF
Node.js, Uma breve introdução
PPTX
Jclouds jug vale
KEY
Uma visão rápida sobre Nodejs
PPTX
PDF
Desenvolvendo com IONIC
PDF
JEE nas nuvens: uma introdução ao openshift
PPTX
Desmistificando um Ambiente de Desenvolvimento WEB com Vagrant
PDF
Estamos trabalhando melhor com dependências e ambientes usando containers?
PDF
Introdução ao java fx e visage
PPTX
A Evolução do Front end
Javascript por debaixo dos panos
NodeJS - Tutorial de forma simples e pratica.
Node.JS - Workshop do básico ao avançado
Introdução ao Node.js - FATEC SP
Testes com javascript
Node.js - #1 - Introdução - Rodrigo Branas
Apresentação
Nodejs - A performance que eu sempre quis ter
LabMM3 - Aula teórica 04
Nodejs justdigital
Node.js, Uma breve introdução
Jclouds jug vale
Uma visão rápida sobre Nodejs
Desenvolvendo com IONIC
JEE nas nuvens: uma introdução ao openshift
Desmistificando um Ambiente de Desenvolvimento WEB com Vagrant
Estamos trabalhando melhor com dependências e ambientes usando containers?
Introdução ao java fx e visage
A Evolução do Front end
Anúncio

Destaque (12)

PDF
Vagrant, como usar para desenvolvimento PHP
PDF
programming.success - carreira de programador
PDF
Object Calisthenics
PDF
Empregado like a boss
PDF
Desenvolvimento PHP com Vagrant - 7Masters PHP
PDF
Minicurso de Vagrant
PDF
Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012
PPTX
Microservices - Quebrando gigantes em pequenos
PDF
Vagrant vs docker? Melhor vagrant + docker
PDF
Vagrant for Virtualized Development
PDF
Introduction to Vagrant
PDF
Intro to vagrant
Vagrant, como usar para desenvolvimento PHP
programming.success - carreira de programador
Object Calisthenics
Empregado like a boss
Desenvolvimento PHP com Vagrant - 7Masters PHP
Minicurso de Vagrant
Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012
Microservices - Quebrando gigantes em pequenos
Vagrant vs docker? Melhor vagrant + docker
Vagrant for Virtualized Development
Introduction to Vagrant
Intro to vagrant
Anúncio

Semelhante a Vagrant - ambiente de desenvolvimento virtualizado (20)

PDF
Vagrant + Puppet
PDF
Vagrant uma ferramenta realmente útil e versátil
PDF
Apt_vagrant_chef_olavo_queiroz
PDF
Vagrant + chef cookbooks ambiente de desenvolvimento como o de produção em ...
PDF
Vagrant sti
PPT
PDF
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
PDF
Vagrant você deveria está usando
PDF
Construção e provisionamento de ambientes de desenvolvimento virtualizados
PPSX
Vagrant: Na sua máquina também funciona!
PDF
Lab python django - parte 1 - windows e vagrant
PDF
Hands on para (web)Developers Docker vs Vagrant
KEY
Desenvolvimento PHP com Vagrant - TDC 2012
PPTX
PHP Conference 2016
PDF
oVirt - gerenciamento de máquinas virtuais com código aberto
PPTX
Docker e outras ferramentas Devops
PDF
Palestra ganeti puppet
PPTX
Evitando a fadiga com Laravel Homestead
PDF
Ambiente de desenvolvimento unificado com vagrant
PDF
Ambiente de desenvolvimento unificado com vagrant
Vagrant + Puppet
Vagrant uma ferramenta realmente útil e versátil
Apt_vagrant_chef_olavo_queiroz
Vagrant + chef cookbooks ambiente de desenvolvimento como o de produção em ...
Vagrant sti
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
Vagrant você deveria está usando
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Vagrant: Na sua máquina também funciona!
Lab python django - parte 1 - windows e vagrant
Hands on para (web)Developers Docker vs Vagrant
Desenvolvimento PHP com Vagrant - TDC 2012
PHP Conference 2016
oVirt - gerenciamento de máquinas virtuais com código aberto
Docker e outras ferramentas Devops
Palestra ganeti puppet
Evitando a fadiga com Laravel Homestead
Ambiente de desenvolvimento unificado com vagrant
Ambiente de desenvolvimento unificado com vagrant

Último (20)

PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
PPTX
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Aula sobre desenvolvimento de aplicativos
PPTX
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
PPTX
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PPTX
Émile Durkheim slide elaborado muito bom
PPTX
Aula sobre banco de dados com firebase db
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
PPTX
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
Processos na gestão de transportes, TM100 Col18
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Aula sobre desenvolvimento de aplicativos
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
COBITxITIL-Entenda as diferença em uso governança TI
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Émile Durkheim slide elaborado muito bom
Aula sobre banco de dados com firebase db
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Aula 18 - Manipulacao De Arquivos python
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx

Vagrant - ambiente de desenvolvimento virtualizado

Notas do Editor

  • #3: Apresentação basica (falar jobs)
  • #4: Relatar um pouco das caracteristicas adversas de ambientes de software
  • #5: mostrar quao dificil é configurar um sistema, quantos passos são necessários
  • #6: Mostrar que a idéia de automatização e facilidade na configuração e existente a bastante tempo, mas não que chega a ser a melhor forma ainda
  • #7: Comentar que alem de linguagem, banco de dados e outras configurações, dependencias de pacotes e versões de software são complicadas de manter
  • #8: Exemplificar problemas de versões...
  • #9: falar sobre produção vs development
  • #10: falar dos usuarios, que podem
  • #11: comentar sobre os tipicos erros que acontecem ao usar versões diferentes de sistemas operacionais
  • #12: comentar que
  • #34: Tempo experado de palestra até esse slide max 15min
  • #66: Comentar que alem de linguagem, banco de dados e outras configurações, dependencias de pacotes e versões de software são complicadas de manter
  • #102: Apresentação basica (falar jobs)