Hallo zusammen, ![]()
es ist nicht einfach zu beginnen, da ich nicht genau weiß was ein guter Einstiegspunkt zu dieser Themenstellung ist.
Überall tönt es: “Ansible ist einfach”. Überall wird die Simplizität von Ansible gelobt und hervorgehoben. Jedoch ist es mein Eindruck dass Ansible nicht so einfach ist. Ich kann mich irren, deshalb lege ich meine Sichtweise hier dar und hoffe dass mir neue Perspektiven eröffnet kann.
Wenn ich das richtig verstanden habe soll ein Ansible Playbook eine kompakte und übersichtliche deklarative Aufgabenbeschreibung sein, die mehr oder weniger selbsterklärend sein sollen. Die Abbildung komplexer Kontrollstrukturen, so fern möglich, führen schnell zur Unübersichtlichkeit. Das habe ich versucht, z.B. mit verschachtelten Includes, und dies führte zu schwer lesbaren Playbooks. Nun experimentiere ich mit Ansible Modulen um eine komplexe Automatisierungslogik abzubilden. Jedoch verschiebt das nach meinem Dafürhalten die Komplexität, die ja abgebildet werden muss, aus dem Ansible Playbook heraus an eine andere Stelle, dem Ansible Modul. Ergänzend erwähnen möchte ich noch, dass ich eine Kollektion die den von mir gewünschten Aufgabenumfang abdeckt nicht finden konnte. Nun nehme ich zwei Tätigkeitsrollen ein, die des Automatisierers und die des Software-Entwicklers. Was mir bisher nicht klar war ist die Trennung der Abbildung von einfacher und komplexer Automatisierungslogik.
Dies führt mich zu folgenden Fragen:
- Ist es tatsächlich so, dass in den Ansible Playbooks die einfache Automatisierungssequenz abgebildet wird, während in Ansible Modulen, Rollen, etc. die Komplexität abgebildet wird, die für die Automatisierung notwendig ist, die dann vom Playbook verwendet wird?
- Wenn dem so ist, bezieht sich dann die Aussage, dass Ansible einfach sei, auf die Playbook-Perspektive, d.h. unter Vernachlässigung der Komplexität die in den Modulen, Rollen, etc. abgebildet sind aber vom Playbook genutzt werden?
- Wenn dem so ist folgere ich daraus, wenn ich einen komplexen IT-Prozess mit Ansible automatisiere und für meinen Anwendungsfall steht keine öffentliche Ansible Kollektion oder ähnliches zur Verfügung habe ich zwei Tätigkeitsrollen zu bedienen: Die des Automatisierers für das Ansible Playbook und die des Software-Entwicklers für die Ansible Module, etc. Sehe ich das richtig?
Nun noch eine Frage die mich sehr beschäftigt aber außerhalb des oben beschriebenen Kontextes steht:
Es werden sehr viele Kollektionen, Rollen, etc. angeboten. Das Finden der Richtigen stellt sich für mich ein bischen wie die Suche der Nadel im Heuhaufen dar. Nicht nur das, oftmals verwenden unterschiedliche Kollektionen für gleiche oder ähnliche Anwendungsfälle völlig andere Ansätze oder andere Bezeichnungen. Manchmal ist eine Dokumentation unvollständig, falsch oder gar nicht vorhanden. So ist es manchmal erforderlich den Quelltext zu analysieren. Gibt es bewährte Verfahren um damit effektiv umzugehen?
Vielen Dank für die Beantwortung meiner Fragen.
Beste Grüße
Stefan