BLOG

Auswählen von Ansible oder Terraform für F5- Application

Lori MacVittie Miniaturbild
Lori MacVittie
Veröffentlicht am 30. September 2019

Wählen Sie das eine oder das andere – oder beides – um F5- Application bereitzustellen und zu betreiben.

Der Schwerpunkt der Open-Source-Bewegung lag schon immer auf Freiheit. Die Freiheit, die Lösung zu wählen, die angesichts Ihrer Fähigkeiten, Ihres Budgets, Ihrer Architektur und Ihrer Ziele am besten für Sie geeignet ist. Dieses Prinzip ist auch heute noch ein wichtiger Faktor, wenn es um den Aufbau einer wiederholbaren Infrastruktur für die Bereitstellungspipeline geht.

Es gibt viele großartige Optionen zur Automatisierung der Bereitstellung und des Betriebs von Application . Zwei der beliebtesten Optionen sind RedHat Ansible und HashiCorp Terraform. 

Lassen Sie mich hier anhalten und erwähnen, dass F5 Ansible und Terraform vollständig unterstützt. Wir arbeiten mit beiden zusammen, um Interoperabilität und Integration sicherzustellen, damit Sie das nicht tun müssen. Ganz gleich, wofür Sie sich entscheiden: Wir unterstützen Sie.

Bei Kundeneinsätzen haben wir jedoch festgestellt, dass Ansible bei manchen Aufgaben herausragend ist, während bei anderen Terraform glänzt. Das liegt daran, dass die Automatisierung und Wartung einer Pipeline unterschiedliche Aufgaben erfordern.

Terraform zeichnet sich durch Orchestrierung aus – die Verwaltung des Zustands einer Umgebung. Das bedeutet, dass Terraform versteht, wie eine Umgebung aussehen und wie sie sich verhalten soll. Wenn etwas nicht stimmt, kann Terraform es zur Überprüfung markieren.

Ansible zeichnet sich durch hervorragendes Konfigurationsmanagement aus. Das heißt, der Fokus liegt auf der Zustandserhaltung einzelner Komponenten. Wenn es ein Problem mit einer einzelnen Komponente in der Umgebung gibt, kann Ansible die Konfiguration anpassen, um das Problem zu beheben. 

Da die einzelnen Tools unterschiedliche Schwerpunkte haben, ist es keine Überraschung, wenn sie zusammen zur Automatisierung des Bereitstellungslebenszyklus verwendet werden. 

Um zu sehen, wie diese beiden Tools mit F5 Application Services funktionieren, empfiehlt es sich, anhand einer Ansicht des Bereitstellungslebenszyklus eine gemeinsame Basis festzulegen: 

Bereitstellungslebenszyklus

So wie es einen Lebenszyklus für Applications mit einer entsprechenden Bereitstellungspipeline gibt, gibt es einen Lebenszyklus für Application mit einer entsprechenden Bereitstellungspipeline. Dieser Lebenszyklus erfordert mehrere Schritte:

  1. Bestimmung
    A. Unter Provisioning versteht man den Vorgang des tatsächlichen Hochfahrens einer Instanz – sei es eine virtuelle Maschine oder ein Container, sei es in einer öffentlichen oder privaten Cloud.
  2. An Bord
    A. Onboarding ist erforderlich, um das Netzwerk einzurichten, das für den Betrieb in der Umgebung erforderlich ist, in der BIG-IP bereitgestellt wurde.
  3. Einsetzen
    A. Während der Bereitstellungsphase des Lebenszyklus wird ein Application definiert, konfiguriert und gestartet.
  4. Arbeiten
    A. Laufende Vorgänge erfordern Überwachung und Analyse. F5 Telemetry Streaming ermöglicht die Einbindung von BIG-IP in Telemetrie-Pipelines, um gewünschte Messgrößen und Daten zu teilen.
  5. Ändern
    A. Unter Änderung versteht man den Vorgang der Modifizierung vorhandener Konfigurationen (die zunächst während der Bereitstellungsphase festgelegt werden).

Sowohl Ansible als auch Terraform können der primäre Automatisierungsanbieter für alle fünf Phasen sein. Da jedoch beide Methoden ihre Stärken in unterschiedlichen Phasen haben, kann die Verwendung beider Methoden tatsächlich die bessere Strategie sein. Wir werden Ansible eher in den Bereitstellungs- und Änderungsphasen (Konfigurationsverwaltung) sehen, während Terraform häufiger für die Bereitstellung und das Onboarding (Orchestrierung) genutzt wird.

Ansible und Terraform zusammen

Wir wissen auch, dass viele Kunden ihre Toolchains standardisieren möchten – aus gutem Grund. Es kann schwierig sein, die Fachkompetenz für mehrere Tools aufrechtzuerhalten – ganz zu schweigen vom Betrieb und der Wartung der Infrastruktur, die für die Ausführung mehrerer Toolchains erforderlich ist. In diesem Fall gibt es Möglichkeiten, auszuwählen, welches dieser großartigen Tools als Standard verwendet werden soll.

  1. Seltene Änderungen an der Infrastruktur
    In diesem Szenario nehmen Sie Änderungen an Application vor, aber nicht unbedingt an der Infrastruktur, d. h. BIG-IP. Dies ist häufig der Fall, wenn ein vorhandenes BIG-IP zum Bereitstellen neuer Applications genutzt wird. Ansible ist hier eine gute Wahl, da es sich hervorragend für das Konfigurationsmanagement eignet und dies ist Ihre Hauptaufgabe. Ansible unterstützt eine breite Palette an Sprachen und API-Stilen und eignet sich daher hervorragend für DevOps- und NetOps-Teams, um Änderungen an Application vorzunehmen. Sie können Ansible verwenden, um F5- Application über F5-Ansible-Module oder über F5 AS3 zu konfigurieren. Oder Sie können je nach Ihren spezifischen Anforderungen beides verwenden. Um ausführlichere Informationen zur Auswahl Ihres Ansible-Ansatzes zu erhalten, lesen Sie diesen großartigen Blog von Mani Gadde und Andrius Benokraitis .
  2. Häufige Änderungen an der Infrastruktur
    Die Cloud – insbesondere die öffentliche Cloud – wird häufig gewählt, um ein hohes Maß an Änderungen an Applications und der unterstützenden Infrastruktur zu ermöglichen. Eine unveränderliche Infrastruktur hilft in dieser Situation häufig bei der Bewältigung der Volatilität, d. h. beim Abbau und Neuaufbau einer gesamten Infrastruktur. Terraform ist für dieses Szenario eine hervorragende Wahl, da es sich durch die schnelle Bereitstellung und Einbindung ganzer Infrastrukturen auszeichnet. Sein Design und sein Fokus auf Orchestrierung eignen sich gut für die Erstellung konsistenter, wiederholbarer Infrastrukturen im großen Maßstab, insbesondere in volatilen Umgebungen wie der Cloud. 
  3. Häufige Änderungen an der Infrastruktur und den Application
    Terraform + Ansible können eine großartige Kombination für die Verwaltung hoher Änderungsraten sowohl in der Infrastruktur als auch bei den Application sein. Da Sie mit häufigen Änderungen des Zustands der Umgebung und einzelner Komponenten rechnen, benötigen Sie sowohl Änderungsmanagement- als auch Orchestrierungstools , um die Verfügbarkeit von Applications und den unterstützenden Application aufrechtzuerhalten.

Egal, wofür Sie sich entscheiden – Ansible, Terraform oder beides – F5 unterstützt Sie bei Ihrer Wahl mit nativen Integrationen und vorgefertigten Vorlagen sowie einer Community, die beides aktiv beiträgt und verfeinert.