STUDIE

Automatisierung der Anwendungsservices von F5: Ein Praxishandbuch

Published May 13, 2019
  • Share via AddThis

Einleitung

Die Automatisierung der Bereitstellungs- und Konfigurationsverwaltung von Anwendungsbereitstellungs- und Sicherheitsprodukten ist zu einer nahezu obligatorischen Praxis geworden. Im FutureScape-Bericht 2017 der IDC zählten Automatisierung und Multi-Cloud-Verwaltung zu den wichtigsten Initiativen, die sich bis 2021 auf Unternehmen auswirken werden.1 Die Automatisierung bringt Skalierung, Zuverlässigkeit und Integration in die Bereitstellung der grundlegenden Sicherheits-, Optimierungs- und Verfügbarkeitsdienste, die Anwendungen benötigen – und macht ihre Bereitstellung zu einem Teil der orchestrierten Build-, Test- und Bereitstellungsworkflows, die sich als das vorherrschende Modell der Anwendungsbereitstellung herausbilden.

Selbst eine einfache Automatisierung von grundlegenden Aufgaben, wie dem Hinzufügen neuer virtueller Server oder Poolmitglieder, kann einem Betrieb die Möglichkeit geben, Anwendungsbesitzer oder andere automatisierte Systeme mit Self-Service-Funktionen auszustatten, damit diese ihre Zeit für produktivere Arbeit nutzen können, z. B. für den Aufbau der nächsten Welle an Automatisierungstools.

Die Notwendigkeit der Automatisierung gewinnt noch weiter an Bedeutung, wenn ein Unternehmen beginnt, mehrere Cloud-Plattformen für die Bereitstellung von IT-Services zu nutzen. Wenn Sie versuchen, Dienste an mehreren Standorten mit unterschiedlichen Plattformeigenschaften bereitzustellen, kann die Automatisierung dazu beitragen, die Auswirkungen des erhöhten Betriebsaufwands zu verringern und Fehler aufgrund der fehlenden Vertrautheit mit neuen Plattformen zu vermeiden.

Wie aber geht so eine Automatisierung vor sich und was soll automatisiert werden? Bei verschiedenen Betriebsmodellen, Schnittstellen und Sprachen kann eine Automatisierungssoftware auf Einzelgeräteebene oder in Form einer komplexeren Kombination aus systemübergreifenden Tools arbeiten. Infrastructure-as-a-Service (IaaS)-Cloudplattformen bieten ihre eigenen systemeigenen Tools zur Bereitstellung virtueller Infrastrukturen und Dienste. Darüber hinaus bietet F5 eine Reihe von Schnittstellen und Orchestrierungsoptionen. Während diese Vielzahl an Tools und Optionen Ihnen die Möglichkeit gibt, jene Automatisierungsmethode zu wählen, die am besten zu Ihrem Unternehmen passt, kann der Auswahlprozess sich als schwierig erweisen, zumal das Risiko besteht, eine zu komplexe Lösung mit zu vielen Tools zu wählen.

In diesem Artikel geben wir Ihnen einen Überblick darüber, wie Sie die Bereitstellung, Verwaltung und Konfiguration der (physischen und virtuellen) BIG-IP-Produkte von F5 automatisieren können, sowie einige Ratschläge zur Auswahl eines für Ihr Unternehmen geeigneten Weges.

Der Lebenszyklus der Automatisierung

Es gibt eine Reihe wichtiger Automatisierungspunkte im Lebenszyklus der Bereitstellung von Anwendungsdiensten. Abhängig von Ihrem Infrastrukturmodell und Ihren Anwendungsbereitstellungsmethoden müssen Sie möglicherweise alle oder nur wenige von ihnen entwickeln.

Wenn Sie Dienste auf einem physischen oder virtuellen mehrinstanzenfähigen BIG-IP-System mit hoher Kapazität bereitstellen, haben Bootstrapping- und Onboarding-Aktivitäten keine hohe Priorität im Vergleich zur Bereitstellung, Überwachung und Aktualisierung der Konfigurationen der Anwendungsdienste für die unzähligen Anwendungen, die sie unterstützen.

Wenn Sie sich ein Bereitstellungsmodell ansehen, bei dem jede Anwendung über eigene BIG-IP-Instanzen in mehreren Umgebungen verfügt – einschließlich potenziell kurzlebiger Instanzen, die bei Bedarf für Test- und Qualitätssicherungszwecke erstellt wurden – dann ist die Automatisierung der Bootstrapping- und Onboarding-Prozesse ebenso wichtig wie die Bereitstellung der Anwendungsservices selbst.

Abbildung 1. Je nach Infrastrukturmodell und Anwendungsbereitstellungsmethoden in Ihrem Unternehmen können verschiedene Elemente des Automatisierungslebenszyklus eine höhere oder niedrigere Priorität haben.

Unabhängig von Ihrer Umgebung und der Anzahl der zu automatisierenden Prozesse gibt es ein paar Schwerpunktthemen, die zu berücksichtigen sind.

Automatisierung: Einige Entscheidungsfaktoren

Das Automatisierungsreifespektrum

Von der Automatisierung sind verschiedenste Aktivitäten betroffen. Am einen Ende des Spektrums befindet sich die Entwicklung einfacher Skripte, die in Bash, TMSH, Python oder anderen Sprachen geschrieben wurden und lokal ausgeführt werden können, um manuelle Konfigurationsaktivitäten zu beschleunigen. Am anderen Ende des Spektrums befindet sich ein vollständiges „Infrastructure-as-Code“-System, das Quellcodeverwaltung, Workflow-Orchestratoren und (möglicherweise) mehrere Automatisierungstools kombiniert, um ein System zu schaffen, in dem die Konfiguration der Infrastruktur durch Textdateien definiert und geändert wird, die in einem Repository enthalten sind. Zwischen diesen beiden Extremen liegt eine Reihe unterschiedlicher Optionen, mit denen Sie die Bereitstellung und Konfiguration einer BIG-IP-Plattform verwalten können.

Abbildung 2. Verschiedene Automatisierungsstufen umfassen eine Reihe unterschiedlicher Aktivitäten, von einfachen Skripten bis hin zu komplexen Kombinationen aus mehreren automatisierten Workflows.

Veränderlich vs. unveränderlich

Die meisten aktuellen BIG-IP-Bereitstellungen sind als veränderlich zu betrachten, was bedeutet, dass sich ihre Konfiguration im Laufe der Zeit höchstwahrscheinlich ändert. Dies liegt daran, dass die BIG-IP-Plattform hauptsächlich als mehrinstanzenfähiges Produkt bereitgestellt wird, das Dienste für mehrere Anwendungen bereitstellt. Werden neue Anwendungen bereitgestellt – oder die vorhandenen Anwendungen skaliert oder zusätzliche Dienste erforderlich –, so wird die Konfiguration des BIG-IP-Systems entsprechend aktualisiert. Diese Bereitstellungsmethode ermöglicht es Infrastrukturteams, eine zentralisierte Infrastruktur zu verwalten, die Dienste für Anwendungen von einer gemeinsamen Plattform aus bereitstellt.

Manchmal jedoch werden BIG-IP-Plattformen als Teil eines diskreten Anwendungsstapels bereitgestellt, in dem die Dienste eines bestimmten BIG-IP-Systems an eine bestimmte Anwendung oder einen bestimmten Service gebunden sind. In einem solchen Fall können wir die BIG-IP-Konfiguration als unveränderlich behandeln. Das heißt, die Konfiguration wird beim Booten oder als Teil des Softwareabbilds installiert und während des Lebenszyklus der BIG-IP-Instanz nicht verändert. Konfigurationsänderungen werden vorgenommen, indem das Softwareabbild oder der Inhalt des Start-Agent-Skripts geändert und anschließend erneut bereitgestellt wird. Dieses Modell wird oft als „nuke and pave“ (vernichten und neu erstellen) bezeichnet. Obwohl insgesamt weniger häufig, macht die Verfügbarkeit von neuen BIG-IP-Lizenzierungsmodellen zur Unterstützung von Einzelanwendungsinstanzen, erweiterten Lizenzierungstools und Tools wie F5-Cloud-Bibliotheken (eine Reihe von Node.js-Skripts und Bibliotheken, die Ihnen bei der Integrierung eines BIG-IP-Systems in eine Cloud helfen) dieses Bereitstellungsmodell zu einer praktikablen Option für Unternehmen, die eine Anwendung mit einer kompakten, isolierten Kombination aus Code und Infrastruktur benötigen.

Abbildung 3. Unveränderliche BIG-IP-Instanzen werden im Laufe ihres Lebenszyklus nicht verändert. Stattdessen wird eine neue, aktualisierte Instanz bereitgestellt und die alte Instanz gelöscht. Im Gegensatz dazu können veränderbare BIG-IP-Instanzen während ihres Lebenszyklus Konfigurationsänderungen unterliegen.

Imperativ vs. deklarativ

Es gibt zwei konzeptionelle Modelle, wie Automatisierungsschnittstellen für Verbraucher verfügbar gemacht werden. Die gängigsten Automatisierungsschemata der ersten Welle tendieren zu einem imperativen Modell. Bei imperativen Automatisierungsmodellen muss der Automatisierungsverbraucher in der Regel wissen, was er erreichen möchte und welche Schritte (in der Regel durch API-Aufrufe) konkret erforderlich sind, um dies zu erreichen. Dies bedeutet oft, dass der Verbraucher nicht nur die Konfigurationsdetails hochentwickelter Dienste kennen, sondern auch imstande und bereit sein muss, die Dienste in die Automatisierungstools zu integrieren. Es ist, als würde man ein Sandwich bestellen und müsste jeden Handgriff, der zu seiner Herstellung erforderlich ist, genau beschreiben, anstatt nur nach einem Sandwich zu fragen, in der Erwartung, dass der Sandwichhersteller die einzelnen Handgriffe (und ihre Reihenfolge) kennt.

Im Gegensatz dazu gibt eine deklarative Schnittstelle Verbrauchern (Menschen oder Maschinen) die Möglichkeit, Dienste zu erstellen, indem sie gefragt werden, was sie wollen. Detaillierte Kenntnisse aller erforderlichen Schritte sind nicht erforderlich, da das Automatisierungsziel über vorkonfigurierte Workflows bzw. Servicevorlagen verfügt, mit denen die Konfiguration basierend auf den gewünschten Ergebnissen erstellt wird. Während eine deklarative Schnittstelle eine etwas komplexere Ersteinrichtung erfordert, wird diese Komplexität durch die Einfachheit der Bedienung wettgemacht, sobald geeignete Dienstvorlagen erstellt wurden. Das macht sie im Allgemeinen zum bevorzugte Mechanismus, wenn es darum geht, Automatisierungssysteme zu erstellen.

Direkt oder über ein Verwaltungstool

Eine weitere Entscheidung, die Sie treffen müssen, betrifft die Frage, ob Automatisierungs-API-Aufrufe von Drittanbietertools direkt an das zu ändernde Produkt gerichtet oder über ein zusätzliches Verwaltungstool laufen sollen. Verwaltungstools können Vorgänge abstrahieren und vereinfachen und im Vergleich zu einer direkten Verbindung mit der verwalteten Instanz eine zusätzliche Kontroll- und Protokollierungsebene bieten. Sie sollten jedoch sicherstellen, dass Ihre Verwaltungsebenen in Situationen, in denen schnell Änderungen vorgenommen werden müssen, problemlos zugänglich sind.

Abbildung 4: Verwaltungstools können Automatisierungsaufrufe und Protokollierungen vereinfachen, bringen jedoch im Vergleich zu einem direkt an die verwaltete Instanz gerichteten Aufruf manchmal Abstriche in der Verwaltungsgranularität und -verfügbarkeit mit sich.

API, Start-Agent oder CLI?

BIG-IP-Produkte werden meistens über die REST-API automatisiert, die den Großteil der BIG-IP-Funktionen über ein dokumentiertes Schema verfügbar macht. Die von F5 bereitgestellten Module für Automatisierungstools wie Ansible nutzen die REST-API intensiv. Das Hinzufügen der iControl LX-Funktion ermöglicht zudem die Erstellung eines benutzerdefinierten API-Endpunkts, der von einem einzelnen API-Aufruf aus einen mehrstufigen Vorgang ausführen kann.

Eine weitere gebräuchliche Methode zur Automatisierung der BIG-IP-Konfiguration ist die Verwendung von Start-Agents, die beim Start ausgeführt werden und externe Informationen abrufen können, um die BIG-IP-Plattform zu konfigurieren. Start-Agents werden häufig verwendet, um die Erstkonfiguration von integrierten Produkten durchzuführen und können zusätzliche Skripts und Konfigurationsdateien von Drittanbieter-Websites wie GitHub oder Ihrem eigenen Repository abrufen. Start-Agents können auch verwendet werden, um eine BIG-IP-Plattform vollständig zu konfigurieren, insbesondere wenn Sie eine fixe Einzelanwendungskonfiguration gewählt haben.

Die gebräuchlichste Startkonfiguration ist cloud-init. Sie ist in allen BIG-IP VE-Bildern aktiviert (außer in Microsoft Azure), eignet sich aber am besten für die Verwendung in AWS- und OpenStack-Bereitstellungen. Neben cloud-init stellt F5 eine Reihe von Cloud-Startbibliotheken bereit, um BIG-IP beim Booten zu konfigurieren.

Wenn Sie Start-Agents verwenden, um eine Plattform nach dem Start zu konfigurieren, achten Sie sorgfältig auf Verwaltungsfehler. Dies ist besonders wichtig, wenn externe Quellen verwendet werden, insbesondere wenn eine Instanz möglicherweise als Teil eines Skalierungsereignisses gestartet wird. Wie verhält sich das System, wenn die externen Ressourcen nicht verfügbar sind? Werden zusätzliche „Zombie“-Einheiten erstellt, um mit der Nachfrage Schritt zu halten?

In einigen Fällen können sich Automatisierungssysteme wie Benutzer verhalten und CLI-Befehle ausführen. Obwohl dies gelegentlich Probleme lösen kann, etwa wenn API-Aufrufe nicht vollständig sind, machen der schwierige Support und die Unsicherheit der Lösung diese Methode zum letzten Ausweg.

Vorlagen und Playbooks

Mit Vorlagen und Playbooks lassen sich automatisierte Bereitstellungen und Infrastrukturen mit einem gewissen Standardisierungsgrad schaffen. Ein geeignetes Standardisierungsniveau macht Ihre Infrastruktur robuster und leichter zu unterstützen. Gut erstellte Vorlagen bieten eine deklarative Schnittstelle, bei der die anfordernde Instanz (Benutzer oder Computer) nur die erforderlichen Eigenschaften und nicht die Implementierungsdetails kennen muss. Erfolgt die Bereitstellung ausschließlich über Vorlagen und die Behebung nur durch Korrektur der Vorlagen, kann dies die Qualität des Dienstes verbessern, da Probleme in der Regel nur einmal behoben werden müssen. Die Dienste werden anhand der neuen Vorlage erneut bereitgestellt, und die an der Vorlage vorgenommenen Aktualisierungen verhindern, dass das gleiche Problem ein zweites Mal auftritt.

Plattformintegration

Mithilfe von Plattformintegrationstools lässt sich die Konfiguration von BIG-IP-Diensten in Plattformen, wie etwa private Cloud- oder Containerverwaltungssysteme, einbinden. Die Mechanismen sind je nach Plattform und Implementierung unterschiedlich, lassen sich jedoch im Allgemeinen in drei Modelle untergliedern:

  • Austausch von F5-Services gegen ein bestehendes Plattformkonstrukt
    Bei diesem Modell werden F5-Services unter Verwendung eines vorhandenen Plattformkonstrukts eingefügt. So wird F5 beispielsweise als OpenShift Container Platform-Router herangezogen oder mit dem OpenStack Load Balancing as a Service (LBaaS)-System verwendet. Diese Mechanismen erfordern nur wenige Änderungen an den Betriebsabläufen, da eine plattformfähige Schnittstelle zum Konfigurieren der Dienste genutzt wird und der im Lieferumfang enthaltene Treiber und andere Software die Plattformkonfigurationsrichtlinien nahtlos in eine F5-Konfiguration übersetzen. Denken Sie jedoch daran, dass nur solche Funktionen einfach bereitgestellt werden können, die über die plattformeigene Schnittstelle verfügbar sind.
  • Abonnieren von Plattformereignissen
    Eine weitere gängige Integrationsmethode besteht darin, dass für ein Softwaremodul (z. B. den Container Connector für Kubernetes und Mesos) Ereignisse auf einer Plattform abonniert werden und dann eine Konfiguration auf der Grundlage dieser Ereignisse geändert wird. Sie können auswählen, welche Ereignisse und Services bereitgestellt werden sollen, indem Sie die zu wartenden Anwendungen markieren oder beschriften und die Connector-Software so konfigurieren, dass sie auf Ereignisse mit den erforderlichen Tags überwacht wird.
  • Integration mithilfe von Plattformverwaltungstools
    Viele private Cloud-Plattformen verfügen über Verwaltungssysteme, die für eine Automatisierung konzipiert wurden. VMware verfügt beispielsweise über mehrere Verwaltungs- und Integrationstools, darunter den vRealize Orchestrator (vRO), für den es ein Drittanbieter-Plugin für die BIG-IP-Konfiguration gibt. Ein weiteres Beispiel ist das Plugin für das Vorlagensystem OpenStack HEAT.

Dienstermittlung

Obwohl die Dienstermittlung keine vollständige Automatisierungslösung ist, handelt es sich um eine einfache und leistungsstarke Möglichkeit, BIG-IP-Konfigurationen mit Änderungen in die Umgebung zu integrieren. Bei der Dienstermittlung wird das Cloudsystem regelmäßig über die API abgefragt, um eine Liste von Ressourcen abzurufen, und die BIG-IP-Konfiguration wird entsprechend geändert. Dies ist besonders in Umgebungen nützlich, in denen Ressourcen in Gruppen mit automatischer Skalierung konfiguriert werden, da beim Skalieren der Back-End-Computerressource der Load-Balancer die neuen Ressourcen kennen muss. Die Dienstermittlungskomponenten werden mit F5-Cloud-Autoskalierungslösungen für AWS und Azure bereitgestellt.

Gibt es also ein Automatisierungsschema, das von F5 empfohlen wird? Ja und nein. Es sind so viele Variablen zu berücksichtigen, dass eine rein präskriptive Beratung nicht hilfreich wäre. Wir haben jedoch die wichtigsten Bausteine für Sie zu einer koordinierten Produktfamilie zusammengetragen.

Die Automatisierungstoolkette von F5

Die Familie der Automatisierungstoolketten-Produkte von F5 umfasst grundlegende Automatisierungs- und Orchestrierungsbausteine, mit denen Sie die BIG-IP-Plattformen von F5 in gängige Automatisierungsmuster, wie CI/CD-Toolketten, integrieren können.

Die Automatisierungstoolkette von F5 enthält folgende Schlüsselkomponenten:

  • Application Services 3-Erweiterung (AS3) – Deklarative BIG-IP-Anwendungsdienste Schicht 4–7
  • Declarative Onboarding-Erweiterung (DO) – Deklaratives BIG-IP-Onboarding Schicht 1–3
  • Telemetry Streaming-Erweiterung (TS) – Automatisiertes Streamen der BIG-IP-Telemetrie auf Analysesysteme
  • API Services Gateway (ASG) – Containerlaufzeit für benutzerdefinierte iControl LX-Erweiterungen

Die Familie der Automatisierungstoolketten-Produkte wurde entwickelt, um den Bereitstellungslebenszyklus von Anwendungsservices zu verwalten, von der Plattformbereitstellung (mittels Cloud-Vorlagen) über das Onboarding und die Dienstkonfigurierung bis hin zur erweiterten Telemetrie und Protokollierung zur Sicherstellung der Anwendungsleistung während des Lebenszyklus.

Abbildung 5. Die Familie der Automatisierungstoolketten-Produkte bietet Tools zur Verwaltung des gesamten Lebenszyklus der Anwendung.

Diese wachsende Reihe aus unterstützten Tools ist richtungsweisend für die Automatisierung von F5-Anwendungsdiensten. Das bedeutet jedoch nicht, dass andere Integrationsmethoden nicht existieren oder nicht unterstützt werden – siehe Abschnitt „Andere Automatisierungstools“ des vorliegenden Dokuments.

Application Services 3-Erweiterung

Die Application Services 3-Erweiterung (AS3) von F5 bietet eine einfache und konsistente Möglichkeit, die Bereitstellung von Anwendungsservices der Ebenen 4–7 auf der BIG-IP-Plattform über eine deklarative REST-API zu automatisieren. AS3 verwendet ein gut definiertes Objektmodell, das als JSON-Dokument dargestellt wird. Dank der deklarativen Schnittstelle ist die Verwaltung von F5-Anwendungsdienstbereitstellungen einfach und zuverlässig.

Abbildung 6: Die Application Services 3-Erweiterung (AS3) von F5 bietet eine einfache und konsistente Möglichkeit, die Bereitstellung von Anwendungsdiensten der Ebenen 4–7 auf der BIG-IP-Plattform über eine deklarative REST-API zu automatisieren. AS3 verwendet ein gut definiertes Objektmodell, das als JSON-Dokument dargestellt wird. Dank der deklarativen Schnittstelle ist die Verwaltung von F5-Anwendungsservice-Bereitstellungen einfach und zuverlässig.

Diagramm: Die AS3-Architektur

Die AS3-Erweiterung erfasst und analysiert die Deklarationen und führt die entsprechenden iControl-API-Aufrufe aus, um den gewünschten Endzustand auf dem Ziel-BIG-IP-System herzustellen. Die Erweiterung kann entweder auf der BIG-IP-Instanz oder über den AS3-Container ausgeführt werden – ein separater Container/VM, der die AS3-Erweiterung ausführt und dann externe API-Aufrufe an die BIG-IP vornimmt.

Abbildung 7: Die AS3-Erweiterung erfasst und analysiert die Deklarationen und führt die entsprechenden iControl-API-Aufrufe aus, um den gewünschten Endzustand auf dem Ziel-BIG-IP-System herzustellen. Die Erweiterung kann entweder auf der BIG-IP-Instanz oder über den AS3-Container ausgeführt werden – ein separater Container/VM, der die AS3-Erweiterung ausführt und dann externe API-Aufrufe an die BIG-IP vornimmt.

AS3-Aufrufe können auch über BIG-IQ getätigt werden, ein Produkt, das die Lizenzierung, Verwaltung, Visualisierung und Zugriffssteuerung für BIG-IP-Plattformen übernimmt und die Cloud-Edition von F5 unterstützt, die bedarfsgesteuerte Einzelanwendungsinstanzen von BIG-IP mit leistungsstarken Analysen vereint.

Abbildung 8: AS3-Aufrufe können auch über BIG-IQ ausgeführt werden.

Declarative Onboarding-Erweiterung

Die Declarative Onboarding-Erweiterung bietet eine einfache Schnittstelle, um eine F5 BIG-IP-Plattform von kurz nach dem ersten Start bis hin zur Bereitstellung der Sicherheits- und Datenverkehrsverwaltung für Anwendungen zu nutzen. Dazu gehören Systemeinstellungen wie Lizenzierung und Vermittlung, Netzwerkeinstellungen wie VLANs und Self IPs sowie Clustering-Einstellungen, wenn Sie mehr als ein BIG-IP-System nutzen.

Nach Abschluss des Onboarding-Prozesses können die Anwendungsdienste mit dem von Ihnen gewählten Automatisierungsprozess (oder manuellen Prozess) bereitgestellt werden.

Declarative Onboarding nutzt ein JSON-Schema, das dem AS3-Schema entspricht, und verfügt über eine ähnliche Architektur. Declarative Onboarding wird als TMOS-unabhängiges RPM bereitgestellt, das im ersten Schritt der Onboarding-Phase auf einem neu gestarteten BIG-IP-System installiert wird.

Telemetry Streaming-Erweiterung

BIG-IP ist ein leistungsstarker Generator für Anwendungs-, Sicherheits- und Netzwerktelemetrie. Die Telemetry Streaming-Erweiterung bietet eine deklarative Schnittstelle zum Konfigurieren des Streamens von Statistiken und Ereignissen an Drittanbieter, wie z. B.:

  • Splunk
  • Azure Log Analytics
  • AWS CloudWatch
  • AWS S3
  • Graphite

Wie bei den übrigen Mitgliedern der Familie der Automatisierungstoolketten-Produkte wird die Konfiguration über eine deklarative Schnittstelle mithilfe eines einfachen, konsistenten JSON-Schemas verwaltet.

API Services Gateway

Das API Services Gateway ist ein Docker-Containerabbild, mit dem benutzerdefinierte iControl LX-Erweiterungen auf einer TMOS-unabhängigen Plattform ausgeführt werden können. Auf diese Weise können Sie Ihre F5-Bereitstellungen skalieren und verwalten, indem Sie Verwaltungsvorgänge von den einzelnen BIG-IP-Plattformen abstrahieren.

Cloud-Vorlagen – Teil der Lösung, aber (noch) nicht Teil der Produktfamilie

Cloud-Vorlagen nutzen die Bereitstellungsautomatisierungsfunktionen öffentlicher und privater Clouds, um virtuelle BIG-IP-Produkte bereitzustellen und zu starten.

F5 unterstützt derzeit Vorlagen für folgende Clouds:

F5 entwickelt aktiv Cloud-Vorlagen, um eine breitere Palette an Bereitstellungsszenarien abzudecken. Bitte reichen Sie Fragen oder Pull-Anforderungen über das entsprechende Github-Repository ein.

Orchestrierungs- und Workflow-Tools und Continuous Delivery/Deployment

Anwendungsservices sind nur eine Ebene im Stapel der technologischen Lösungen, die eine funktionierende Anwendung hervorbringen. Das Integrieren, Erstellen und Bereitstellen aller Komponenten, die eine Anwendung vom Code-Commit bis hin zur operativen Bereitstellung und Überwachung bringen, umfasst eine große Anzahl voneinander abhängiger Schritte, die in der richtigen Reihenfolge ausgeführt werden müssen. Die Automatisierung dieser Aufgabe wird von Orchestrierungstools ausgeführt, die Workflow-Pipelines mit koordinierten Aufgaben und Tools erstellen.

Die meisten Pipelines beginnen mit einem Quellcode-Repository, das den Code für die Anwendung, die Tests und die Infrastrukturkonfiguration enthält.

Mit Tools wie AS3, Cloud-Vorlagen und Declarative Onboarding können Sie alle Konfigurationsinformationen speichern, die zum Erstellen und Konfigurieren von Anwendungsservices im Rahmen einer Bereitstellungspipeline erforderlich sind.

Bei Architekturen, die langlebige, mehrinstanzenfähige BIG-IP-Hardware- oder Software-Plattformen nutzen, benötigen Sie nur die AS3-Konfiguration, die als Teil des Code-Repositorys einer Anwendung verwaltet wird. Im Gegensatz dazu sollten in Szenarien, in denen Sie dedizierte Instanzen bei Bedarf als Teil des Bereitstellungsprozesses starten möchten, Verwaltungsvorlagen und deklarative Onboarding-Deklarationen Teil Ihres Anwendungs-Repositorys sein.

Andere Automatisierungstools: Ein Wegweiser durch die Ressourcen

Auch wenn wir nicht alle erdenklichen Automatisierungs- und Orchestrierungstools behandeln können, finden Sie im Folgenden eine Liste der gängigsten Tools, Anwendungsfälle und Funktionen, die von F5-Kunden verwendet werden.

Integration von Sprachen

Sprache

Status

Beispiele und Quelle

Python Von F5 beigesteuert https://github.com/F5Networks/f5-common-python
Go

Vom Nutzer beigesteuert

https://github.com/f5devcentral/go-bigip

PowerShell

Von F5 unterstützt

https://devcentral.f5.com/wiki/icontrol.powershell.ashx

Tools zur Automatisierung der Konfigurationsverwaltung und Infrastruktur

Tool

Status

Beispiele und Quelle

Ansible

Von F5 beigesteuert

https://github.com/F5Networks/f5-ansible

Terraform

Von F5 beigesteuert

https://github.com/f5devcentral/terraform-provider-bigip

Puppet

Von F5 beigesteuert

https://github.com/f5devcentral/f5-puppet

Chef

Vom Nutzer beigesteuert

https://github.com/target/f5-bigip-cookbook

SaltStack

Drittanbieter

https://docs.saltstack.com/en/latest/ref/runners/all/salt.runners.f5.html

Infrastrukturvorlagensysteme

Plattform

Status

Beispiele und Quelle

AWS

Von F5 unterstützt

https://github.com/F5Networks/f5-aws-cloudformation

Azure

Von F5 unterstützt

https://github.com/F5Networks/f5-azure-arm-templates

Google

Von F5 unterstützt

https://github.com/F5Networks/f5-google-gdm-templates

OpenStack

Von F5 unterstützt

https://github.com/F5Networks/f5-openstack-hot

Start-Agents & Cloud-Skripts

Cloud-init

https://devcentral.f5.com/articles/f5-in-aws-part-5-cloud-init-single-nic-and-scale-out-of-big-ip-in-v12-21476

Cloud-Bibliotheken

https://github.com/F5Networks/f5-cloud-libs

Plattformintegration

Containerverwaltungsplattformen

Plattform

Status

Beispiele und Quelle

Kubernetes

Von F5 unterstützt

https://github.com/F5Networks/k8s-bigip-ctlr

Pivotal Cloud Foundry

Von F5 unterstützt

https://github.com/F5Networks/cf-bigip-ctlr

Marathon

Von F5 unterstützt

https://github.com/F5Networks/marathon-bigip-ctlr

Red Hat OpenShift

Von F5 unterstützt

https://hub.docker.com/r/f5networks/k8s-bigip-ctlr   oder

https://access.redhat.com/containers/?tab=tags#/registry.connect.redhat.com/f5networks/k8s-bigip-ctlr

Private Cloud-Plattformen

Plattform

Status

Beispiele und Quelle

OpenStack (LBaaS)

Von F5 unterstützt

https://github.com/F5Networks/f5-openstack-lbaasv2-driver

OpenStack (Heat)

Von F5 unterstützt

https://github.com/F5Networks/f5-openstack-hot

VMWare (vRO)

Drittanbieter

https://bluemedora.com/products/f5/big-ip-for-vrealize-operations/

Hinweis zu Orchestrierungs- und Workflow-Tools

Die oben genannten Tools und Integrationen stellen automatisierte Methoden dar, mit denen man die BIG-IP-Plattform bereitstellen und konfigurieren kann, um die Verfügbarkeit von Anwendungen sowie Sicherheits- und Skalierungsdienste zu ermöglichen. Diese Dienste, so wichtig sie auch sind, machen nur einen Teil der gesamten Anwendungsbereitstellung aus. Das Erstellen eines vollständigen Anwendungsstapels mit Servern, Daten, kompiliertem Anwendungscode und Infrastruktur in koordinierter und erprobter Weise erfordert mehr als ein simples Automatisierungstool.

Man benötigt ein Orchestrierungstool höherer Ebene – und die dazugehörigen Workflows und Integrationen mit verschiedenen Automatisierungssystemen. Diese Tools werden meistens im Rahmen von Continuous Integration/Continuous Delivery (CI/CD)-Arbeitspraktiken verwendet, für die eine Automatisierung aller praktischen Implementierungen erforderlich ist. Obwohl es verschiedene Orchestrierungstools gibt, ist Jenkins wohl das gebräuchlichste, und es gibt Workflow-Beispiele, die zeigen, wie man Jenkins, F5 und Ansible nutzen kann, um Infrastructure-as-Code-Funktionen von F5 in einen CI/CD-Workflow zu integrieren. Im Allgemeinen nutzt das Orchestrierungstool jedoch eines der Konfigurationsautomatisierungstools, um tatsächlich Änderungen vorzunehmen und Dienste bereitzustellen.

Lizenzierung

Da BIG-IP-Plattformen eine Lizenzierung erfordern, um zu funktionieren, ist es hilfreich, die Lizenzierung in den kritischen Pfad der Automatisierung einzubauen. In hochdynamischen Umgebungen, in denen virtuelle BIG-IP-Produkte möglicherweise schnell nach oben oder unten skaliert oder für Test- und Entwicklungszwecke erstellt werden müssen, müssen die Lizenzierungsmodelle sorgfältig geprüft werden.

In der öffentlichen Cloud besteht eine Möglichkeit darin, Abrechnungsversionen von Hilfsprogrammen des BIG-IP-Systems (verfügbar über Cloud-Marktplätze) zu verwenden. Abrechnungsinstanzen von Hilfsprogrammen werden automatisch lizenziert, und die Kosten werden über den Cloud-Anbieter nutzungsbezogen oder mit einer zeitlichen Bindung berechnet.

Eine weitere Option besteht darin, Pools mit wiederverwendbaren Lizenzen zu nutzen, die über ein Abonnement (oder fortlaufend) zusammen mit dem BIG-IQ License Manager von F5 erworben werden, wodurch Sie Lizenzen aus einem Pool zuweisen und widerrufen können.

Sie können die Lizenzierungsschritte über Start-Agents und API-Aufrufe automatisieren, wofür ein ausgehender Internetzugriff auf den F5-Lizenzserver erforderlich ist (auch bei Hilfsprogrammlizenzen auf Cloud-Plattformen).

Was sollte wann zum Einsatz kommen?

Je nach Unternehmen kann die Auswahl der richtigen Automatisierungs- und Orchestrierungstools sehr einfach oder schwierig sein. Sie ist einfach, wenn Sie bereits ein Tool oder eine Methodik für andere Komponenten haben und BIG-IP nur noch in das System eingliedern müssen. Selbst ohne Integration in ein bestimmtes Tool macht die leistungsstarke iControl REST-API in Kombination mit den iControl LX-Funktionen und Cloud-init die Eingliederung von BIG-IP in ein bestehendes Automatisierungstool relativ unkompliziert (besonders in Kombination mit iApp-Vorlagen, die mit nur einem API-Aufruf komplexe Konfigurationen ermöglichen).

Wenn Sie jedoch bei null anfangen, kann die Lage komplexer sein. Wie bei jeder Lösungssuche sollte die Klarstellung Ihrer Anforderungen an erster Stelle stehen. Auch wenn wir im vorliegenden Dokument keine Anforderungsliste für Sie erstellen können, finden Sie hier eine Reihe von Fragen und Empfehlungen, die Ihnen bei der Beurteilung helfen.

Automatisierungsmodell: Ein deklaratives Modell ist für Ihre Orchestrierungsnutzer viel einfacher zu handhaben. Die Verbraucher müssen nur wissen, was sie wollen, und nicht alle Verfahrensschritte kennen, um dorthin zu gelangen. Die Automatisierungstoolkette von F5 repräsentiert eine Musterbereitstellung für Standorte, bei denen „auf der grünen Wiese“ gestartet wird.

Potenzielle Plattformen und Umgebungen: Es ist unvermeidlich, dass Container und eine Reihe von Cloud-Plattformen ein wichtiger Bestandteil der Anwendungsinfrastruktur sein werden – planen Sie also entsprechend.

Fähigkeiten: Verfügen Sie bereits über Kenntnisse in einzelnen der zugrunde liegenden Technologien? Denken Sie daran, dass diese Fähigkeiten nicht unbedingt in Ihrer Abteilung vorhanden sein müssen, aber jedenfalls innerhalb Ihres Unternehmens als Ganzes. Ist dies der Fall, kann es sinnvoll sein, ein Tool auszuwählen, das eine Sprache nutzt, mit der Ihr Unternehmen bereits arbeitet.

Instandhaltungsvermögen: Bauen Sie nur Systeme auf, die Sie auch instand halten können. Dies mag naheliegend erscheinen, doch ein Schlüssel zum Erfolg ist die Auswahl der Komplexität, die Sie innerhalb Ihrer Organisation bereitstellen können, damit Sie die Vorteile der Automatisierung maximieren können, ohne einen übermäßigen betrieblichen Aufwand zu verursachen.

Schlussfolgerung

Eine zunehmende Automatisierung der IT-Systeme ist unumgänglich. Die Wahl eines strategischen Ansatzes für wichtige Anwendungsbereitstellungs- und Sicherheitsdienste sorgt dafür, dass die Anwendungen, die Ihr Unternehmen bereitstellt, sicher und verfügbar bleiben. Automatisierung kann auch dazu beitragen, Ihren betrieblichen Aufwand zu verringern, insbesondere wenn Sie mit mehreren Plattformen und öffentlichen Clouds arbeiten.

Die Wahl des richtigen Automatisierungssystems kann eine Herausforderung sein und sollte idealerweise gemeinschaftlich und ganzheitlich getroffen werden. Dabei sind die Ihnen zur Verfügung stehenden Kompetenzen sowie Ihre Fähigkeit, das System instand zu halten, zu berücksichtigen. Unabhängig davon, welche Lösung Sie wählen, können Sie sicher sein, dass die BIG-IP-Plattform und das Know-how von F5 Sie bei der Bereitstellung der professionellen Services unterstützen, auf die sich Ihre Anwendungen stützen, egal, wo sie bereitgestellt werden.

Hinweis zur Unterstützung durch F5: F5 bietet Unterstützung für einige, aber nicht alle Vorlagen und Tools. Bei Software-Produkten, die auf Github erhältlich sind, ist der unterstützte Code nur in den „unterstützten“ Ordnern in den F5-Repositorys zu finden. Bei anderen Software-Produkten sind die Richtlinien zur Unterstützung in den entsprechenden Infodateien definiert.

Connect with F5

F5 Labs

The latest in application threat intelligence.

DevCentral

The F5 community for discussion forums and expert articles.

F5 Newsroom

News, F5 blogs, and more.