SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
Globalcode – Open4education
Hands On para (web)developers:
Docker vs Vagrant
Trilha – Web
Florianopólis, 13/04/2015
Gustavo Maestri & Ingo Gerhard Jauch
Fundação CERTI - Direitos Reservados
Sobre os palestrantes
Gustavo Maestri
› Software Developer @ Fundação CERTI
› Co-founder @ Aerochimps
Contato

gaa@certi.org.br

@gumaestri

br.linkedin.com/in/gumaestri
Fundação CERTI - Direitos Reservados
Sobre os palestrantes
Ingo Gerhard Jauch
› Test Lead @ Fundação CERTI
Contato

igj@certi.org.br

@ingo.jauch

br.linkedin.com/in/ingojauch
Fundação CERTI - Direitos Reservados
Quem somos
Fundação CERTI
› Instituição Privada de Pesquisa, Tecnologia e Inovação
› Mais de 30 anos no mercado
› Diversos Centros
› CCD – Centro de Convergência Digital
› TV Digital, embedded, web & mobile
› Times multidisciplinares
› Utilizando as mais modernas tecnologias e metodologia
– Agile, Nodejs, CouchDB, Rapid Software Testing,
AngularJS, WebRTC
Fundação CERTI - Direitos Reservados
Introdução
Nos dias de hoje quem aqui
nunca ouviu falar em Vagrant
ou Docker???
Então se preparem que vai ser
uma viajem sem volta
Fundação CERTI - Direitos Reservados
Como desenvolvedor você gosta de
escolher o seu ambiente de
desenvolvimento, e produzir seu
código em paz
Fundação CERTI - Direitos Reservados
Mas tem muita gente querendo
botar a mão nele
Fundação CERTI - Direitos Reservados
Os Designers...
vão mexer no código,
para adicionar algo no front-end
no Mac
Fundação CERTI - Direitos Reservados
Os testers…
Vão espremer até
achar algum bug…
no Windows
Fundação CERTI - Direitos Reservados
E o cliente…
Esse a gente não faz ideia
Mas ele quer pra ontem
Fundação CERTI - Direitos Reservados
E você vai continuar perdendo
tempo configurando seu
ambiente
E na hora de mandar para produção ??
Fundação CERTI - Direitos Reservados
Então para contar um pouco da nossa experiência
criamos esse hands on.
Docker vs Vagrant
Fundação CERTI - Direitos Reservados
Docker vs Vagrant
A primeira vista parece algo assim...
Fundação CERTI - Direitos Reservados
Docker vs Vagrant
Mas na verdade... está mais para isso
Macacos me mordam
Batman,
Vamos usar isso!
Calma Robin,
Deixa eles
explicarem...
Fundação CERTI - Direitos Reservados
Docker vs Vagrant
› Docker é uma ferramenta que agiliza o teu
processo de deploy
› Vagrant é uma ferramenta de gerenciamento de
Vms
› Ambas são ferramentas de infraestrutura
Fundação CERTI - Direitos Reservados
Spotlight: Vagrant
› Começou em 2010 por Mitchell Hashimoto
› Cria configura e sobe ambientes virtuais
de desenvolvimento
› A partir da versão 1.1, o Vagrant passou a
trabalhar com diversos softwares de virtualização
› Desde a versão 1.6, o Vagrant suporta
nativamente os Containers Docker
› Atualmente na versão 1.7.2
› Chega de "funciona na minha máquina"
Fundação CERTI - Direitos Reservados
Porque Utilizamos Vagrant
›Muitos projetos com tecnologias diferentes
›Equaliza o ambiente de desenvolvimento
›Facilita a integração de um novo membro no time
›Transparente para o Desenvolvedor, que pode
continuar usando seu ambiente preferido
Fundação CERTI - Direitos Reservados
Spotlight: Docker
› Solomon Hykes iniciou o Docker como
um projeto interno da dotCloud
› Docker foi disponibilizado open source
em Março 2013.
› Docker automatiza o processo de deploy de
softwares utilizando containers
› Ele permite você rodar a mesma aplicação, sem
alterações, em laptops, em VMs de data centers
ou na cloud
Fundação CERTI - Direitos Reservados
Spotlight: Docker
› Diferente das VM tradicionais o Docker não
requer ou inclui um Sistema Operacional
separado(VE – Virtual Environment)
› Múltiplos containers compartilham o mesmo
kernel, mas cada container pode ter suas
restrições de uso de recursos como CPU, RAM
ou I/O
› Docker fornecer lightweight containers –
isolamento e velocidade
Fundação CERTI - Direitos Reservados
Porque usamos Docker
›Ter o mesmo ambiente em desenvolvimento e em
produção
›Reutilização da infraestrutura
›Nós também somos o Devops
Fundação CERTI - Direitos Reservados
Nossas engrenagens
Fundação CERTI - Direitos Reservados
Work-flow
PC Vms Docker Container
Source-code
Ruby on Rails
MySQL
connect
vagrant ssh
connect
docker exec
(or ssh*)
contains
contains
vagrant@vm:~$user@pc:~$ root@a23sf2s34:~$
Vagrantfile Dockerfile contains
192.168.0.1 10.10.10.1
10.10.10.2
172.168.0.1
172.168.0.2
172.168.0.3
Fundação CERTI - Direitos Reservados
Host
connect
vagrant ssh
connect
docker exec
(or ssh*)
vagrant@vm:~$user@pc:~$ root@a23sf2s34:~$
CodeRails
Docker Repository
linked
MySQL
user@host:~$ vagrant up
Vagrantfile Dockerfile
vagrant@vm:~$ docker buildroot@a23sf2s34:~$ rails s; whatever ...vagrant@vm:~$ docker stopvagrant@vm:~$ docker push
Docker Image
Work-flow
Fundação CERTI - Direitos Reservados
Live Demo
Fundação CERTI - Direitos Reservados
Conteúdo do Live Demo
›01-installation
›02-vagrant-up
›03-vagrant-basics
›04-docker-hello-world-with-vagrant
›05-dockerizing-an-app
›06-development-in-docker
›07-example-deployment
}}
}}
}}
A parte simple..A parte simple..
Só pra genteSó pra gente
aqueceraquecer
Aqui é onde mora oAqui é onde mora o
perigo...perigo...
Terra do DevOps, umTerra do DevOps, um
examplo muuuito simplesexamplo muuuito simples
Fundação CERTI - Direitos Reservados
Finalizando
›Não existe mágica, desenvolvimento é complexo
›Comece com Vagrant
›Quando usar Docker.. estude.
Fundação CERTI - Direitos Reservados
Finalizando mesmo
›Esse é o nosso cenário…
›Para produção você ainda vai precisar de DevOps
Fundação CERTI - Direitos Reservados
Fundação CERTI - Direitos Reservados
Perguntas?
gumaestri@gmail.com
ingo.jauch@gmail.com
Fundação CERTI - Direitos Reservados
Referências
Vagrant download
Virtualbox download
Docker installation
Artigos
Docker Misconceptions
Docker Private Repository
A Docker Dev Environment in 24 Hours
Docker at shopify
Fundação CERTI - Direitos Reservados
Bonus Round

Contenu connexe

Tendances

Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginnersRafael Chiavegatto
 
Movimentação de VMs para Microsoft Azure
Movimentação de VMs para Microsoft AzureMovimentação de VMs para Microsoft Azure
Movimentação de VMs para Microsoft AzureVinícius Apolinário
 
Docker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalarDocker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalargustavomtborges
 
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)Wagner Bianchi
 
Application Servers e Ruby
Application Servers e RubyApplication Servers e Ruby
Application Servers e RubyRafael Soares
 
Plataforma Tecnológica do clicRBS
Plataforma Tecnológica do clicRBSPlataforma Tecnológica do clicRBS
Plataforma Tecnológica do clicRBSLincolm Aguiar
 
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...iMasters
 
Infraestrutura imutável - A base das aplicações na nuvem
Infraestrutura imutável - A base das aplicações na nuvemInfraestrutura imutável - A base das aplicações na nuvem
Infraestrutura imutável - A base das aplicações na nuvemFernando Ike
 
Integração do Zabbix com Grafana
Integração do Zabbix com GrafanaIntegração do Zabbix com Grafana
Integração do Zabbix com GrafanaAécio Pires
 
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...Renato Groff
 
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...Renato Groff
 
Vagrant: Na sua máquina também funciona!
Vagrant: Na sua máquina também funciona!Vagrant: Na sua máquina também funciona!
Vagrant: Na sua máquina também funciona!Glauton Vieira
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucaoFernando Ike
 
Datacenter na nuvem
Datacenter na nuvemDatacenter na nuvem
Datacenter na nuvemIgnacio Nin
 
Introdução ao Kubernetes
Introdução ao KubernetesIntrodução ao Kubernetes
Introdução ao KubernetesMatheus Mendes
 

Tendances (20)

Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginners
 
Movimentação de VMs para Microsoft Azure
Movimentação de VMs para Microsoft AzureMovimentação de VMs para Microsoft Azure
Movimentação de VMs para Microsoft Azure
 
Docker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalarDocker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalar
 
Apresentação do Novo QTS 4.2
Apresentação do Novo QTS 4.2Apresentação do Novo QTS 4.2
Apresentação do Novo QTS 4.2
 
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
 
Application Servers e Ruby
Application Servers e RubyApplication Servers e Ruby
Application Servers e Ruby
 
Plataforma Tecnológica do clicRBS
Plataforma Tecnológica do clicRBSPlataforma Tecnológica do clicRBS
Plataforma Tecnológica do clicRBS
 
.Net Core + Docker
.Net Core +  Docker.Net Core +  Docker
.Net Core + Docker
 
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
 
Light Talk Docker Compose
Light Talk Docker ComposeLight Talk Docker Compose
Light Talk Docker Compose
 
Foreman como provisionador
Foreman como provisionadorForeman como provisionador
Foreman como provisionador
 
Infraestrutura imutável - A base das aplicações na nuvem
Infraestrutura imutável - A base das aplicações na nuvemInfraestrutura imutável - A base das aplicações na nuvem
Infraestrutura imutável - A base das aplicações na nuvem
 
Integração do Zabbix com Grafana
Integração do Zabbix com GrafanaIntegração do Zabbix com Grafana
Integração do Zabbix com Grafana
 
Docker para maiores
Docker para maioresDocker para maiores
Docker para maiores
 
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
 
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...
Docker + Azure: opções disponíveis e utilização de containers na nuvem - Azur...
 
Vagrant: Na sua máquina também funciona!
Vagrant: Na sua máquina também funciona!Vagrant: Na sua máquina também funciona!
Vagrant: Na sua máquina também funciona!
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
 
Datacenter na nuvem
Datacenter na nuvemDatacenter na nuvem
Datacenter na nuvem
 
Introdução ao Kubernetes
Introdução ao KubernetesIntrodução ao Kubernetes
Introdução ao Kubernetes
 

Similaire à Docker vs Vagrant Hands On para Web Developers

Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker BásicoAndré Justi
 
Docker: introdução e primeiros passos - Sorocódigos - Agosto-2018
Docker: introdução e primeiros passos - Sorocódigos - Agosto-2018Docker: introdução e primeiros passos - Sorocódigos - Agosto-2018
Docker: introdução e primeiros passos - Sorocódigos - Agosto-2018Renato Groff
 
Docker: introdução e primeiros passos - Baixada NERD - Junho-2018
Docker: introdução e primeiros passos - Baixada NERD - Junho-2018Docker: introdução e primeiros passos - Baixada NERD - Junho-2018
Docker: introdução e primeiros passos - Baixada NERD - Junho-2018Renato Groff
 
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...iMasters
 
Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018
Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018
Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018Renato Groff
 
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu DevelopersDesenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu DevelopersDextra Sistemas / Etec Itu
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Renato Groff
 
Orchestrando na linha
Orchestrando na linhaOrchestrando na linha
Orchestrando na linhamatheuscmpm
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Renato Groff
 
Docker para Desenvolvedores .NET - .NET SP - Abril-2018
Docker para Desenvolvedores .NET - .NET SP - Abril-2018Docker para Desenvolvedores .NET - .NET SP - Abril-2018
Docker para Desenvolvedores .NET - .NET SP - Abril-2018Renato Groff
 
Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVinícius Krolow
 
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...Renato Groffe
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação DockerAndré Justi
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Renato Groff
 
Transportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerTransportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerAécio Pires
 
Treinamento Android Embarcado
Treinamento Android EmbarcadoTreinamento Android Embarcado
Treinamento Android EmbarcadoOdair Sousa
 
Dockerizando a vida - 8º Meetup - PHP Pernambuco
Dockerizando a vida - 8º Meetup - PHP PernambucoDockerizando a vida - 8º Meetup - PHP Pernambuco
Dockerizando a vida - 8º Meetup - PHP Pernambucomatheuscmpm
 
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaAzure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaRodrigo Marques Teixeira
 

Similaire à Docker vs Vagrant Hands On para Web Developers (20)

Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker Básico
 
Docker: introdução e primeiros passos - Sorocódigos - Agosto-2018
Docker: introdução e primeiros passos - Sorocódigos - Agosto-2018Docker: introdução e primeiros passos - Sorocódigos - Agosto-2018
Docker: introdução e primeiros passos - Sorocódigos - Agosto-2018
 
Docker: introdução e primeiros passos - Baixada NERD - Junho-2018
Docker: introdução e primeiros passos - Baixada NERD - Junho-2018Docker: introdução e primeiros passos - Baixada NERD - Junho-2018
Docker: introdução e primeiros passos - Baixada NERD - Junho-2018
 
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
 
Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018
Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018
Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018
 
Desvendando o Docker
Desvendando o DockerDesvendando o Docker
Desvendando o Docker
 
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu DevelopersDesenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
 
Orchestrando na linha
Orchestrando na linhaOrchestrando na linha
Orchestrando na linha
 
Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
 
Docker para Desenvolvedores .NET - .NET SP - Abril-2018
Docker para Desenvolvedores .NET - .NET SP - Abril-2018Docker para Desenvolvedores .NET - .NET SP - Abril-2018
Docker para Desenvolvedores .NET - .NET SP - Abril-2018
 
Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizado
 
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
 
Transportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerTransportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com Docker
 
Treinamento Android Embarcado
Treinamento Android EmbarcadoTreinamento Android Embarcado
Treinamento Android Embarcado
 
Dockerizando a vida - 8º Meetup - PHP Pernambuco
Dockerizando a vida - 8º Meetup - PHP PernambucoDockerizando a vida - 8º Meetup - PHP Pernambuco
Dockerizando a vida - 8º Meetup - PHP Pernambuco
 
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaAzure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
 

Docker vs Vagrant Hands On para Web Developers

  • 1. Globalcode – Open4education Hands On para (web)developers: Docker vs Vagrant Trilha – Web Florianopólis, 13/04/2015 Gustavo Maestri & Ingo Gerhard Jauch
  • 2. Fundação CERTI - Direitos Reservados Sobre os palestrantes Gustavo Maestri › Software Developer @ Fundação CERTI › Co-founder @ Aerochimps Contato  gaa@certi.org.br  @gumaestri  br.linkedin.com/in/gumaestri
  • 3. Fundação CERTI - Direitos Reservados Sobre os palestrantes Ingo Gerhard Jauch › Test Lead @ Fundação CERTI Contato  igj@certi.org.br  @ingo.jauch  br.linkedin.com/in/ingojauch
  • 4. Fundação CERTI - Direitos Reservados Quem somos Fundação CERTI › Instituição Privada de Pesquisa, Tecnologia e Inovação › Mais de 30 anos no mercado › Diversos Centros › CCD – Centro de Convergência Digital › TV Digital, embedded, web & mobile › Times multidisciplinares › Utilizando as mais modernas tecnologias e metodologia – Agile, Nodejs, CouchDB, Rapid Software Testing, AngularJS, WebRTC
  • 5. Fundação CERTI - Direitos Reservados Introdução Nos dias de hoje quem aqui nunca ouviu falar em Vagrant ou Docker??? Então se preparem que vai ser uma viajem sem volta
  • 6. Fundação CERTI - Direitos Reservados Como desenvolvedor você gosta de escolher o seu ambiente de desenvolvimento, e produzir seu código em paz
  • 7. Fundação CERTI - Direitos Reservados Mas tem muita gente querendo botar a mão nele
  • 8. Fundação CERTI - Direitos Reservados Os Designers... vão mexer no código, para adicionar algo no front-end no Mac
  • 9. Fundação CERTI - Direitos Reservados Os testers… Vão espremer até achar algum bug… no Windows
  • 10. Fundação CERTI - Direitos Reservados E o cliente… Esse a gente não faz ideia Mas ele quer pra ontem
  • 11. Fundação CERTI - Direitos Reservados E você vai continuar perdendo tempo configurando seu ambiente E na hora de mandar para produção ??
  • 12. Fundação CERTI - Direitos Reservados Então para contar um pouco da nossa experiência criamos esse hands on. Docker vs Vagrant
  • 13. Fundação CERTI - Direitos Reservados Docker vs Vagrant A primeira vista parece algo assim...
  • 14. Fundação CERTI - Direitos Reservados Docker vs Vagrant Mas na verdade... está mais para isso Macacos me mordam Batman, Vamos usar isso! Calma Robin, Deixa eles explicarem...
  • 15. Fundação CERTI - Direitos Reservados Docker vs Vagrant › Docker é uma ferramenta que agiliza o teu processo de deploy › Vagrant é uma ferramenta de gerenciamento de Vms › Ambas são ferramentas de infraestrutura
  • 16. Fundação CERTI - Direitos Reservados Spotlight: Vagrant › Começou em 2010 por Mitchell Hashimoto › Cria configura e sobe ambientes virtuais de desenvolvimento › A partir da versão 1.1, o Vagrant passou a trabalhar com diversos softwares de virtualização › Desde a versão 1.6, o Vagrant suporta nativamente os Containers Docker › Atualmente na versão 1.7.2 › Chega de "funciona na minha máquina"
  • 17. Fundação CERTI - Direitos Reservados Porque Utilizamos Vagrant ›Muitos projetos com tecnologias diferentes ›Equaliza o ambiente de desenvolvimento ›Facilita a integração de um novo membro no time ›Transparente para o Desenvolvedor, que pode continuar usando seu ambiente preferido
  • 18. Fundação CERTI - Direitos Reservados Spotlight: Docker › Solomon Hykes iniciou o Docker como um projeto interno da dotCloud › Docker foi disponibilizado open source em Março 2013. › Docker automatiza o processo de deploy de softwares utilizando containers › Ele permite você rodar a mesma aplicação, sem alterações, em laptops, em VMs de data centers ou na cloud
  • 19. Fundação CERTI - Direitos Reservados Spotlight: Docker › Diferente das VM tradicionais o Docker não requer ou inclui um Sistema Operacional separado(VE – Virtual Environment) › Múltiplos containers compartilham o mesmo kernel, mas cada container pode ter suas restrições de uso de recursos como CPU, RAM ou I/O › Docker fornecer lightweight containers – isolamento e velocidade
  • 20. Fundação CERTI - Direitos Reservados Porque usamos Docker ›Ter o mesmo ambiente em desenvolvimento e em produção ›Reutilização da infraestrutura ›Nós também somos o Devops
  • 21. Fundação CERTI - Direitos Reservados Nossas engrenagens
  • 22. Fundação CERTI - Direitos Reservados Work-flow PC Vms Docker Container Source-code Ruby on Rails MySQL connect vagrant ssh connect docker exec (or ssh*) contains contains vagrant@vm:~$user@pc:~$ root@a23sf2s34:~$ Vagrantfile Dockerfile contains 192.168.0.1 10.10.10.1 10.10.10.2 172.168.0.1 172.168.0.2 172.168.0.3
  • 23. Fundação CERTI - Direitos Reservados Host connect vagrant ssh connect docker exec (or ssh*) vagrant@vm:~$user@pc:~$ root@a23sf2s34:~$ CodeRails Docker Repository linked MySQL user@host:~$ vagrant up Vagrantfile Dockerfile vagrant@vm:~$ docker buildroot@a23sf2s34:~$ rails s; whatever ...vagrant@vm:~$ docker stopvagrant@vm:~$ docker push Docker Image Work-flow
  • 24. Fundação CERTI - Direitos Reservados Live Demo
  • 25. Fundação CERTI - Direitos Reservados Conteúdo do Live Demo ›01-installation ›02-vagrant-up ›03-vagrant-basics ›04-docker-hello-world-with-vagrant ›05-dockerizing-an-app ›06-development-in-docker ›07-example-deployment }} }} }} A parte simple..A parte simple.. Só pra genteSó pra gente aqueceraquecer Aqui é onde mora oAqui é onde mora o perigo...perigo... Terra do DevOps, umTerra do DevOps, um examplo muuuito simplesexamplo muuuito simples
  • 26. Fundação CERTI - Direitos Reservados Finalizando ›Não existe mágica, desenvolvimento é complexo ›Comece com Vagrant ›Quando usar Docker.. estude.
  • 27. Fundação CERTI - Direitos Reservados Finalizando mesmo ›Esse é o nosso cenário… ›Para produção você ainda vai precisar de DevOps
  • 28. Fundação CERTI - Direitos Reservados
  • 29. Fundação CERTI - Direitos Reservados Perguntas? gumaestri@gmail.com ingo.jauch@gmail.com
  • 30. Fundação CERTI - Direitos Reservados Referências Vagrant download Virtualbox download Docker installation Artigos Docker Misconceptions Docker Private Repository A Docker Dev Environment in 24 Hours Docker at shopify
  • 31. Fundação CERTI - Direitos Reservados Bonus Round