Wie vergleiche ich Konfigurationswerkzeuge? Ansible vs. Puppet

Dosenlimonade

Cadet 2nd Year
Registriert
Juni 2017
Beiträge
20
Hallo zusammen,
mein Prof. hat mir ein scheinbar interessantes Thema für meine Bachelorarbeit vorgeschlagen aber bevor ich diese anmelde möchte ich sicher sein, dass ich dann auch weiß was zu tun ist. Grundidee ist der Vergleich von zustands und aktionsorientierten Konfigurationstechniken am Beispiel von Ansible und Puppet. Ich hatte mit den beiden Tools bisher noch keinen Kontakt und habe auch noch nie einen derartigen Vergleich durchgeführt. Ziel ist es die Werkzeuge zu erproben -> vergleichen -> empfehlungen zum Einsatz abzuleiten.

Ansible vs. Puppet:
Brainstorming: Wie vergleich ich zwei Konfigurationswerkzeuge? / Was interessiert dich? / Tolle Methoden?

Meine Ideen soweit sind:
Skalierbarkeit – Gibt es Grenzen ab der das eine oder andere Tool erhebliche Vorteile mit sich bringt?
Erweiterbarkeit – Wie einfach kann man die Tools an besondere Bedürfnisse anpassen?
‚Updatebarkeit‘ – Gibt es Probleme wenn man auf neuere Versionen updaten will?
Einrichtung – Vergleich Master-Agent vs Master-Node
Funktionsweise – Vergleich Push vs Pull / sofortige remote Ausführung vs. nicht sofortige remote Ausführung
Sicherheit und Stabilität - Vergleich Multi Master Architektur vs Primary / Secondary Instance, Rollback möglich?
Benutzung - Vergleich der Sprachen Puppet DSL vs YAML (Ansible), Vergleich von Troubleshooting Aufwand?
Kompatibilität zu Betriebssystemen, Ab welcher Version, Potentielle Probleme
Marktanalyse Popularität + Kundenprofil, Aktivität (Updates etc.)

Als Methoden:
- Testen auf eigenem System (ein paar VM erstellen und diese mit den beiden Tools konfigurieren)

Ich freue mich über jeglichen Tipp! Beste Grüße!
 
Hey,

vorweg: Halte ich für ein spannendes und wsl. noch lange nicht überflüssiges Thema.

Ich habe bei meinen Arbeiten regelmäßig die Erfahrung gemacht, dass es schwer ist Prof. oder Auftraggeber (Was bei dir evtl. die gleiche Person ist) zufrieden zu stellen, wenn es keine vereinbarte Liste von Anforderungen gibt.

Zum einen kannst du bei Existenz einer solche Liste die Größe der Arbeit eingrenzen, was bei einem solchen Thema, meines Erachtens nach, definitiv sinnvoll wäre. Außerdem hast du dann eine "To-Do List" die dir Hilft, genau die Frage deine Posts zu beantworten: "Was muss ich eigentlich tun".

Zwei so große und mächtige Systeme "einfach zu vergleichen" führt glaube ich in ein Labyrinth. Auch aus dieser Sicht plädiere ich dafür, eine Fallstudie oder eben konkrete Anforderungen daran zu messen.

Zu deinen Ideen: Klingen alle gut, sind aber auch schon gar nicht wenig. Alleine die Marktanalyse wäre vllt für einen WiInf-Studiengang schon eine gesamte BA, also nimm dir nicht zuviel vor.

Was mir noch etwas fehlt: Lizenzen, Support, Community => Alles für den betrieblichen Einsatz wichtige Punkte.

Hoffe mit meinen Gedanken kannst du etwas anfangen. Hab leider auch die Erfahrung gemacht, dass sich der genaue Fokus meistens erst nach Beginn der Arbeit bildet ;)

Viel Erfolg!

Saphirim

PS: Was mir grade noch kommt, vllt. kannst du ja die Frage "Wie vergleiche ich ...." zum Teil der Arbeit machen, also die relevanten Kriterien finden, argumentieren, warum diese relevant sind und priorisieren! Sowas könnte dann in einer Art Framework für Entscheidungsträger enden. (Oder du machst aus der Frage zumindest ein gewichtiges Kapitel deiner Arbeit, sodass du am Ende sagen kannst: "Anhand der zentralen Kriterien (Siehe oben) ist zu empfehlen...." )
 
Zuletzt bearbeitet: (Weiterer Gedanke...)
Herzlichen Dank!
ich finde es auch ein sehr interessantes Thema, deswegen hab ich es auch gewählt obwohl es nicht wirklich zu meinen Stärken passt ... dann lernt man direkt noch ein bisschen! ;)

So eine To-Do Liste wäre tatsächlich wunderbar aber ich glaube der Prof. sieht es als meine aufgabe diese auszuarbeiten und ihm dann zur abstimmung vorzulegen - das ist zumindest das woran ich gerade sitze :)

Mit "Lizenzen, Support, Community" werde ich definitiv auf die Liste aufnehmen und vorschlagen! Bin mir aber nicht ganz sicher ob ich die Themen überhaupt mit meinem aktuellen können entsprechend den Maßstäben einer wissenschaftlichen Arbeit auswerten kann.

Hast du vielleicht eine Idee wie eine solche Fallstudie aussehen könnte? Z.B die Bereistellung mehrerer Apache-Server?

*Edit: Ich würde dann aktuell eine Hypothese dieser Art formulieren und dann versuchen zu beantworten: "Die Eignung der Konfigurationswerkzeuge Ansible und Puppet unterscheidet sich je nach Anwendungsszenario."
 
Zuletzt bearbeitet:
Hi,

Klingt soweit immerhin überlegt :) Das ist ein gutes Zeichen, besser als sich blind reinzustürzen.

Fallstudie: Verwaltung der Uni/Hochschul-Rechner (Also der Rechner der Angestellten, im RZ, Informatik-Labors) mit einem der Tools.

Oder, wovon ich immer ein Fan bin, die Arbeit mit einem Unternehmen verknüpfen. Kann man in vielerlei Hinsicht profitieren: Evtl. gibts ein Honorar, man knüpft Kontakte, Türöffner für Festanstellungen, ...

Deine Hypothese halt ich soweit für korrekt, allerdings wirst du dich auch daran wieder abarbeiten, weil die zu prüfenden Anwendungsszenarien eben (so wie dus eben formuliert hast) keine abgeschlossene Menge sind. => Und dann müsstest du quasi zum einen "alle" Szenarien entweder Ansible oder Puppet zuordnen und zum anderen belegen, dass du "alle" Szenarien gefunden hast. (Thema wissenschaftliches Arbeiten etc...)

Ich glaube aber, nachdem du dir jetzt schon so viele, sinnvolle Gedanken machst, bist du auf einem guten Weg! Grenze die Arbeit zusammen mit deinen Ansprechpartner ein und findet eine gemeinsame Agenda. Dass du bei dem Thema viel neues lernst, und falls ein Hands-On Teil dabei ist, einige Frust-Momente dabei sein werden gehört für mich zum Job ;)

Gruß,

Saphirim
 
Zurück
Oben