vagrant + ansible vs docker

20
Vagrant + Ansible vs Docker Test environment automation Marianne Krause Blue4It 28-05-2015

Upload: marianne-krause

Post on 10-Aug-2015

221 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Vagrant + ansible vs docker

Vagrant + Ansiblevs

Docker

Test environment automation

Marianne KrauseBlue4It

28-05-2015

Page 2: Vagrant + ansible vs docker

Programmeer/script talen:

- Java developer (5 jaar)- Python developer (5 jaar)- C++ developer (2 jaar)- Javascript developer (17 jaar)

Who am i

Opensource projecten (onder andere):

- CoughDB- AngularJS- Ansible- Gearman

- Logstash - Elastic search

- Mangos- Junction

- NGinx- Haproxy- RabbitMQ- Thrift- etc!

Hobby programmeer/script talen:

- Bash- C- Erlang- PHP- Ruby

Page 3: Vagrant + ansible vs docker

Index- Provisioning- tooling

- Ansible- examples

- Docker- examples

- Vagrant- examples

- Samenvatting

Page 4: Vagrant + ansible vs docker

Provisioning

Page 5: Vagrant + ansible vs docker

Provisioning ToolsPuppet Salt Ansible Chef Docker

Master - Agent Master - Minion

Master - (agent-less)

Master -Client Containers

Ruby Python Python Ruby Go

Linux windows osx open-

source commercial config-mgmt provisioning orchestration

Linux windows osx open-

source commercial config-mgmt provisioning orchestration

Linux open-source

provisioning config-mgmt orchestration

Linux windows open-

source provisioning config-mgmt

Linux open-source virt cloud-paas

provisioning

http://www.devopsbookmarks.com/provisioning

Page 6: Vagrant + ansible vs docker

Ansible- Provisioning

- Kan jobs uitvoeren- Client-less

- Verzorgt geen virtualisatie laag

- ‘Playbooks’ kunnen ook op andere omgevingen uitgevoerd worden- ‘Playbooks’ zijn testbaar

- Kan docker containers aansturen en bouwen

http://docs.ansible.com/

Page 7: Vagrant + ansible vs docker

Ansible cons- Duurt lang met uitvoeren- Environment afhankelijk (playbooks werken niet

out of the box op een ander os)

Page 8: Vagrant + ansible vs docker

Example Ansible

Page 9: Vagrant + ansible vs docker

Example Ansible Roles

Page 10: Vagrant + ansible vs docker

Docker- Provisioning- Client-less

- Verzorgt zelf omgevingen (Containers). Geen virtualisatie laag strikt nodig- ‘Containers’ kunnen ook op andere omgevingen runnen- Erg geschikt om omgevingen clean op te zetten

https://docs.docker.com/

Page 11: Vagrant + ansible vs docker

Docker cons- Niet geschikt voor persistentielaag of

esbservices- Tussenlaag op windows en mac geeft soms

problemen- Minder geschikt voor omgevingen die niet clean

opgezet worden

Page 12: Vagrant + ansible vs docker

Example Docker

https://github.com/dockerfile/mongodb

Page 13: Vagrant + ansible vs docker

Vagrant- Stuurt de virtualisatie laag aan

- Regelt standaard connectivity

- Via Vagrant cloud basis vm’s downloaden- Vagrant boxes zijn deelbaar

- Kan zelf geen jobs runnen, dit moet met provisioning

https://docs.vagrantup.com/v2/

Page 14: Vagrant + ansible vs docker

Example Vagrant

https://docs.vagrantup.com/v2/

Page 15: Vagrant + ansible vs docker

Example Vagrant + Ansible

http://docs.vagrantup.com/v2/provisioning/ansible.html

Page 16: Vagrant + ansible vs docker

Example Docker

http://docs.vagrantup.com/v2/provisioning/docker.html

Page 17: Vagrant + ansible vs docker

Ansible vsDocker

<— Vagrant+Ansible

Docker —>

Page 18: Vagrant + ansible vs docker

Vagrant

Page 19: Vagrant + ansible vs docker

Usecases- Vagrantbox op Git in plaats van tutorial

- Linux/Mac ontwikkelomgevingen inrichten met Ansible

- CI omgeving met Docker en AWS3

Page 20: Vagrant + ansible vs docker

Praktijk samenvatting- Docker in productie is eng!- Docker voor dev/test/acc af en toe als

speelgoed- Docker tooling groeit snel door community- Jenkins + Docker/Ansible voor test/acc- Doel van Vagrant is moeilijk uit te leggen- Vagrant boxes op GIT ipv VagrantCloud- Veel datacenters gebruiken al Ansible of Puppet- Gaan gebruiken van Ansible is gemakkelijk icm

python 2.7 machines