Hvad er forskellen mellem docker, marionet, kok og vagrant?


Svar 1:

Phoenix-projektet

Konfigurationsstyring

  • Puppet: Denne løsning ser ud til at appellere hovedsageligt til operationsteam med lidt eller ingen udviklingsbaggrund. Den er meget moden, men har problemer med at skalere forbi ca. 1000 konfigurerede maskiner, når du bruger en Puppet Master (en statsserver til at spore din infrastruktur). Mens Puppet kan udvides ved hjælp af Ruby-sproget, er det ikke meget nemt at gøre det. Dukke er vanskeligt at samle op. Chef: Denne løsning resonerer bedst med teams, der, selvom de ikke er udviklere, kender enheds- og integrationstest, brug af kildekontrol og andet udviklingsværktøj. Kokken er også meget moden og arbejder i massiv skala på grund af dens vedtagelse af Facebook, som også har bidraget. Kokken blev designet fra bunden til let at kunne udvides ved hjælp af Ruby-sproget. Så selvom det er DSL-drevet, er det at udvide DSL en simpel sag, der ikke kræver, at man gaffer selve Chef-softwaren. Kokken er meget vanskelig at lære, selvom den usædvanligt ordrette output fra en konvergenskørsel letter identificeringen og afhjælpningen af ​​problemer. Synlig: Denne løsning er langt den enkleste af systemer og appellerer meget til frontlinieudviklere, der ofte måne lys, når deres virksomheds aktiviteter fungerer . Det er skrevet i Python, så det har en vis tiltrækning til Python-samfundet. Hvis du overvejer konfigurationsstyring for første gang nogensinde og har brug for en let gevinst, er Ansible et godt sted at starte. Jeg er ikke bekendt med Salt Stack og CF Engine.

Docker

vagabond

DevOps Delight - ChefDk, Chef-Zero og Vagrant

Docker 101 - 01 - Docker-udviklingsmiljøer

Konklusion


Svar 2:

Der er en stor mængde detaljerede oplysninger tilgængelige om hver af disse tjenester, så jeg vil bare gå ind på det grundlæggende.

Vagrant er en virtuel maskine, der bruger en anden service (såsom VirtualBox eller AWS) som sin udbyder. Du kan starte mange forskellige typer virtuelle miljøer med Vagrant, men den mest almindelige er en Linux-server.

Docker er ikke en fuldgyldig virtuel maskine, men snarere en container. Docker giver dig mulighed for at køre forekomster af tjenester / servere i et specifikt virtuelt miljø. Et godt eksempel på dette ville være at køre en Docker-container med Ruby on Rails på Ubuntu Linux.

Både Puppet og Chef er begge sprog, der giver dig mulighed for at skrive scripts til servere til hurtig levering (inklusive forekomster af Vagrant og / eller Docker). Du behøver ikke at bruge Puppet eller Chef til at konfigurere disse tjenester, men nogle gange kan de være en hurtig måde at gøre det på.


Svar 3:

Jeg antager, at du nemt kan opdele dem i 2 grupper:

- VM både: Docker og Vagrant

- Automationsværktøj: Puppet, Chef, Ansible og Salt

Hvorfor?

Du har brug for dine infra klar (f.eks: 3 ubuntu, 1 mac, 1 windows) ved at bruge Vagrant, VM eller Docker FØR du kan bruge Automation Tools.

Docker og Vagrant er værktøjerne, der hjælper dig med at virtualisere dit os-lag (netværk, os, ...). De er forskellige på den måde, hvordan de bruger din ressource.

Automationsværktøjer hjælper i stedet med at automatisere dit sæt kedelige bash-kommandoer på flere maskiner.