Vad är skillnaden mellan Ansible, Ansible Galaxy och Ansible Tower?

Ansible är ett konfigurationshanteringssystem med öppen källkod, som även fungerar som en plattform för IT-automatisering. Verktyget förenklar processer som mjukvaruprovisionering, hantering av inställningar samt distribution av applikationer.

Ansible skiljer sig markant från andra konfigurationshanteringsverktyg. Denna distinktion är det som separerar det från alternativ som Chef, CFEngine, Salt och Puppet.

För att underlätta hanteringen av Ansible, introducerades Ansible Tower, som erbjuder ett webbaserat gränssnitt. Användare efterfrågade en intuitiv lösning som skulle möjliggöra snabba driftsättningar och övervakning av konfigurationer.

Ansible Tower kom som ett svar på detta behov från Ansible-ledningen. Varje programmeringsspråk och ramverk har sina egna specifika egenskaper och subtiliteter. I den här texten undersöker vi skillnaderna mellan Ansible, Ansible Galaxy och Ansible Tower.

Introduktion till Ansible

Ansible är ett öppen källkodsverktyg för konfigurationshantering som automatiserar programvaruprovisionering och inställningshantering. Det möjliggör kontroll och konfiguration av flera maskiner från en central server.

Systemet fungerar genom en push-baserad mekanism, där konfigurationen ”skickas” från huvudmaskinen till alla anslutna noder.

Konfigurationerna skrivs med hjälp av YAML, vilket gör dem lättförståeliga och hanterbara för serveradministratörer. Kommunikationen sker via SSH, med OpenSSH som transportlager.

Alla Ansible-konfigurationer lagras i YAML-filer, så kallade playbooks. En playbook består av en serie uppgifter eller ”plays”. För att konfigurera noder används moduler inom en uppgift.

Playbooks är platsen där konfigurationer definieras. Uppgifter i en playbook utförs sekventiellt. Verktyget stöder både synkron och asynkron exekvering.

Bilden visar flera värdmaskiner. Dessa maskiner är målet för de konfigurationer som skapats.

Fördelar med Ansible:

  • Gratis och öppen källkod
  • Enkel installation
  • Hög kapacitet att konfigurera många maskiner samtidigt
  • Anpassningsbar för olika miljöer
  • Agentlös, vilket innebär att det inte krävs några agentnoder
  • Effektiv drift utan behov av extra mjukvara

Nackdelar med Ansible:

  • Kan vara svårinstallerat
  • Stöds inte på Windows
  • Problem med bakåtkompatibilitet

Introduktion till Ansible Galaxy

Ansible Galaxy är en tjänst där användare kan dela och hitta roller. Det främjar återanvändning av roller i serverkonfigurationer och är en vanlig resurs i många projekt.

Ansible Galaxy fungerar som ett offentligt register för Ansible-rolldefinitioner. Varje roll innehåller en README-fil som ger information om hur den används och vilka variabler den använder.

Ansible Galaxy innehåller en växande samling av roller. Dessa hjälper till att dela upp stora playbooks i en mer strukturerad form. Användare kan anpassa roller efter behov.

Strukturen hos en Ansible Galaxy-roll:

  • README.md: Beskriver rollen, dess parametrar och ger exempel på användning i YAML.
  • tasks: Innehåller alla uppgifter som rollen utför. Main.yml är startpunkten.
  • handlers: Inkluderar hanterare som kan användas i denna eller andra roller.
  • defaults: Innehåller standardvariabler för rollen.
  • vars: Definierar variabler som har högre prioritet än standardvariablerna.
  • files: Här finns filer som kan distribueras med rollen.
  • templates: Innehåller mallar som kan användas via rollen.
  • meta: Metadata som beskriver rollen, inklusive eventuella beroenden.
  • tests: Här kan CI-tester lagras.
  • library: Innehåller inbäddade moduler eller plugins. Även anpassade Python-moduler kan lagras här.

Ansible Galaxy är ett verktyg för att skapa och hantera roller. Nya versioner av Ansible introducerar funktioner som ”collections”, som distribuerar Ansible-innehåll i samlingar av moduler, playbooks och plugins.

Fördelar med Ansible Galaxy:

  • Centraliserad plats för att hitta, återanvända och dela Ansible-innehåll.
  • Enkel nedladdning av återanvändbara roller för programinstallation.
  • Ökar snabbheten i driftsättningar.

Nackdelar med Ansible Galaxy:

  • Community-drivet, vilket inte garanterar att alla moduler fungerar som förväntat.
  • Vissa roller har bristfällig dokumentation.
  • Många roller är inte idempotenta.

Introduktion till Ansible Tower

Ansible Tower är ett grafiskt gränssnitt för Ansible. Det är en webbaserad lösning som används av många IT-team.

Ansible Tower kan liknas vid instrumentpanelen i en bil. Den visar all viktig information om bilens tillstånd, som hastighet, oljenivå och bränslenivå. Ansible Tower är instrumentpanelen medan Ansible är motorn.

Ansible Tower tillåter användare att utföra fjärruppgifter genom ett grafiskt användargränssnitt. Ansible-jobb utförs via playbooks, vilka kan köras via Ansible CLI. Ansible Tower gör hantering och exekvering av playbooks möjligt genom ett GUI.

Användare kan använda befintliga playbooks eller skapa egna. Ansible Tower erbjuder integrerade notifieringar som meddelar specifika team när ett jobb är klart eller misslyckas. Denna kommunikation är avgörande för alla organisationer.

Verktyget erbjuder även rollbaserad åtkomstkontroll (RBAC) för att hantera vem som får utföra olika jobb. Detta hjälper organisationer att följa branschspecifika säkerhetsregler.

Utöver RBAC tillhandahåller systemet en revisionslogg som spårar vem som var ansvarig för ett specifikt jobb. Detta tillför en extra säkerhetsnivå som kan vara svår att uppnå med enbart Ansible.

Ansible Tower möjliggör fjärrkörning av kod i olika applikationer. Om en virtuell maskin behöver startas om, förenklar Ansible Tower denna process.

Fjärrinstallation av mjukvara kan användas för att snabbt åtgärda säkerhetsproblem. Ansible Tower är en central plattform för hantering av nätverksinfrastruktur och virtuella maskiner som distribueras med Ansible.

Till skillnad från Ansible är Ansible Tower inte gratis. Det finns två utgåvor: Premium och Standard. Valet av utgåva beror på organisationens IT-behov. Standardutgåvan passar de flesta IT-verksamheter, medan Premium är avsedd för uppdragskritiska DevOps.

Red Hat tillhandahåller prisuppgifter efter kontakt. Standardutgåvan kostar cirka 10 000 dollar per år för 100 noder, medan Premium kostar cirka 14 000 dollar per år för samma antal noder.

Fördelar med Ansible Tower:

  • Tydlig layout
  • Underlättar CI/CD-pipelines för arbetsflödeshantering
  • Möjlighet att schemalägga jobb och få meddelanden vid fel
  • Grafisk lagerhantering
  • Enkel installation

Nackdelar med Ansible Tower:

  • Dyrt
  • Prenumerationsbaserat
  • Problem med att lösa konflikter vid sammanslagning
  • Felsökning kan vara komplicerad

Ansible vs Ansible Galaxy vs Ansible Tower

Ansible är ett IT-automatiseringsverktyg som kan användas för att distribuera programvara och konfigurera system. Det kan även orkestrera komplexa IT-uppgifter som kontinuerliga driftsättningar eller uppdateringar utan driftstopp. Användarvänlighet är en av huvudprioriteringarna för Ansible.

Ansible Tower, å andra sidan, beskrivs som ett kraftfullt Git-gränssnitt för Mac och Windows. Användare kan hantera alla Git-funktioner i ett mer produktivt grafiskt gränssnitt. Ansible Galaxy används för att lagra Ansible-roller. Det är motsvarigheten till PyPI för Python eller Maven för Java.

Ansible Tower kan inte användas utan Ansible, men kan arbeta med Ansible. Ansible är ”motorn” för infrastrukturhantering och driftsättning.

Ansible Tower ger insyn i hela systemet och möjliggör övervakning av säkerhetsefterlevnad. Verktyget ger även rollbaserad åtkomstkontroll (RBAC) för Ansible-distributioner. Ansible Tower är ett bra alternativ för organisationer som vill att personal utan djupare kodningskunskaper ska kunna granska infrastrukturen.

Jämförelse av Ansible, Ansible Tower och Ansible Galaxy:

Ansible Ansible Tower Ansible Galaxy
Beskrivning Verktyg för konfigurationshantering med öppen källkod Användargränssnitt för Ansible Register över roller och samlingar
Användning Kör playbooks genom CLI Kör playbooks genom GUI Använder ansible-galaxy via CLI
Lanseringsdatum 2012 2015 2015
Kostnad Gratis 10 000-14 000 USD/år Gratis
Funktion Styr hela din Ansible-miljö Ger synlighet i hela Ansible-miljön Låter dig återanvända kod i playbooks

Slutsats

Denna text har gått igenom Ansible, Ansible Tower och Ansible Galaxy, samt de viktigaste skillnaderna. Organisationer bör noga överväga sina behov innan de investerar i Ansible Tower, eftersom det kan vara en kostsam lösning. Men Ansible är generellt ett utmärkt konfigurationshanteringsverktyg för Linux-baserade system.

Du kanske också är intresserad av sysadmin-uppgifter som kan automatiseras med Ansible.