SlideShare uma empresa Scribd logo
Encontro Técnico
STI - UFF
Vagrant sti
#quemnunca?
• Entrou numa empresa e levou dias para ter a sua
máquina configurada
• Testou na máquina e quando colocou em
homologação/produção encontrou alguns bugs
por causa de dependência que você desconhecia
que eram necessárias?
• Sofreu para tentar instalar o Oracle no OSX e não
obteve sucesso
• …
Vagrant sti
Solução?
O que é o Vagrant?
• Software open-source para criação e configuração de
máquinas virtuais
• Compatível com VirtualBox 4.0.x, 4.1.x, 4.2.x e 4.3.x.
• Também funciona com VMWare e Hyper-V.
• Escrito em Ruby :)
O que eu ganho?
Se você é um desenvolvedor…
• Isolamento de dependências sem sacrificar
ferramentas que você já usa para trabalhar.
• Uma vez que o arquivo Vagrantfile existe no projeto,
basta rodar ‘vagrant up’ para ter todo o ambiente
instalado e configurado (banco de dados, ruby,
memcached…).
• Todos os membros da equipe estarão rodando o
projeto na mesma máquina! Não importa se usam
OSX, Linux ou Windows para programar.
Se você é DevOps…
• Ambiente para testar rapidamente seus shell scripts,
Chef cookbooks, Puppet modules, etc.
• Possibilidade de testar scripts em clouds remotas
como AWS e RackSpace.
Se você é designer…
• Agora você pode focar no que interessa pra você!
• Se preocupe apenas com design. Crie seus layouts no
photoshop, CSS, etc sem se preocupar como fazer o
projeto rodar. Tudo que você precisa aprender é
‘vagrant up’, ‘vagrant halt’ e ’vagrant destroy’.
O que preciso para
começar?
• Instale o VirtualBox
• Instale o Vagrant (compatível com OSX, Windows,
Debian e CentOS).
• Crie o seu Vagrantfile
Vagrantfile
Esse comando cria um Vagrantfile inicial
Principais comandos
• vagrant init
• vagrant up
• vagrant halt
• vagrant destroy
• vagrant package
Vagranfile - UFF
Um projeto padrão Rails…
Puppet Manifests
default.pp
Vantagem
• Ambiente provisionado rapidamente
• Ampla utilização de Puppet no mercado
• Muitos scripts disponíveis e documentação na internet
• Automação!
Desvantagem
• Usar o Puppet não é tão simples quanto parece
• Quando não se tem um DevOps, a manutenção se
torna mais complicada
Vagrant sti
Rodando o Discourse
• git clone https://github.com/discourse/discourse.git
• cd discourse
• vagrant up
• vagrant ssh
• bundle install
• rake db:create
• rake db:migrate
• rails server
Vagrant sti
Vagrant sti
Nunca foi tão fácil rodar um projeto!
Vagrant sti
O que é?
• Projeto open-source para criar containers leves e
auto-suficientes que podem conter qualquer tipo de
aplicação/serviço
• Possui integração com Jenkins, Travis, Chef, Puppet,
Vagrant e OpenStack
• Se é possível rodar em um Kernel Linux, pode rodar no
Docker !
• Escrito em Go :)
Como começar…
http://docs.docker.io/installation/#installation
Rodando o Ubuntu
• docker pull ubuntu
• docker run -i -t ubuntu /bin/bash
Baixa o container
Abre o terminal dentro do container
Hands On!
Sim, é MUITO rápido!
E como eu crio uma
imagem?
Lembra do Vagrantfile?
Dockerfile!
Dockerfile MySQL
[https://github.com/tutumcloud/tutum-docker-mysql]
Talk is cheap!
Observações
• Tempo de boot do container? < 1seg
• As migrações rodam dentro do container! Você não
precisa ter o MySQL instalado na sua máquina
• Possibilidade de criar vários containers, cada um com
um serviço
• Ganhamos isolamento e velocidade!
Observações
• Grande facilidade na criação dos containers
• Não precisamos usar Puppet ou Chef para
provisionamento da máquina
• Depois que o container for criado, é possível acessá-
lo via ssh
• Podemos salvar o estado de uma imagem com
facilidade
Sim! Commits!
Vagrant sti
Commits
Se tentarmos rodar a imagem novamente, não vemos o arquivo criado…
Isso ocorre porque cada
container é completamente
isolado do outro!
Commits
Esse é o container que contém o arquivo que criamos
Aqui está a nova imagem salva
Commits
Agora quando rodamos a imagem, temos o nosso arquivo lá dentro!
Docker x Vagrant
[http://www.scriptrock.com/articles/docker-vs-vagrant/]
Vagrant sti
Docker & Vagrant
• Uma solução possível é rodar os containers dentro do
Vagrant
• http://docs.vagrantup.com/v2/provisioning/docker.html
Vagrant sti
Quem está usando?
Próximos passos
• Definir o uso de Vagrant e Docker como padrão na STI
• Integração entre o Jenkins e Vagrant/Docker.
• Passar o conhecimento adiante!
Jenkins
+ + =
Links recomendados
• https://www.scriptrock.com/articles/docker-vs-
vagrant/
• http://docs.docker.io/use/basics/
• http://docs.vagrantup.com/v2/getting-started/
index.html
• http://blog.relateiq.com/a-docker-dev-environment-
in-24-hours-part-1-of-2/
Dúvidas?
Obrigado!
Hugo Arraes Henley
hugohenley@id.uff.br

Mais conteúdo relacionado

PDF
Uma breve introdução ao Terraform
PDF
Vagrant uma ferramenta realmente útil e versátil
PDF
Async/Await Pattern in C#
PDF
WMC16 - Introdução ao Docker
PPTX
ASP.NET Core 2.0 - Pointer - Janeiro-2018
PDF
Ampliando suas fronteiras com Node-Webkit
PPTX
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
PDF
Vagrant - ambiente de desenvolvimento virtualizado
Uma breve introdução ao Terraform
Vagrant uma ferramenta realmente útil e versátil
Async/Await Pattern in C#
WMC16 - Introdução ao Docker
ASP.NET Core 2.0 - Pointer - Janeiro-2018
Ampliando suas fronteiras com Node-Webkit
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Vagrant - ambiente de desenvolvimento virtualizado

Mais procurados (20)

PPTX
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
PPTX
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
PDF
Curso de ReactJS
PPTX
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
PPTX
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
PPT
PDF
Docker, facilitando a vida do desenvolvimento
PPT
Nodejs justdigital
PPTX
Escalando API's com NodeJS, Docker e RabbitMQ
PPTX
Docker Para Maiores - GDG Cabreúva
PDF
Dev Ops at Paguemenos
PPTX
Docker para maiores
PDF
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
KEY
Integração Contínua com Hudson
PPTX
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
PDF
Maven: Introdução
PPTX
Tecnologias em 2021: no que ficar de olho? | WTT2021 - Mackenzie
PPTX
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
PPTX
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
PDF
Escalando aplicação Python usando Getup OpenShift
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Curso de ReactJS
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker, facilitando a vida do desenvolvimento
Nodejs justdigital
Escalando API's com NodeJS, Docker e RabbitMQ
Docker Para Maiores - GDG Cabreúva
Dev Ops at Paguemenos
Docker para maiores
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
Integração Contínua com Hudson
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Maven: Introdução
Tecnologias em 2021: no que ficar de olho? | WTT2021 - Mackenzie
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Escalando aplicação Python usando Getup OpenShift
Anúncio

Semelhante a Vagrant sti (20)

PDF
Hands on para (web)Developers Docker vs Vagrant
PDF
Vagrant + Puppet
PDF
Vagrant vs docker? Melhor vagrant + docker
PDF
Apt_vagrant_chef_olavo_queiroz
PDF
Vagrant + chef cookbooks ambiente de desenvolvimento como o de produção em ...
PDF
Construção e provisionamento de ambientes de desenvolvimento virtualizados
PDF
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
PPTX
Desmistificando um Ambiente de Desenvolvimento WEB com Vagrant
PDF
Deploying Docker Containers
PDF
Vagrant você deveria está usando
PPTX
Evitando a fadiga com Laravel Homestead
PDF
Iniciando com docker
PPTX
PHP Conference 2016
PDF
Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012
PDF
Beers & Bytes - O Futuro da virtualização
PDF
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PDF
Talk no Meetup LaravelSP #3
PDF
Re pensando-virtualização-através-linux containers
PPTX
Docker e outras ferramentas Devops
Hands on para (web)Developers Docker vs Vagrant
Vagrant + Puppet
Vagrant vs docker? Melhor vagrant + docker
Apt_vagrant_chef_olavo_queiroz
Vagrant + chef cookbooks ambiente de desenvolvimento como o de produção em ...
Construção e provisionamento de ambientes de desenvolvimento virtualizados
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
Desmistificando um Ambiente de Desenvolvimento WEB com Vagrant
Deploying Docker Containers
Vagrant você deveria está usando
Evitando a fadiga com Laravel Homestead
Iniciando com docker
PHP Conference 2016
Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012
Beers & Bytes - O Futuro da virtualização
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
Talk no Meetup LaravelSP #3
Re pensando-virtualização-através-linux containers
Docker e outras ferramentas Devops
Anúncio

Vagrant sti