vagrant & docker: carregue seus ambientes no bolso

Post on 19-Jun-2015

1.341 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Uma apresentação sobre Vagrant, Docker, e como estas ferramentas podem ser usadas para a criação de ambientes de fácil reprodução.

TRANSCRIPT

VAGRANT &DOCKER

Ou carregue seus ambientes no bolso com Vagrant e Dockerdiogo.lucas@gmail.com

Primeiro, o bode na sala:

DOKKU

Servidor dokkuScripts dokkuDeployment dokkuSugestões dokku?

voltaremos aokku ao dokku mais tarde

Ambientes:a) reprodutíveis

b) portáveis

like so (demo)

olhando por baixo dos panos...

ANATOMIA DE UM ARQUIVO VAGRANT(SIM, ISSO É RUBY :)):

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # Configurando a imagem (Vagrant) de base para a VM config.vm.box = "cbumgard/nodejs"

# Configurando o redirecionamento de portas config.vm.network "forwarded_port", guest: 1948, host: 1948

# Preparando a VM, usando shell config.vm.provision "shell", inline: "cd /vagrant;npm install", privileged: "false"

# Configuração (desativada) de um IP fixo para acesso do host à máquina # config.vm.network "private_network", ip: "192.168.33.10"

# Configuração (desativada) de uma pasta compartilhada entre o host e a VM # config.vm.synced_folder "../data", "/vagrant_data"end

sim, o fluxo se resume a:$ git clone my-repo$ vagrant up

Ok, mas e se suas aplicações fossem portáteis?

PROBLEMÃO DE LOGÍSTICA ATÉ 1950:Como transportar e cobrar por cargas tão diferentes entre

si?

A SOLUÇÃO:

PROBLEMÃO DE DEVOPS ATÉ 2013:Como deployar e promover aplicações tão diferentes entre

si?

A SOLUÇÃO:

UM EXEMPLO COM MONGODB$ docker run --name exemplo-TDC -d mongo$ docker run -it --link exemplo-TDC:mongo \ --rm mongo sh -c 'exec mongo \ "$MONGO_PORT_27017_TCP_ADDR:$MONGO_PORT_27017_TCP_PORT/test"'$ show dbs

CONCEITOS:Dockerfile: descreve uma imagemImagem: base (binários) para um containerContainer: unidade de execução

POR QUE UM DEV GOSTA DISSO?Portabilidade + Reprodutibilidade

Ei, não dependo de burocratas todo o tempo!

POR QUE UM DEVOPS GOSTA DISSO?Automação + Reprodutibilidade

Ei, é menos trabalho chato!

POR QUE UM ADMIN GOSTA DISSO?Ei, é menos trabalho!

POR QUE UM INFRA MANAGER GOSTADISSO?

Ei, é uma melhor densidade computacional!Ei, posso gastar menos!

MAS ESPEREM,TEM MAIS!

Docker + Heroku

Dokku

Docker + Vagrant

Prod-like na sua máquina

DOCKER-BASEDPROMOTIONS

Build: docker pushDeploy: docker pull

DOCKER EXTRASMesoSphereKubernetesOpenShiftFlynnDeisFig

Momento holy sh#t

Q&A

O INCRÉDULO: OK, MAS QUAIS SÃO OSPROBLEMAS COM O DOCKER?

1. Alto no hype cycle2. Preocupações sobre segurança e estabilidade3. Rampa de equipe4. Use cases parciais

O EXPERIENTE: TÁ, MAS E PORQUE EUNÃO POSSO USAR SÓ PUPPET & AFINS?

Poder, pode, mas não vai ser a mesma coisa:a) menor reprodutibilidade e b) menor densidade potencial

O EMPOLGADO: LEGAL, LEGAL, MUITOLEGAL! ONDE EU ASSINO?!?

1. 2. 3.

Crie seu próprio sandboxOuça a própria DockerEntre na IASA/GUCloud (nudge nudge)

top related