Det rigtige IT-automatiseringsværktøj til dig

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.

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.

  • DevOps og DevSecOps – Begreberne henviser til henholdsvis udviklingsoperationer og udviklingssikkerhedsoperationer. Disse softwareudviklingsteknikker indebærer tilgange til kultur, automatisering og platformdesign med et kryds mellem integreret sikkerhed som et fælles ansvar gennem hele it-livscyklussen. Selvom både DevOps og DevSecOps er ens, giver tilføjelse af sikkerhed til DevOps DevSecOps, for at rydde op i tingene.
  • Konfigurationsstyring – Denne proces involverer at vedligeholde computersystemer, servere og fuld software i en ønsket tilstand. Denne tilgang til håndtering af software hævder, at din software fungerer som forventet. Hvis du kan automatisere konfigurationsstyring, vil du reducere omkostninger, kompleksitet og risikoen forbundet med manuelle fejl.
  • Agent-baseret arkitektur – Chef bruger dette kriterium. Den beskriver en automatiseringsmodel og -infrastruktur, der bruger specifik software, kaldet agenter, til at udføre i administrerede miljøer. For at begynde at bruge modellen skal du installere afhængigheder på hver målknude med yderligere sikkerhedstjek og regler, hvilket kan være tidskrævende, især ved levering af software i en begrænset periode.
  • Agentløs arkitektur – Brugt af Ansible, indebærer dette kriterium automatisering og styring af it-tjenester uden brug af agenter. Kontrolsoftwaren har ikke langvarige installationer og forbindes til fjernmaskiner via en sikker socket shell (SSH). Når du først har konfigureret dit system, er der ingen grund til at beholde et implementeringssystem; mere om det senere.
  • YAML – I sin helhed, Yet Another Markup Language, lejlighedsvis, Yet Ain’t Markup Language, er deserialiseringssproget, der bruges til at skrive konfigurationsfiler. YAML er et JavaScript-supersæt. Den er læselig for mennesker og nem at bruge i forbindelse med andre programmeringssprog.
  •   Sådan parrer du Apple AirPods Pro med enhver enhed

    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

  • Ansible Content Collections – Dette værktøj hjælper dig med at skabe et stærkt brugerfællesskab. Ansible har indbygget prækomponerede moduler, der hjælper udviklere og indholdsskabere med at samarbejde effektivt på arbejdet. Ansible giver en konsistent struktur, hvorigennem du kan flytte bundter af moduler, roller, plugins og dokumentation i din indholdsoprettelsesproces. Den fantastiske del er, at du altid kan sikre en ensartet gennemstrømning af indhold uden at bekymre dig om versionsopdateringer og udgivelser.
  • Automation Services Catalogue – Dette er den funktion, der håndterer klargøring, administration og fuld automatisering af ressourcer. Selvom det automatiserer hyppige brugeranmodninger gennem RBAC-teknikken nævnt tidligere., hjælper det også med at opfylde kravene til IT-overholdelse.
  • Automation Hub – Dette værktøj giver adgang til at finde og bruge Red Hats indhold og tilknyttede partnere. Du kan udvide dets indhold ved at udgive og administrere Ansible-samlinger i automatiseringshubben. Især “how-to guides”, der hjælper dig med at udnytte Ansible.
  • Automation Execution Environments – Typisk er dette et containerbillede, hvor IT-automatiseringsmiljøer er bygget på. Det er midlet til at automatisere dine opgaver og procedurer på en standard måde. I udviklerens øjne kan du se det som et fælles sprog for automationsingeniører, platformsarkitekter og administratorer.
  • Automation Mesh – Dette lag forenkler skaleringsprocessen ved hjælp af et bilateralt kommunikationslag. Værktøjet strømliner fleksibiliteten i applikationsimplementeringen, mens det er meget opmærksom på ikke at kompromittere synlighed og kontrol over dit it-økosystem. Automatiseringsnet giver sikkerhedsfunktioner som digital signering, transportlagssikkerhed (TLS), trafikkryptering og yderligere adgangskontrol.
  • Automationsanalyse og -indsigt – Denne del hjælper dig med at evaluere Ansibles automatiseringsydelse. Med andre ord er dette din gateway til sundhedstjek af din automatisering udledt af handlingsrettede data, som du kan bruge til at træffe logiske og informerede beslutninger.
  •   Hvad er aftalen med Google Home og Nest? Er der en forskel?

    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.
      Sådan importeres Chrome-bogmærker i Microsoft Edge

    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.