ISconf
Inom datoranvändning är ISconf ett mjukvaruverktyg för att hantera ett nätverk av servrar .
ISconf arbetar på en pull-modell, vilket innebär att även servrar som inte är uppe när en ändring görs kommer att få ändringen när de kommer upp igen. Från och med version 4 kräver ISconf ingen central server, även om den förväntar sig att alla servrar startar identiskt, vilket är lättast att åstadkomma med någon form av automatisk installation som kan kräva en central server.
Teori
ISconf kommer från rörelsen "InfraStructure administration" som skapade och definierade de flesta av OS-sidans bakgrunder (i teoretiska termer) av det som nu utgör DevOps- sfären . Det bygger på idén att det bästa sättet att hålla servrar från att divergera är att tillämpa samma uppsättning operationer i samma ordning.
Detta står i motsats till "konvergensteorin" för systemautomatisering, som försöker "konvergera" servrar till kända tillstånd från godtyckliga tillstånd med hjälp av uppsättningar regler som "om ett paket utanför denna uppsättning är installerat, avinstallera det", "om paket X är inte installerat, installera det", eller "om daemon X inte körs, starta det". Enligt Steve Traugott finns det inget sätt att garantera att en given uppsättning regler faktiskt kommer att kunna konvergera från en given stat.
ISconf upprätthåller operationsordning genom att anta att endast kommandon som utfärdas genom den ändrar systemets tillstånd. Som ett resultat, om ett paket eller en fil installeras på ett system manuellt, kommer den att stanna där, vilket så småningom kan orsaka problem som versionskonflikter. ISconf är inriktat på miljöer där konfigurationer måste förbli identiska. I sådana miljöer är det typiskt att endast ett fåtal systemadministratörer ger root-åtkomst till värdar. Detta minimerar risken för manuella ändringar eftersom det är lätt att träna en liten grupp människor att endast göra ändringar genom ISconf.
ISconf inspirerades av och implementerades ursprungligen som Makefiles. Makefiles anger dock beroenden och inte en total ordning av operationer. ISconf version 1 hanterade detta genom att göra varje operation beroende av den föregående, men detta var tråkigt och lämpade sig dåligt för Make. Nyare versioner av ISconf använder en enkel bilaga-dagbok.
Större versioner
Den vanligaste versionen var tydligen ISconf2 och ISconf3, medan ISconf4 stannade i en mycket lång betaperiod. Det hade faktiskt färdigställts och använts i större miljöer, men på grund av förseningen sågs begränsad användning av samhället.
- ISconf 1 (Makefiler)
- ISconf 2 (tidigt 200x?) skrivet av Steve Traugott
- ISconf 3 (2002) var en omskrivning av version 2 av Luke Kanies.
- ISconf 4 skrevs mestadels av den ursprungliga författaren, Steve Traugott.
Trivia
Luke Kanies bytte senare till CFengine2 , tills han till slut skrev och släppte Puppet . Som ett resultat skulle man kunna betrakta ISconf som en förfader till Puppet, även om både CFengine och Puppet implementerar "konvergens"-modellen för konfigurationshantering, i huvudsak motsatsen till "order of operations"-modellen implementerad av åtminstone ISconf version 1, 2 och 4.
Se även
externa länkar
- ISconfs webbplats
- Bootstrapping an Infrastructure , Steve Traugott och Joel Huddlestons LISA '98-uppsats om idéerna som ledde till ISconf (före daterar ISconf själv)
- Lukes beskrivning av ISconf 3 teoretiska bakgrund och mål
- Teoriavdelning och e-postlistarkiv för systemhanteringsautomation
- Github Repository för ISconf4