vagrant vs docker? melhor vagrant + docker

Post on 16-Apr-2017

480 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Vagrant vs Docker?Melhor Vagrant + Docker

About me$nome = 'Wellington F. Silva';$nick = ['_wsilva, 'tom', 'boina', 'fisi', 'iéié'];$work = 'devop';$background = '~2000';$titles = ['ZCE PHP 5.3', 'Técnico Telecom', 'Quase Bacharel SI - USP'];$contact = ['twitter' => '_wsilva'];

Overview● Problema da padronização● Soluções● Virtualização● Conteinerização● Comparação● Vagrant● Demo● Bate papo

O problema

O problema

O problema

O problema

Exemplos:● php substr vs mb_substr

O problema

Exemplos:● php substr vs mb_substr● valor default current_timestamp (MySQL vs

Percona)

Soluções

● Trabalhar direto no servidor (FTP)

Soluções

● Trabalhar direto no servidor (FTP)● Montar na unha o ambiente de cada projeto

Soluções

● Trabalhar direto no servidor (FTP)● Montar na unha o ambiente de cada projeto● Virtualizar

Soluções

● Trabalhar direto no servidor (FTP)● Montar na unha o ambiente de cada projeto● Virtualizar● Conteinerizar

Virtualização

Virtualização

● 1960 - cpu time sharing (inspiração)

Virtualização

● 1960 - cpu time sharing (inspiração)● IBM 370 - Projetado para virtualização. Via

softare com o CP/CMS.

Virtualização

● 1960 - cpu time sharing (inspiração)● IBM 370 - Projetado para virtualização. Via

softare com o CP/CMS.● IBM z/VM - Case de sucesso com

virtualização por hardware.

Virtualização

● 1960 - cpu time sharing (inspiração)● IBM 370 - Projetado para virtualização. Via

softare com o CP/CMS.● IBM z/VM - Case de sucesso com

virtualização por hardware.● Decada de 90 em diante: VMWare, Xen,

KVM, VirtualBox, etc...

Virtualização

Virtualização

Vantagem:● Mesma VM nos ambientes dev, homolog e

prod

Virtualização

Vantagem:● Mesma VM nos ambientes dev, homolog e

prod● Padronização de ambientes.

Virtualização

Desvantagens:● Montagem e inicialização lentos

Virtualização

Desvantagens:● Montagem e inicialização lentos● Gasta muitos recursos de hardware.

Virtualização

Next Step● Técnicas de imagem e snapshots

Virtualização

Next Step● Técnicas de imagem e snapshots● Automação de montagens (Vagrant, Chef,

Puppet, Ansible)

Sistemas complexos

Sistemas complexos

● Difícil reproduzir todos os componentes em dev. (5, 6, 7 até 10 VMs)

Sistemas complexos

● Difícil reproduzir todos os componentes em dev. (5, 6, 7 até 10 VMs)

● Problemas de detalhes de comunicação entre serviços

Sistemas complexos

● Difícil reproduzir todos os componentes em dev. (5, 6, 7 até 10 VMs)

● Problemas de detalhes de comunicação entre serviços

● Difícil testar escalabilidade da aplicação

Conteinerização

Conteinerização

LXC - Linux Containers:● Jul / 2008 - Kernel 2.6.26 +

LXC - Linux Containers:● Jul / 2008 - Kernel 2.6.26 + ● lxc-start

Conteinerização

LXC - Linux Containers:● Jul / 2008 - Kernel 2.6.26 + ● lxc-start● compartilha kernel e libs com o host

Conteinerização

LXC - Linux Containers:● Jul / 2008 - Kernel 2.6.26 + ● lxc-start● compartilha kernel e libs com o host● isola processo nos Control Groups

(CGroups)

Conteinerização

LXC - Linux Containers:● Jul / 2008 - Kernel 2.6.26 + ● lxc-start● compartilha kernel e libs com o host● isola processo nos Control Groups

(CGroups)● difícil gerenciar

Conteinerização

Conteinerização

Docker● Copy on Write

Conteinerização

Docker● Copy on Write● Compartilhamento de imagens (Docker Hub)

Conteinerização

Docker● Copy on Write● Compartilhamento de imagens (Docker Hub)● Receita para criação de container

(Dockerfile)

Conteinerização

Docker● Copy on Write● Compartilhamento de imagens (Docker Hub)● Receita para criação de container

(Dockerfile)● Camada de Api REST

Conteinerização

Docker● Copy on Write● Compartilhamento de imagens (Docker Hub)● Receita para criação de container

(Dockerfile)● Camada de Api REST● Inovando (machine, compose, swarm, etc)

Conteinerização

Conteinerização

Vantagens● sobe muito rápido

Conteinerização

Vantagens● sobe muito rápido● otimiza recursos

Conteinerização

Vantagens● sobe muito rápido● otimiza recursos● fácil replicação

Conteinerização

Vantagens● sobe muito rápido● otimiza recursos● fácil replicação● inovações crescentes (opencontainers.org)

Conteinerização

Desvantagens● Overhead de IO

Conteinerização

Desvantagens● Overhead de IO● Não tão isolado

Conteinerização

Desvantagens● Overhead de IO● Não tão isolado● Só host Linux e conteiners Linux

Conteinerização

Next Steps● suporte ativo a freebsd

Conteinerização

Next Steps● suporte ativo a freebsd● mac osx e windows precisam de uma VM

linux que serve de host para os conteiners

Conteinerização

Next Steps● suporte ativo a freebsd● mac osx e windows precisam de uma VM

linux que serve de host para os conteiners● problema com lentidão de leitura e

permissão de arquivos (vbox-share)

Conteinerização

Next Steps● suporte nativo a freebsd● mac osx e windows precisam de uma VM

linux que sirva de host para os conteiners● problema com lentidão de leitura e

permissão de arquivos (vbox-share)● boot2docker limitado (vbox-share e nfs)

Conteinerização

Vagrant

● suporte a docker desde 1.4.0 (dez, 2013)

Vagrant

● suporte a docker desde 1.4.0 (dez, 2013)● suporte a rsync desde 1.5.0 (mar, 2014)

Vagrant

● suporte a docker desde 1.4.0 (dez, 2013)● suporte a rsync desde 1.5.0 (mar, 2014)● ajuda no problema com lentidão de leitura e

permissão de arquivos (vbox-share)

Vagrant

● suporte a docker desde 1.4.0 (dez, 2013)● suporte a rsync desde 1.5.0 (mar, 2014)● ajuda no problema com lentidão de leitura e

permissão de arquivos (vbox-share)● opções de compartilhamento (vbox-share,

rsync, nfs, sbmfs)

Vagrant

● suporte a docker desde 1.4.0 (dez, 2013)● suporte a rsync desde 1.5.0 (mar, 2014)● ajuda no problema com lentidão de leitura e

permissão de arquivos (vbox-share)● opções de compartilhamento (vbox-share,

rsync, nfs, sbmfs)● Permite outras VMs (CoresOS, Ubuntu, etc)

Vagrant

Demo

A hora da tela azul...

Demo

Perguntas

http://bit.ly/talk-vagrant-docker https://joind.in/14828

top related