Programmering

Anmeldelse: Marionet vs Chef vs. Ansible vs. Salt

Spredningen af ​​virtualisering kombineret med den stigende styrke af industristandardservere og tilgængeligheden af ​​cloud computing har ført til en betydelig stigning i antallet af servere, der skal styres inden for og uden en organisation. Hvor vi engang nægtede stativer med fysiske servere, som vi kunne få adgang til i datacentret nede i hallen, er vi nu nødt til at administrere mange flere servere, der kunne spredes over hele kloden.

Det er her, orkestrering og konfigurationsstyringsværktøjer til datacenter spiller ind. I mange tilfælde administrerer vi grupper af identiske servere, der kører identiske applikationer og tjenester. De er implementeret på virtualiseringsrammer inden for organisationen, eller de kører som sky- eller hostede forekomster i eksterne datacentre. I nogle tilfælde taler vi måske om store installationer, der kun findes for at understøtte meget store applikationer eller store installationer, der understøtter utallige mindre tjenester. I begge tilfælde kan evnen til at vifte med en stav og få dem alle til at bøje sig til administratorens vilje ikke diskonteres. Det er den eneste måde at styre disse store og voksende infrastrukturer på.

Puppet, Chef, Ansible og Salt blev alle bygget med netop det mål i tankerne: at gøre det meget nemmere at konfigurere og vedligeholde snesevis, hundreder eller endda tusinder af servere. Det betyder ikke, at mindre butikker ikke vil drage fordel af disse værktøjer, da automatisering og orkestrering generelt gør livet lettere i en infrastruktur af enhver størrelse.

Jeg kiggede på hvert af disse fire værktøjer i dybden, udforskede deres design og funktion og fastslog, at mens nogle scorede højere end andre, er der et sted for hver at passe ind afhængigt af implementeringsmålene. Her opsummerer jeg mine fund.

Marionetvirksomhed

Marionet har uden tvivl den største mind andel af de fire. Det er det mest komplette med hensyn til tilgængelige handlinger, moduler og brugergrænseflader. Marionet repræsenterer hele billedet af orkestrering af datacenter, der omfatter næsten ethvert operativsystem og tilbyder dybe værktøjer til de vigtigste operativsystemer. Første opsætning er relativt enkel, hvilket kræver installation af en masterserver og klientagenter på hvert system, der skal styres.

Derfra er CLI (kommandolinjegrænseflade) ligetil, hvilket muliggør download af moduler og installation via marionet kommando. Derefter kræves ændringer af konfigurationsfilerne for at skræddersy modulet til den krævede opgave, og de klienter, der skal modtage instruktionerne, gør det, når de tjekker ind med masteren eller via et tryk, der straks udløser ændringerne.

Der er også moduler, der kan klargøre og konfigurere forekomster af cloudserver og forekomster af virtuelle servere. Alle moduler og konfigurationer er bygget med et Puppet-specifikt sprog baseret på Ruby eller Ruby selv og vil derfor kræve programmatisk ekspertise ud over systemadministrationsevner.

ScorecardSkalerbarhed (20.0%) Tilgængelighed (20.0%) Ydeevne (10.0%) Værdi (10.0%) Ledelse (20.0%) Interoperabilitet (20.0%) Samlet score (100%)
AnsibleWorks Ansible 1.38.09.09.09.08.07.0 8.2
Enterprise Chef 11.49.09.08.09.07.08.0 8.3
Puppet Enterprise 3.09.09.09.09.09.09.0 9.0
SaltStack Enterprise 0.17.09.09.09.09.09.08.0 8.8