Top Banner
Globalcode – Open4education Hands On para (web)developers: Docker vs Vagrant Trilha – Web Florianopólis, 13/04/2015 Gustavo Maestri & Ingo Gerhard Jauch
31
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Hands on para (web)Developers Docker vs Vagrant

Globalcode – Open4education

Hands On para (web)developers: Docker vs Vagrant

Trilha – WebFlorianopólis, 13/04/2015

Gustavo Maestri & Ingo Gerhard Jauch

Page 2: Hands on para (web)Developers Docker vs Vagrant

Fundação CERTI - Direitos Reservados

Sobre os palestrantes

Gustavo Maestri

› Software Developer @ Fundação CERTI

› Co-founder @ Aerochimps

Contato [email protected] @gumaestri br.linkedin.com/in/gumaestri

Page 3: Hands on para (web)Developers Docker vs Vagrant

Fundação CERTI - Direitos Reservados

Sobre os palestrantes

Ingo Gerhard Jauch

› Test Lead @ Fundação CERTI

Contato [email protected] @ingo.jauch br.linkedin.com/in/ingojauch

Page 4: Hands on para (web)Developers Docker vs Vagrant

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

Page 5: Hands on para (web)Developers Docker vs Vagrant

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

Page 6: Hands on para (web)Developers Docker vs Vagrant

Fundação CERTI - Direitos Reservados

Como desenvolvedor você gosta de escolher o seu ambiente de desenvolvimento, e produzir seu código em paz

Page 7: Hands on para (web)Developers Docker vs Vagrant

Fundação CERTI - Direitos Reservados

Mas tem muita gente querendobotar a mão nele

Page 8: Hands on para (web)Developers Docker vs Vagrant

Fundação CERTI - Direitos Reservados

Os Designers...

vão mexer no código, para adicionar algo no front-end

no Mac

Page 9: Hands on para (web)Developers Docker vs Vagrant

Fundação CERTI - Direitos Reservados

Os testers…

Vão espremer até

achar algum bug…

no Windows

Page 10: Hands on para (web)Developers Docker vs Vagrant

Fundação CERTI - Direitos Reservados

E o cliente…

Esse a gente não faz ideia

Mas ele quer pra ontem

Page 11: Hands on para (web)Developers Docker vs Vagrant

Fundação CERTI - Direitos Reservados

E você vai continuar perdendo tempo configurando seu ambiente

E na hora de mandar para produção ??

Page 12: Hands on para (web)Developers Docker vs Vagrant

Fundação CERTI - Direitos Reservados

Então para contar um pouco da nossa experiência criamos esse hands on.

Docker vs Vagrant

Page 13: Hands on para (web)Developers Docker vs Vagrant

Fundação CERTI - Direitos Reservados

Docker vs Vagrant

A primeira vista parece algo assim...

Page 14: Hands on para (web)Developers Docker vs Vagrant

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...

Page 15: Hands on para (web)Developers Docker vs Vagrant

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

Page 16: Hands on para (web)Developers Docker vs Vagrant

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"

Page 17: Hands on para (web)Developers Docker vs Vagrant

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

Page 18: Hands on para (web)Developers Docker vs Vagrant

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

Page 19: Hands on para (web)Developers Docker vs Vagrant

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

Page 20: Hands on para (web)Developers Docker vs Vagrant

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

Page 21: Hands on para (web)Developers Docker vs Vagrant

Fundação CERTI - Direitos Reservados

Nossas engrenagens

Page 22: Hands on para (web)Developers Docker vs Vagrant

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.110.10.10.2

172.168.0.1172.168.0.2

172.168.0.3

Page 23: Hands on para (web)Developers Docker vs Vagrant

Fundação CERTI - Direitos Reservados

Host

connect

vagrant ssh connect

docker exec(or ssh*)

vagrant@vm:~$user@pc:~$ root@a23sf2s34:~$CodeRails

Docker Repositorylinked

MySQL

user@host:~$ vagrant up

Vagrantfile Dockerfile

vagrant@vm:~$ docker buildroot@a23sf2s34:~$ rails s; whatever ...vagrant@vm:~$ docker stopvagrant@vm:~$ docker pushDocker Image

Work-flow

Page 24: Hands on para (web)Developers Docker vs Vagrant

Fundação CERTI - Direitos Reservados

Live Demo

Page 25: Hands on para (web)Developers Docker vs Vagrant

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 gente Só pra gente aqueceraquecer

Aqui é onde mora o Aqui é onde mora o perigo...perigo...

Terra do DevOps, um Terra do DevOps, um examplo muuuito simplesexamplo muuuito simples

Page 26: Hands on para (web)Developers Docker vs Vagrant

Fundação CERTI - Direitos Reservados

Finalizando

›Não existe mágica, desenvolvimento é complexo

›Comece com Vagrant

›Quando usar Docker.. estude.

Page 27: Hands on para (web)Developers Docker vs Vagrant

Fundação CERTI - Direitos Reservados

Finalizando mesmo

›Esse é o nosso cenário…

›Para produção você ainda vai precisar de DevOps

Page 28: Hands on para (web)Developers Docker vs Vagrant

Fundação CERTI - Direitos Reservados

Page 29: Hands on para (web)Developers Docker vs Vagrant

Fundação CERTI - Direitos Reservados

Perguntas?

[email protected]

[email protected]

Page 31: Hands on para (web)Developers Docker vs Vagrant

Fundação CERTI - Direitos Reservados

Bonus Round