
Ich freue mich sehr, endlich Operon vorstellen zu können , den Hochleistungsersatz für Ansible Engine. Operon ist für große Installationen konzipiert und wird im Abonnement vertrieben. Es startet vorhandene Playbooks, Module, Plug-Ins und Tools von Drittanbietern ohne Änderungen mithilfe einer fortschrittlichen Engine und erhöht die tatsächliche Anzahl der in einem Lauf adressierten Knoten erheblich. Dies spart möglicherweise Stunden bei jedem Anruf.
Operon wird sowohl separat als auch zusammen mit Ansible Engine installiert : Sie können Ihre Projekte schrittweise darauf übertragen oder beim Start verwenden, wenn Sie dies wünschen.
Unten sehen Sie eine grafische Darstellung des Laufs für 416 common.yml-Tasks aus DebOps 0.7.2, die über SSH bereitgestellt wurden:

Im Vergleich zu sauberem Ansible Operon wird die Laufzeit pro Knoten um etwa 60% reduziert. Bei Massenstarts ist der Vorteil jedoch viel größer. Sehen Sie sich an, wie sich die Betriebszeit erhöht (Hardware: 24 GB, 8-Kern-Xeon E5530; Bereitstellung auf virtuellen Maschinen der Google Cloud über SSH in 18 ms):

Für jeden Lauf wurden 416 Aufgaben auf jedem Knoten ausgeführt, einschließlich Schleifenelementen. In einem Lauf von 1024 Knoten wurden 540 496 Aufgaben in 54 Minuten erledigt. durchschnittlicher Durchsatz - 151 Aufgaben / Sekunde. Die horizontale Skalierung ist offensichtlich: fast 4x, von 256 bis 1024 Knoten.
Der Ansible-Lauf mit 256 Knoten musste abgebrochen werden: Über einen langen Zeitraum wurden keine Ergebnisse erzielt, viele Male neu gestartet, wodurch die Anzahl der Prozesse von 40 auf 10 reduziert wurde, damit Ansible seine RAM-Ressourcen nicht erschöpft. Mit 13 Prozessen hätte es vielleicht geklappt, aber wir mussten weitere Versuche ablehnen: Wir haben bereits 2 Tage Maschinenzeit verbracht.
Für den letzten Lauf erledigte Ansible vor dem Abbrechen 89% der Aufgaben in 6 Stunden und 13 Minuten:

Operon, das bei jedem parallelen Lauf auf allen Knoten bereitgestellt wird. Wenn 1024 Prozesse auf 8 Kernen ausgeführt werden, steigt die Last kaum merklich an, und auf 24 Kernen steigt die Anzahl der Prozesse auf 6144. Wenn wir dieselbe Anzahl von Aufgaben auf dieser Anzahl von Knoten ausführen, nur mit 16 Kernen, denken wir, dass wir ausgeführt werden könnten Fertig nicht in 54 Minuten, sondern in 27.
Der Speicherverbrauch ist sehr vorhersehbar und weitgehend von Prozessen getrennt. Mit 256 Prozessen verbraucht Operon viermal weniger als Ansible mit 10; Gleichzeitig verbraucht der Prozessor mindestens 15-mal weniger Prozessorzeit.

Hier nimmt die Kurve ab: Ansible läuft auf 64 Knoten mit 40 Prozessen, während Läufe auf 256 Knoten ab 10 ausgeführt werden. Ansible-Läufe auf 256 Knoten dauerten 1,6 GBit / Prozess; Unabhängig von den verfügbaren RAM-Ressourcen wurde daher eine starke Einschränkung der erreichbaren Parallelität geschaffen.
Operon ist ein neuer Schritt im Entwicklungsansatz, der mit Mitogen for Ansible eingeführt wurde . Es erbt die massiven Verbesserungen der Leistung auf niedrigem Niveau, die von Tausenden von Benutzern benötigt werden:


Nicht nur Software
Produktivität ist ein Nebeneffekt des kulturellen Wandels hin zu mehr Benutzerorientierung, Kompatibilität und Internalisierung von Kosten. Wir haben etwas zu zeigen, aber damit Sie den Geschmack des neuen Produkts voll und ganz erleben können, freue ich mich, Ihnen mitteilen zu können, dass die Playbook-Syntax mit direkter Kompatibilität garantiert wird - zusätzlich zur Wiederherstellung einiger veralteter Ansible Engine-Konstrukte.
umfassen :
- include: "i-will-always-work.yml"
"mit" Schleifen
- debug: msg={{item}} with_items: ["i", "will", "always", "work"]
"Squash-Aktionen"
- apt: name: "{{item}}" with_items: ["i", "will", "always", "work"]
Bindestriche in Gruppennamen
$ cat hosts [i-will-always-work.us.mycorp.com] host1
Hash-Merge
# I will always work [defaults] hash_behaviour = merge
Operon-Sendungen mit einer mit Ansible 2.9 kompatiblen Syntax werden laufend unterstützt , und das Deaktivieren der Syntax in Ansible Engine wird Operon in Zukunft nicht mehr beeinträchtigen. Solche Änderungen schaden Arbeitsinstallationen, ohne ihre Funktionen zu verbessern, und sie sind die Hauptarbeitsquelle, um Fehler während Aktualisierungen zu beheben.
Im Laufe der Zeit erstreckt sich diese Garantie auf die Semantik der Engine und darüber hinaus.
Wie mache ich mit?
Zunächst wird Operon mit Unterstützung von Network Genomics vertrieben . Dies ist eine Erfahrung und Verpflichtung zu einem Service, den Sie sonst nirgendwo bekommen. Wenn Ihr Team jahrelang in der Bereitstellungsfalle steckt oder es leid ist, Updates zu reparieren , sollten Sie eine Bewertung anfordern und mir unverzüglich eine E-Mail schreiben - für Fragen und unverständliche Punkte.
Die beste Software ist gemeinfrei, daher wird eine öffentliche Veröffentlichung stattfinden, wenn wir in der Lage sind, ein bestimmtes Maß an kostenlosem Support bereitzustellen. Abonnieren Sie unseren Newsletter , um rechtzeitig über zukünftige Versionen informiert zu werden.
Verbessert Operon die Windows-Leistung?
Ja Wenn Sie während Ihrer Windows-Bereitstellung Leistungsprobleme haben, bleiben Sie vorerst auf dem Laufenden.
Verbessert Operon die Leistung von Netzwerkgeräten?
Ja Operon präsentiert eine architektonische Neugestaltung, die weit über die Transportschicht hinausgeht und für alle Arten von Verbindungen gleichermaßen anwendbar ist.
Ist Operon ein Ansible-Ableger?
Nein. Operon ist eine inkrementelle Neufassung der Engine, einer kleinen Komponente von etwa 60.000 Codezeilen, von denen etwa ein Viertel ersetzt wurden. Jede Ansible-Installation enthält ungefähr 715.000 Leitungen, von denen die überwiegende Mehrheit wie Operon unabhängig von der großen Ansible-Community unterstützt wird.
Wird sich die Operon Ansible Engine verbessern?
Ja Operon fördert bereits eine Verbesserung innerhalb von Ansible Engine, und da es sich um eine Verfeinerung handelt, besteht ein Anreiz, einen Beitrag zu leisten und den Code gegebenenfalls zu korrigieren.
Ist Operon Freeware?
Ja Operon wird unter derselben GPL wie Ansible veröffentlicht, und Sie können den Code unter dieser Lizenz frei verwenden.
Bricht Operon die Kompatibilität?
Nein. Operon verletzt nicht die Kompatibilität mit den Standardmodulen, Plug-In-Schnittstellen oder dem umgebenden Ansible-Ökosystem und plant nicht, diese zu verletzen. Kompatibilität - vor allem: Sie sollten nicht hinter zukünftigen Verbesserungen zurückbleiben und die Abwärtskompatibilität vergessen, z. B. eine verbesserte Stabilität der Syntax des Playbooks.
Benötige ich Operon, wenn ich Pläne für nur einen Knoten habe?
Operon stellt die fortgesetzte Wettbewerbsfähigkeit der Fähigkeiten sicher, in die Sie so viel investiert haben. Es bietet eine erhöhte Flexibilität, die es bisher einfach nicht gab: die Freiheit, einen Motor zu wählen. Mit Operon gewinnen Sie, auch wenn Sie es nicht direkt verwenden.