vagrant + ansible vs docker

Post on 10-Aug-2015

221 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Vagrant + Ansiblevs

Docker

Test environment automation

Marianne KrauseBlue4It

28-05-2015

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

Index- Provisioning- tooling

- Ansible- examples

- Docker- examples

- Vagrant- examples

- Samenvatting

Provisioning

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

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/

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

out of the box op een ander os)

Example Ansible

Example Ansible Roles

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/

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

Example Docker

https://github.com/dockerfile/mongodb

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/

Example Vagrant

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

Example Vagrant + Ansible

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

Example Docker

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

Ansible vsDocker

<— Vagrant+Ansible

Docker —>

Vagrant

Usecases- Vagrantbox op Git in plaats van tutorial

- Linux/Mac ontwikkelomgevingen inrichten met Ansible

- CI omgeving met Docker en AWS3

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

top related