Omfanget af værktøjer, der benyttes i DevOps-softwareudviklingsteknikken, er stadig mere omfattende. I dag er der tusindvis at vælge imellem, hvert værktøj med sine grunde til at blive brugt i din virksomhed: ved hvordan det hjælper med at nå dine mål eller endda daglige opgaver. Og uanset om du er en ny eller en erfaren udvikler, kan du blive overvældet af at køre efter den rigtige mulighed.
Selv når du har indsnævret det til en liste over potentielle værktøjer (dem, der interesserer dig), er den type problemer, du vil løse, forskellige. For eksempel kan du ønske dig en specifik konfigurationsstyring eller applikationsimplementering i informationsteknologi (IT) infrastruktur, så det er svært at vælge. Chef og Ansible er de førende værktøjer indtil videre.
Hvis du er til DevOps, skal du forstå, hvornår du skal vælge en bestemt automatiseringsteknologistak og hvorfor. I dette indlæg vil jeg nedbryde de to automatiseringsværktøjer, idet jeg husker på, at hver udvikler vil have unikke behov. Og selvom det “bedste” værktøj er subjektivt, vil jeg vise dig forskellene, nævne fælles egenskaber og dermed hjælpe dig med at træffe et informeret valg.
Indholdsfortegnelse
DevOps Automation vilkår at kende
Før du dykker ned i hele aftalen mellem Ansible og Chef, ville det være umagen værd at være opmærksom på de mest brugte termer i DevOps-automatisering for at skabe en jævn forståelse af domænet.
Hvad er Ansible?
Ansible er et IT-automatiseringsværktøj, der blev opfundet i 2012 af Ansible Works, dets moderselskab, for at automatisere en hel applikations livscyklus i it-miljøer. Ansible hjælper med at automatisere konfigurationsstyring, orkestrere arbejdsgange og applikationsudvikling; listen er lang. Ansibles driftsmodel udfører opgaver i en bestemt rækkefølge, en af sine egne, og udfører it-miljøprocesser konsekvent.
Ansible øger kvalitet og produktivitet, samtidig med at omkostningerne reduceres ved at optimere it-miljøet. Det kan også være en løsning, der introducerer smartness i it-domænet. Ansible bygger bro mellem traditionelle it-miljøer med agil softwareimplementering. Den er open source og er afhængig af klient-server-modellen. Ansible designere hævder, at det er den eneste automatiseringsmotor, der robotiserer hele APK-livscyklussen inden for en kontinuerlig leveringstidslinje. Automatisering involverer at omdanne komplekse opgaver til gentagelige playbooks, forenkle processer og i sidste ende fremskynde produktionen.
Ikke overraskende er navnet “ansible” afledt af science fiction-litteratur. Den beskriver et øjeblikkeligt hyperspace kommunikationssystem.
Ansible kontrolmaskiner er Linux/Unix-baserede – som Debian, RedHat Enterprise Linux og macOS. Du kan køre Ansible på Python 2.7 eller 3.5. Når du skifter til cloud-platformene, kører Ansible på Amazon-webtjenester (AWS), Microsoft Azure, Google Cloud og Docker i en lang række af leverandører. Ansible bruger winRM og OpenSSH til fjernforbindelser, tilbyder selvbetjening, udfører rollebaseret adgangskontrol (RBAC) og tillader udvidet tilladelse. Som et resultat giver Ansible pålidelighed og sikkerhed i DevOps og IT-drift.
Ansible kan udnyttes til at automatisere it-infrastruktur af mange operatører i domænet, herunder operatører, it-chefer, ledere og release-ingeniører. Nu hvor jeg har knyttet Ansible til sine brugere, hvad med organisationer? Uanset om du driver store eller små virksomheder, kan du bruge Ansible til at strømline din it-drift. Mange virksomheder, der bruger Ansible, er dog skræddersyede inden for informationsteknologi og kommunikationsdomæner.
Nøglefunktioner i Ansible
Fordele ved Ansible
- Let at lære. Du behøver ingen forudsætninger.
- Forenklet konfigurationsstyring og applikationsimplementering.
- Forbedret sikkerhed og pålidelighed.
- Tilgængeligt centraliseret automatiserings- og visualiseringsdashboard.
- Understøtter overholdelse af IT-forskrifter.
- Tidseffektiv.
- Tillader kontinuerlig integration.
- Større samfund
Ulemper ved Ansible
- Understøtter ikke macOS.
- Underudviklet grafisk brugergrænseflade (GUI)
- Statsløs og sporer derfor ikke ændringer i afhængigheder.
- Uønsket fejlfindingsevne.
Hvad er kok?
Chef blev opfundet i 2009 af sit moderselskab OpsCode. Chef-teknologi er en succesfuld software efter et gammelt konfigurationsværktøj kaldet Puppet, der var svært at forstå og havde en stejl indlæringskurve. Kokken er lidt sværere at forstå, i modsætning til Ansible. Men med øvelse bliver det nemt, ligesom med ethvert programmeringssprog. Chef og Puppet er dukketeater af Ruby programmeringssprog.
“Chef er en kraftfuld automatiseringsplatform, der forvandler infrastruktur til kode…”
– Kokkedesignere
Så Chef er et andet automatiseringsværktøj, der udviser dygtighed i kontinuerlig implementering og konfigurationsstyring. Og uanset om dine operationer er on-premise, hybridmiljø eller cloud-baseret, automatiserer Chef konfiguration, implementering og administration gennem dit netværk uanset størrelsen.
Chef kører på flere platforme som Windows, Cisco IO og Nexus. Og hvis du er den slags udviklere, der er entusiastisk over cloud-teknologi, understøtter Chef platforme som Microsoft Azure, Amazon Web Services (AWS) og Google Cloud Platform. Listen rækker ud over her; foretag din research for at bekræfte, at din foretrukne cloud-leverandør er understøttet.
I modsætning til Ansible, som mange brugere bruger, er Chef rettet eksplicit mod DevOps og DevSecOps ingeniører. Løsningen er i sagens natur vedtaget af mellemniveau til senior informationsteknologi og servicevirksomheder.
Kokkens nøglefunktioner
Chef Solutions har mange vitale arkitektoniske funktioner; her er en opdeling.
- Chef Infra – Dette værktøj giver dig mulighed for at automatisere, konfigurere, administrere og implementere din it-infrastruktur effektivt. Chef Infra konverterer infrastruktur til kode og giver stabil implementering på tværs af den. Chef Infra består af tre komponenter; Chef-server, arbejdsstation og klienter. Som nøglespilleren kører arbejdsstationen på enhver platform og understøtter kodetest ved hjælp af forskellige værktøjer.
- Chef Habitat – Som et open source-produkt understøtter dette værktøj implementering af applikationer uanset din platform. Det definerer, pakker og leverer applikationer automatisk, hvis du ser på dets bestanddele, pakkeformater, der ofte er isolerede, kontrollerbare og uforanderlige, og en habitat-supervisor til at administrere disse pakker.
- Chef InSpec – Denne open source-testramme kører på enhver platform. Rammen er læsbar for både mennesker og maskiner. Det er også en sikkerheds- og compliance-forbedrende løsning. En ekstra fordel er, at du kan bruge den til at teste din fysiske hardware.
- Chef Automate – Dette er din gateway til at integrere open source-produkter som Chef InSpec og Habitat. Det giver fuld stack kontinuerlig sikkerhed og overholdelse. Du kan også bruge Chef Automate til at se hele dit it-økosystem og generere indsigt, der ville være ressourcestærk.
Fordele ved kok
- Færdigpakkede skabeloner, der forenkler konfigurationen.
- Let at bruge; udvikler kogebøger hurtigt.
- Hævder konsistens og kvalitet ved implementering.
- God værktøjstilpasning; tilpas dit dashboard, så det passer til dine behov.
- Du kan ikke nemt migrere Chef.
- Automatiserer IT-compliance.
- Giver sikker og jævn levering til kritiske applikationer.
Ulemper ved kok
- Mange værktøjer har brug for afklaring blandt brugerne.
- Kræver, at du forstår Ruby programmeringssprog.
- Stejl indlæringskurve.
- Ikke det bedste for mikroorganisationer.
- Følger master-klient tilgangen, hvilket gør det langsomt.
- Relativt højere omkostninger.
Nøgleforskelle mellem Ansible og Chef
Selvom både Ansible og Chef er på samme side med hensyn til automatisering, har de kendetegn. Dette afsnit fremhæver forskellene mellem Ansible og Chef.
FeatureAnsibleChefInstallationNem at installere, fordi den bruger en agentfri arkitektur. Bruger master-klient-kriterierne, som kræver, at Chef Agent kører på hver klientmaskine. Chefens arbejdsstationskomponent skal også konfigureres, hvilket forsinker dens overordnede installationsproces. Anvendt sprogDen bruger master-klient-kriterierne, som kræver, at Chef Agent kører på hver klientmaskine. Bundet til dens oprindelige Ruby, som er mere udviklerbaseret. Konfigurationskonfigurationsfiler i Ansible kaldes playbooks. Ansible bruger push-konfigurationsdriftsmodellen. Konfigurationsfiler i Chef kaldes kogebøger. Kokken anvender pull-konfigurationsteknikken. Fællesskab
(Forskellige operationer, der ikke er begrænset til møder, tilstedeværelse på sociale medier, bøger og træning.) Nyt produkt og relativt mindre at lære.
Har et stort fællesskab. Kokken er et ældre produkt, så dets dokumentation er bedre.
Relativt mindre samfund.
Samler det hele
Som du har set, er Chef og Ansible de mest produktive automatiserings- og konfigurationssystemer, der styrer DevOps, DevSecOps og andre it-processer. Ansible er enkel og nem at bruge og kan læres af mange brugere. Omvendt kommer Chef med adskillige funktioner og hjælper med at udføre komplekse informationsteknologiske operationer.
Du har også set fordelene og begrænsningerne ved både Ansible og Chef. For at vælge din automatiseringsløsning skal du vurdere dine krav. Og mens dine krav er opfyldt, er der adskillige andre faktorer at overveje fra bekvemmelighedssynspunktet; de aktuelle funktioner, der er tilgængelige på din valgte løsning, og udsigterne på lang sigt. Overvej andre faktorer som fremtidig arbejdsbyrde eller din organisations størrelsesvækst over tid.
Hvis du er nået så langt, har DevOps vakt din interesse. Hvis det er tilfældet, foreslår jeg, at du går videre med dit karrierevalg eller dine tanker; det er derfor, du bør tjekke vores guide, som vores eksperter har sammensat omhyggeligt på de bedste DevOps-kurser.