Då DevOps-kulturen håller på att införas inom IT-industrin, Det innebär ett växande behov av IT-proffs som inte bara är villiga att anamma tankesättet och metodiken bakom Devops-lösningarna, utan också kan utveckla DevOps-färdigheter med nya programvaruverktyg som Chef, Puppet och Ansible är bland de mest framstående verktygen för konfigurationshantering och automatisering av distribution. Vart och ett av dessa verktyg har sin särskilda styrka. Dessa automatisering och orkestrering gör livet enklare för alla storlekar av infrastruktur.

Medans du väljer det bäst lämpade, hitta det verktyg som fungerar bäst för dig, eftersom det gör dig mer produktiv och vilket verktyg du behöver, beror på dina krav och din nuvarande miljö. Verktyg som Chef, Puppet, Ansible är inte nödvändigtvis bara för DevOps-tjänster, deras användning i IT-organisationen kan lägga grunden för att snabba upp områden som applikationsleverans, patchning och så vidare.

Bilagt är en sammanfattning av några styrkor hos varje verktyg och ett par saker som kan påverka dig till att använda det ena framför det andra:

Varför Puppet?”

Puppet är långsammare, men mest använt och stöd för flera operativsystem. Puppet är ett konfigurationshanteringssystem som ger ett sätt att definiera IT-infrastrukturens tillstånd och möjliggör automatisk tillämpning av rätt tillstånd. Man kan hävda att det är det som har störst andel av de tre. Det är det mest kompletta när det gäller tillgängliga åtgärder, moduler och användargränssnitt. Puppet representerar hela bilden av orkestrering av datacenter, omfattar nästan alla operativsystem och erbjuder djupgående verktyg för de viktigaste operativsystemen

  • Kör på Linux, CentOS, Debian, Ubuntu, Fedora, BSD, MacOS, Windows och andra.
  • Använder sin egen ”enkla” syntax, Puppet DSL eller Domain Specific Language. Du kan använda anpassade Ruby-moduler också.
  • Utäckande rapporteringsmöjligheter
  • Stort bibliotek med befintliga moduler i Puppet och modulerna är av blandad kvalitet.
  • Webbibliotekets användargränssnitt finns endast tillgängligt i företagsversionen
  • Enklare arkitektur: Puppet-server och Puppet-agenter
  • Puppet är en effektiv och skalbar mjukvarulösning för hantering av konfigurationer av ett stort antal enheter.
  • Systemadministratörer använder Puppet för att hantera beräkningsresurser som fysiska och virtuella servrar och nätverksenheter.
  • Puppet distribueras med hjälp av ett klient/server-arrangemang, där servern eller Puppet-mastern hanterar en eller flera klientnoder.

Varför Chef?”

Chef är komplext, men snabbt och kraftfullt, det är en automatiseringsplattform som omvandlar infrastruktur till kod. Många Devops Services Company väljer att anta Chef eftersom det ger dem möjlighet att behandla sitt system som objekt eftersom med användarvänlighet kommer en brist på robusthet. Chef liknar Puppet när det gäller det övergripande konceptet, i och med att det finns en huvudserver och agenter installerade på hanterade noder, men det skiljer sig i den faktiska distributionen med Devops Solutions & Services.

  • Extensiv Ruby-syntax för konfigurations-”recept”: detta ger en högre inlärningskurva, men mer kraft
  • Webbibliotekets användargränssnitt är standard och gratis.
  • Arkitekturen är mer komplex: du behöver en Chef-server, Chef-agenter och en Chef-arbetsstation för konfiguration och hantering.
  • Stort bibliotek med befintliga recept av blandad kvalitet.
  • En enkel installationsprocedur som är plattformsoberoende och självständig.
  • Snabbare prestanda.

Varför Ansible?”

Ansible är skriven i Python och kräver bara att Pythonbiblioteken finns på de servrar som ska konfigureras. Den stöder inte Windows men är mycket enkel, snabb och lätt och skiljer sig helt från Chef och Puppet. Fokus för Ansible är att vara strömlinjeformad och snabb och att inte kräva någon installation av node agent. Ansible utför således alla funktioner över SSH. Många moduler finns tillgängliga, allt från system- och databashantering till molnhantering. Det är relativt enkelt att skriva egna moduler. Många språk stöds, men om du är bekant med python tar det inte mycket tid att skapa en egen modul. De stöder alla centrala tjänster från stora molnleverantörer som AWS, Rackspace, Digital Ocean, GCE, OpenStack etc.

  • Ansible är Python-baserad
  • Den yngsta av dessa tre tekniker, därför med den minsta gemenskapen
  • Fungerar utan agenter, men har många python-beroenden när du väl börjar med komplexa operationer
  • Enkla arkitekturer: allt du behöver är en Ansible arbetsstation och SSH-servrar. Inga agenter och ingen server, men du har Python-beroenden på klientmaskinerna.
  • Webbiblioteket finns tillgängligt, men med begränsade funktioner eftersom det utvecklas separat från huvudprojektet.
  • Skripter och moduler kan byggas i vilket språk som helst, ett begränsat bibliotek tillhandahålls
  • Inget stöd för Windows
  • Enklaste syntax och lägsta inlärningskurva
  • Ansible kan använda Paramiko, en Python SSH2-implementering, eller standard SSH för kommunikation, men det finns också ett accelerationsläge som möjliggör snabbare och mer omfattande kommunikation.
  • Ansible har en samling moduler som kan användas för att hantera olika system samt molninfrastruktur som Amazon EC2 och OpenStack

Puppet eller Chef eller Ansible???

  • Puppet och Chef hjälper utvecklare och utvecklingsorienterad organisation, där Ansible är mycket mer flexibel för systemadministratörernas behov
  • Ansibles enkla gränssnitt och användbarhet passar in i systemadministratörspsykologin, och i en organisation med många Linux- och Unix-system är Ansible jämförelsevis snabb och enkel att köra.
  • Puppet är den mest mogna och bekväma av de tre ur användbarhetssynpunkt, men gedigna kunskaper i Ruby rekommenderas starkt.
  • Puppet är inte lika strömlinjeformad som Ansible, och dess konfiguration kan ibland bli komplex. Det är det säkraste sättet för diverse miljöer, men du kanske tycker att Ansible passar bättre i en större eller mer likartad infrastruktur.
  • Chef har en mycket stabil och väldesignad layout, och även om det inte riktigt når upp till Puppets nivå när det gäller råa funktioner är det en mycket kapabel lösning. Chef kan utgöra den svåraste inlärningskurvan för administratörer som saknar betydande programmeringserfarenhet, men det kan vara den mest logiska lösningen för utvecklingsintresserade personer och utvecklingsorganisationer.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *