Automatisierung von F5-Anwendungsdiensten: Ein praxisorientierter Leitfaden
Einleitung
Die Automatisierung der Bereitstellung und des Konfigurationsmanagements von Geräten für die Anwendungsbereitstellung und -sicherheit ist inzwischen nahezu unverzichtbar. Im IDG-Bericht „FutureScape“ aus dem Jahr 2017 wurden Automatisierung und Multi-Cloud-Management als einige der wichtigsten Initiativen eingestuft, die Unternehmen bis 2021 beeinflussen werden.1 Automatisierung ermöglicht Skalierbarkeit, Zuverlässigkeit und Integration bei der Bereitstellung der wesentlichen Sicherheits-, Optimierungs- und Verfügbarkeitsdienste, die Anwendungen benötigen. Zugleich wird deren Bereitstellung in die orchestrierten Build-, Test- und Deployment-Workflows integriert, die sich zum vorherrschenden Modell für die Anwendungsbereitstellung entwickeln.
Selbst die einfache Automatisierung grundlegender Aufgaben wie das Hinzufügen neuer virtueller Server oder Pool-Mitglieder kann es dem Betrieb ermöglichen, Anwendungsverantwortlichen oder anderen automatisierten Systemen Self-Service-Funktionen bereitzustellen – und Zeit für produktivere Aufgaben freizusetzen, etwa für die Entwicklung der nächsten Generation von Automatisierungstools.
Die Notwendigkeit der Automatisierung gewinnt noch stärker an Bedeutung, wenn ein Unternehmen beginnt, mehrere Cloud-Plattformen für die Bereitstellung von IT-Services einzusetzen. Wenn Sie versuchen, Services an mehreren Standorten mit unterschiedlichen Plattformmerkmalen bereitzustellen, kann die Automatisierung dazu beitragen, die Auswirkungen des erhöhten Betriebsaufwands zu reduzieren und Fehler zu vermeiden, die durch mangelnde Vertrautheit mit neuen Plattformen entstehen.
Doch wie und was sollte automatisiert werden? Angesichts unterschiedlicher Betriebsmodelle, Schnittstellen und Sprachen kann Automatisierungssoftware auf der Ebene einzelner Geräte oder als komplexeres, systemübergreifendes Tool eingesetzt werden. Infrastructure-as-a-Service(IaaS)-Cloud-Plattformen bieten eigene native Tools für die Bereitstellung virtueller Infrastrukturen und Dienste. Darüber hinaus bietet F5 eine Reihe von Schnittstellen und Orchestrierungsoptionen. Diese Vielfalt an Tools und Optionen ermöglicht es Ihnen zwar, die Automatisierung optimal auf Ihr Unternehmen abzustimmen, doch die Wahl des richtigen Tools kann eine große Herausforderung darstellen – und das Risiko zunehmender Komplexität und einer unüberschaubaren Tool-Vielfalt ist real.
In diesem Dokument geben wir Ihnen einen Überblick über die Möglichkeiten zur Automatisierung der Bereitstellung, Verwaltung und Konfiguration von F5 BIG-IP-Appliances (sowohl physisch als auch virtuell) und erläutern, wie Sie den für Ihr Unternehmen geeigneten Ansatz auswählen.
Der Lebenszyklus der Automatisierung
Im Lebenszyklus der Bereitstellung von Anwendungsdiensten gibt es eine Reihe wichtiger Automatisierungspunkte. Abhängig von Ihrem Infrastrukturmodell und den Methoden zur Anwendungsbereitstellung müssen Sie möglicherweise alle oder nur einige davon entwickeln.
Wenn Sie Dienste auf einer physischen oder virtuellen, mandantenfähigen BIG-IP mit hoher Kapazität bereitstellen, haben Bootstrapping- und Onboarding-Aktivitäten im Vergleich zur Bereitstellung, Überwachung und Aktualisierung der Konfigurationen von Anwendungsdiensten für die Hunderte oder Tausende von Anwendungen, die sie unterstützen, keine hohe Priorität.
Wenn Sie ein Bereitstellungsmodell in Betracht ziehen, bei dem jede Anwendung über dedizierte BIG-IP-Instanzen in mehreren Umgebungen verfügt – einschließlich potenziell kurzlebiger Instanzen, die bei Bedarf für Tests und Qualitätssicherung erstellt werden –, dann ist die Automatisierung der Bootstrap- und Onboarding-Prozesse für den kritischen Pfad ebenso wichtig wie die Bereitstellung der Anwendungsdienste selbst.

Unabhängig von Ihrer Umgebung und der Anzahl der zu automatisierenden Prozesse gibt es einige zentrale Themen, die Sie berücksichtigen sollten.
Automatisierung: Einige wichtige Überlegungen
Das Spektrum des Automatisierungsreifegrads
Automatisierung umfasst eine Vielzahl von Aktivitäten. Am einen Ende des Spektrums steht die Entwicklung einfacher Skripte in Bash, TMSH, Python oder anderen Sprachen, die lokal ausgeführt werden können, um manuelle Konfigurationsaufgaben zu beschleunigen. Am anderen Ende des Spektrums steht ein vollständiges „Infrastructure-as-Code“-System, das Quellcodeverwaltung, Workflow-Orchestratoren und (potenziell) mehrere Automatisierungswerkzeuge kombiniert. So entsteht ein System, in dem die Konfiguration der Infrastruktur durch Textdateien in einem Repository definiert und geändert wird. Zwischen diesen beiden Extremen gibt es verschiedene Möglichkeiten, die Sie bei der Bereitstellung und Konfiguration einer BIG-IP-Plattform unterstützen.

Veränderlich vs. unveränderlich
Die meisten aktuellen BIG-IP-Bereitstellungen können als veränderlich betrachtet werden. Das bedeutet, dass davon auszugehen ist, dass sich ihre Konfiguration im Laufe der Zeit ändert. Der Grund dafür ist, dass die BIG-IP-Plattform meist als mandantenfähiges Gerät bereitgestellt wird, das Dienste für mehrere Anwendungen bereitstellt. Wenn neue Anwendungen bereitgestellt werden oder vorhandene Anwendungen skaliert werden oder zusätzliche Dienste benötigen, wird die Konfiguration von BIG-IP entsprechend aktualisiert. Diese Bereitstellungsmethode ermöglicht es Infrastrukturteams, eine zentralisierte Infrastruktur zu verwalten, die Anwendungen über eine gemeinsame Plattform mit Diensten versorgt.
Manchmal werden BIG-IP-Plattformen jedoch als Teil eines eigenständigen Anwendungs-Stacks bereitgestellt, wobei die Dienste einer bestimmten BIG-IP-Instanz an eine bestimmte Anwendung oder einen bestimmten Dienst gebunden sind. In diesem Fall könnten wir die BIG-IP-Konfiguration als unveränderlich betrachten. Das heißt, die Konfiguration wird beim Systemstart oder als Teil des Software-Images installiert und während des Lebenszyklus der BIG-IP-Instanz nicht geändert. Konfigurationsänderungen werden vorgenommen, indem das Software-Image oder der Inhalt des Start-Agent-Skripts geändert und anschließend erneut bereitgestellt wird. Dieses Modell wird häufig als „Nuke and Pave“ bezeichnet. Obwohl es insgesamt weniger verbreitet ist, machen neue BIG-IP-Lizenzmodelle zur Unterstützung anwendungsspezifischer Instanzen, verbesserte Lizenzierungstools und Tools wie F5 cloud libs (https://github.com/F5Networks/f5-cloud-libs) (eine Sammlung von Node.js-Skripten und -Bibliotheken, die das Onboarding einer BIG-IP-Instanz in einer Cloud erleichtern) dieses Bereitstellungsmodell zu einer praktikablen Option für Organisationen, die für eine Anwendung einen eng gekoppelten, isolierten Stack aus Code und Infrastruktur benötigen.

Imperativ vs. deklarativ
Es gibt zwei konzeptionelle Modelle dafür, wie Automatisierungsschnittstellen für Nutzer bereitgestellt werden. Die gängigsten Automatisierungsschemata der „ersten Welle“ folgen tendenziell einem imperativen Modell. Bei imperativen Automatisierungsmodellen müssen die Nutzer in der Regel sowohl wissen, was sie erreichen möchten, als auch die konkreten Schritte kennen, die dafür erforderlich sind (üblicherweise in Form von API-Aufrufen). Dadurch wird den Nutzern häufig die Last auferlegt, die Konfigurationsdetails komplexer Dienste zu verstehen und den zusätzlichen Aufwand sowie die höhere Komplexität bei der Integration dieser Dienste in Automatisierungswerkzeuge zu bewältigen. Das ist so, als würde man ein Sandwich bestellen, indem man jeden einzelnen für die Zubereitung erforderlichen Arbeitsschritt vorgibt, anstatt einfach ein Sandwich zu bestellen und darauf zu vertrauen, dass die Person, die es zubereitet, die dafür erforderlichen Schritte und deren Reihenfolge kennt.
Im Gegensatz dazu ermöglicht eine deklarative Schnittstelle den Nutzern (Menschen oder Maschinen), Dienste zu erstellen, indem sie einfach angeben, was sie benötigen. Detaillierte Kenntnisse aller erforderlichen Schritte sind nicht notwendig, da das Automatisierungsziel über vorkonfigurierte Workflows oder Dienstvorlagen verfügt, mit denen die Konfiguration auf Grundlage der gewünschten Ergebnisse erstellt werden kann. Eine deklarative Schnittstelle erfordert zwar eine etwas komplexere Ersteinrichtung, doch dieser Aufwand wird durch die einfache Bedienung ausgeglichen, sobald geeignete Dienstvorlagen erstellt wurden. Daher ist sie im Allgemeinen der bevorzugte Mechanismus für den Aufbau von Automatisierungssystemen.
Direkt oder über ein Verwaltungstool
Eine weitere Entscheidung, die Sie treffen müssen, ist, ob Automatisierungs-API-Aufrufe von Drittanbieter-Tools direkt an das zu ändernde Gerät oder über ein zusätzliches Verwaltungstool erfolgen sollen. Verwaltungstools können Abläufe abstrahieren und vereinfachen und im Vergleich zu einer direkten Verbindung mit der verwalteten Einheit zusätzliche Kontroll- und Protokollierungsfunktionen bieten. Sie müssen jedoch sicherstellen, dass Ihre Verwaltungsebenen hochverfügbar sind, wenn schnelle Änderungen von entscheidender Bedeutung sind.

API, Start-Agent oder CLI?
BIG-IP-Geräte werden meist über die REST-API automatisiert, die den Großteil der BIG-IP-Funktionalität über ein dokumentiertes Schema bereitstellt. Die von F5 bereitgestellten Module für Automatisierungstools wie Ansible nutzen die REST-API intensiv. Durch die zusätzliche iControl LX-Funktion können außerdem benutzerdefinierte API-Endpunkte erstellt werden, die mehrstufige Vorgänge mit einem einzigen API-Aufruf ausführen können.
Eine weitere gängige Möglichkeit zur Automatisierung der BIG-IP-Konfiguration ist der Einsatz von Start-Agenten. Diese werden beim Systemstart ausgeführt und können externe Informationen abrufen, um die BIG-IP-Plattform zu konfigurieren. Start-Agenten werden häufig für die Erstkonfiguration und Inbetriebnahme von Geräten verwendet. Außerdem können sie zusätzliche Skripte und Konfigurationsdateien von Drittanbieter-Websites wie GitHub oder aus Ihrem eigenen Repository abrufen. Start-Agenten können auch zur vollständigen Konfiguration einer BIG-IP-Plattform eingesetzt werden, insbesondere wenn Sie sich für eine feste, anwendungsspezifische Konfiguration entschieden haben.
Die am häufigsten verwendete Startkonfiguration ist cloud-init, die in allen BIG-IP VE-Images (außer in Microsoft Azure) aktiviert ist, sich jedoch am besten für AWS- und OpenStack-Bereitstellungen eignet. Zusätzlich zu cloud-init stellt F5 eine Reihe von Cloud-Startbibliotheken bereit, die bei der Konfiguration von BIG-IP während des Startvorgangs helfen.
Wenn Sie Start-Agents verwenden, um eine Plattform nach dem Booten zu konfigurieren, sollten Sie besonders auf die Fehlerbehandlung achten. Dies ist insbesondere dann wichtig, wenn externe Quellen verwendet werden und eine Instanz möglicherweise im Rahmen eines Skalierungsereignisses gestartet wird. Wie verhält sich das System, wenn die externen Ressourcen nicht verfügbar sind? Werden zusätzliche „Zombie“-Geräte erstellt, um mit der Nachfrage Schritt zu halten?
In einigen Fällen können Automatisierungssysteme wie Benutzer agieren und CLI-Befehle ausführen. Dies kann zwar gelegentlich Probleme lösen, wenn API-Aufrufe nicht alle erforderlichen Funktionen abdecken, doch aufgrund des hohen Supportaufwands und der Fehleranfälligkeit der Lösung sollte diese Methode grundsätzlich nur als letztes Mittel eingesetzt werden.
Vorlagen und Playbooks
Vorlagen und Playbooks ermöglichen automatisierte Bereitstellungen und den Aufbau von Infrastrukturen mit einem gewissen Grad an Standardisierung. Ein angemessener Standardisierungsgrad macht Ihre Infrastruktur robuster und leichter zu unterstützen. Gut erstellte Vorlagen bieten eine deklarative Schnittstelle, bei der die anfordernde Instanz (Benutzer oder Maschine) lediglich die benötigten Eigenschaften kennen muss, nicht jedoch die Implementierungsdetails. Wenn Bereitstellungen ausschließlich über Vorlagen erfolgen und Fehler nur durch Korrekturen an den Vorlagen behoben werden, kann dies zu einer höheren Servicequalität führen, da Probleme in der Regel nur einmal behoben werden müssen. Services werden anhand der neuen Vorlage erneut bereitgestellt, und die an der Vorlage vorgenommenen Aktualisierungen verhindern, dass dasselbe Problem ein zweites Mal auftritt.
Plattformintegrationen
Tools zur Plattformintegration binden die Konfiguration von BIG-IP-Diensten in Plattformen wie Private-Cloud- oder Containerverwaltungssysteme ein. Die Mechanismen unterscheiden sich je nach Plattform und Implementierung, lassen sich jedoch im Allgemeinen drei Modellen zuordnen:
- Einbinden von F5-Diensten in ein bestehendes Plattformkonstrukt
Bei diesem Modell werden F5-Dienste mithilfe eines bestehenden Plattformkonstrukts eingebunden, beispielsweise indem F5 als OpenShift Container Platform Router oder F5 mit dem OpenStack Load Balancing as a Service (LBaaS)-System verwendet wird. Diese Mechanismen erfordern nur geringfügige Änderungen an den Betriebsabläufen, da zur Konfiguration der Dienste eine plattformeigene Schnittstelle verwendet wird und der bereitgestellte Treiber sowie weitere Software die Konfigurationsanweisungen der Plattform nahtlos in eine F5-Konfiguration umsetzen. Beachten Sie jedoch, dass nur die über die plattformeigene Schnittstelle verfügbaren Funktionen problemlos bereitgestellt werden können. - Abonnieren von Plattformereignissen
Eine weitere gängige Integrationsmethode besteht darin, dass ein Softwaremodul (wie der Container Connector für Kubernetes und Mesos) Ereignisse innerhalb einer Plattform abonniert und anschließend eine Konfiguration auf Grundlage dieser Ereignisse ändert. Sie können auswählen, welche Ereignisse und Dienste bereitgestellt werden sollen, indem Sie die zu bedienenden Anwendungen mit Tags oder Labels versehen und die Connector-Software so konfigurieren, dass sie Ereignisse mit den erforderlichen Tags überwacht. - Integration mit Plattformverwaltungstools
Viele Private-Cloud-Plattformen verfügen über Verwaltungssysteme, die für die Automatisierung konzipiert sind. VMware bietet beispielsweise mehrere Verwaltungs- und Integrationstools, darunter vRealize Orchestrator (vRO), für den ein Drittanbieter-Plug-in zur Konfiguration von BIG-IP verfügbar ist. Ein weiteres Beispiel ist das Plug-in für das Vorlagensystem OpenStack HEAT.
Diensterkennung
Die Serviceerkennung ist zwar keine vollständige Automatisierungslösung, bietet jedoch eine einfache und leistungsstarke Möglichkeit, BIG-IP-Konfigurationen an Änderungen in der Umgebung anzupassen. Dazu fragt sie das Cloud-System regelmäßig über eine API ab, um eine Liste der Ressourcen abzurufen, und passt die BIG-IP-Konfiguration entsprechend an. Dies ist besonders in Umgebungen nützlich, in denen Ressourcen in Autoscaling-Gruppen konfiguriert sind, da der Load Balancer beim Skalieren der Backend-Computing-Ressourcen über die neuen Ressourcen informiert sein muss. Komponenten für die Serviceerkennung sind in den F5-Cloud-Autoscaling-Lösungen für AWS und Azure enthalten.
Gibt es also ein von F5 empfohlenes Automatisierungskonzept? Jein. Es sind so viele Variablen zu berücksichtigen, dass vollständig präskriptive Empfehlungen wenig hilfreich wären. Wir haben jedoch die zentralen Bausteine, die Sie unserer Ansicht nach benötigen, in einer aufeinander abgestimmten Produktfamilie zusammengeführt.
Die F5-Automatisierungs-Toolchain
Die Produktfamilie F5 Automation Toolchain umfasst die grundlegenden Bausteine für Automatisierung und Orchestrierung, mit denen Sie F5 BIG-IP Plattformen in gängige Automatisierungsmuster wie CI/CD-Toolchains integrieren können.
Die F5 Automation Toolchain umfasst die folgenden zentralen Komponenten
- Application Services 3 Extension (AS3) – Deklarative L4-L7-Anwendungsdienste für BIG-IP
- Declarative Onboarding Extension (DO) – Deklaratives L1-L3-Onboarding für BIG-IP
- Telemetry Streaming Extension (TS) – automatisiertes Streaming von BIG-IP-Telemetriedaten an Analysesysteme
- API Services Gateway (ASG) – Container-Laufzeitumgebung für benutzerdefinierte iControl LX-Erweiterungen
Die Automation Toolchain-Produktfamilie dient zur Verwaltung des gesamten Bereitstellungslebenszyklus von Anwendungsdiensten – von der Plattformbereitstellung (über Cloud-Vorlagen) über das Onboarding und die Dienstkonfiguration bis hin zu erweiterter Telemetrie und Protokollierung, um die Anwendungsleistung im laufenden Betrieb sicherzustellen.

Diese wachsende Familie unterstützter Tools weist den Weg für die zukünftige Automatisierung von F5-Anwendungsdiensten. Das bedeutet jedoch nicht, dass es keine anderen Integrationen gibt oder diese nicht unterstützt werden. Weitere Informationen finden Sie im Abschnitt „Andere Automatisierungstools“ dieses Dokuments.
Application Services 3-Erweiterung
Die F5 Applications Services 3 Extension (AS3) bietet eine einfache und einheitliche Möglichkeit, die Bereitstellung von Anwendungsdiensten der Schichten 4 bis 7 auf der BIG-IP Plattform über eine deklarative REST-API zu automatisieren. AS3 verwendet ein klar definiertes Objektmodell, das als JSON-Dokument dargestellt wird. Die deklarative Schnittstelle ermöglicht eine einfache und zuverlässige Verwaltung der Bereitstellungen von F5-Anwendungsdiensten.

Diagramm: Die AS3-Architektur
Die AS3-Erweiterung nimmt die Deklarationen auf, analysiert sie und führt die entsprechenden iControl-API-Aufrufe aus, um den gewünschten Endzustand auf dem Ziel-BIG-IP herzustellen. Die Erweiterung kann entweder auf der BIG-IP-Instanz oder über AS3 Container ausgeführt werden – einen separaten Container bzw. eine separate VM, auf dem bzw. der die AS3-Erweiterung läuft und anschließend externe API-Aufrufe an BIG-IP sendet.

AS3-Aufrufe können auch über BIG-IQ erfolgen, das Lizenzierung, Verwaltung, Visualisierung und Zugriffskontrolle für BIG-IP-Plattformen bereitstellt und zugleich die F5 Cloud Edition unterstützt, die bedarfsgesteuerte BIG-IP-Instanzen pro Anwendung mit leistungsstarken Analysefunktionen kombiniert.

Erweiterung für deklaratives Onboarding
Die Declarative Onboarding-Erweiterung bietet eine einfache Schnittstelle, mit der eine F5 BIG-IP-Plattform direkt nach dem ersten Start für die Bereitstellung von Sicherheits- und Datenverkehrsmanagement für Anwendungen vorbereitet werden kann. Dies umfasst Systemeinstellungen wie Lizenzierung und Bereitstellung, Netzwerkeinstellungen wie VLANs und Self IPs sowie Clustering-Einstellungen, wenn Sie mehr als ein BIG-IP-System verwenden.
Sobald der Onboarding-Prozess abgeschlossen ist, können Anwendungsdienste mit dem von Ihnen gewählten automatisierten (oder manuellen) Verfahren bereitgestellt werden.
Declarative Onboarding verwendet ein JSON-Schema, das mit dem AS3-Schema übereinstimmt, und weist eine ähnliche Architektur auf. Declarative Onboarding wird als von TMOS unabhängiges RPM bereitgestellt, das im ersten Schritt der Onboarding-Phase auf einem neu gestarteten BIG-IP installiert wird.
Telemetrie-Streaming-Erweiterung
BIG-IP ist ein leistungsstarker Generator von Telemetriedaten für Anwendungen, Sicherheit und Netzwerke. Telemetry Streaming bietet eine deklarative Schnittstelle, über die sich das Streaming von Statistiken und Ereignissen an Drittanbieter konfigurieren lässt, beispielsweise an:
- Splunk
- Azure Log Analytics
- AWS CloudWatch
- AWS S3
- Graphite
Wie bei den anderen Mitgliedern der Automation-Toolchain-Familie wird die Konfiguration über eine deklarative Schnittstelle mithilfe eines einfachen, einheitlichen JSON-Schemas verwaltet.
API-Services-Gateway
Das API Services Gateway ist ein Docker-Container-Image, mit dem benutzerdefinierte iControl LX-Erweiterungen auf einer von TMOS unabhängigen Plattform ausgeführt werden können. Dadurch können Sie Ihre F5-Bereitstellungen skalieren und verwalten, indem Verwaltungsvorgänge von den einzelnen BIG-IP-Plattformen abstrahiert werden.
Cloud-Vorlagen – Teil der Lösung, aber (noch) nicht Teil der Familie
Cloud-Vorlagen nutzen die Funktionen zur Bereitstellungsautomatisierung öffentlicher und privater Clouds, um virtuelle BIG-IP-Appliances bereitzustellen und zu starten.
F5 bietet derzeit unterstützte Vorlagen für die folgenden Clouds an:
- AWS – CloudFormation-Vorlagen
- Azure – Azure Resource Manager-Vorlagen
- Google – Google Deployment Manager-Vorlagen
- VMware – vCenter-Vorlagen
- OpenStack – Heat-Orchestrierungsvorlagen
F5 entwickelt die Cloud-Vorlagen aktiv weiter, um ein breiteres Spektrum an Bereitstellungsszenarien abzudecken. Bitte reichen Sie Issues oder Pull Requests über das entsprechende github-Repository ein.
Orchestrierungs- und Workflow-Tools sowie kontinuierliche Bereitstellung/Implementierung
Anwendungsdienste sind nur eine Ebene im Technologie-Stack, der eine funktionsfähige Anwendung ermöglicht. Die Integration, Erstellung und Bereitstellung aller Komponenten, die erforderlich sind, um eine Anwendung vom Code-Commit bis zur produktiven Bereitstellung und Überwachung zu bringen, umfasst zahlreiche voneinander abhängige Schritte, die in der richtigen Reihenfolge ausgeführt werden müssen. Die Automatisierung dieser Aufgabe übernehmen Orchestrierungswerkzeuge, die Workflow-Pipelines aus koordinierten Aufgaben und Werkzeugen erstellen.
Die meisten Pipelines beginnen mit einem Quellcode-Repository, das den Anwendungscode, die Tests und die Infrastrukturkonfiguration enthält.
Mit Tools wie AS3, Cloud-Vorlagen und Declarative Onboarding können Sie alle Konfigurationsinformationen, die zum Erstellen und Konfigurieren von Anwendungsdiensten erforderlich sind, als Teil einer Bereitstellungspipeline speichern.
Bei Architekturen mit langlebigen, mandantenfähigen BIG-IP Hardware- oder Softwareplattformen muss lediglich die AS3-Konfiguration als Teil des Code-Repositorys einer Anwendung verwaltet werden. In Szenarien hingegen, in denen Sie im Rahmen des Bereitstellungsprozesses bei Bedarf dedizierte Instanzen starten möchten, sollten Vorlagen und Declarative-Onboarding-Deklarationen in Ihrem Anwendungs-Repository verwaltet werden.
Weitere Automatisierungstools: Ein Ressourcenleitfaden
Auch wenn wir nicht jedes erdenkliche Automatisierungs- oder Orchestrierungstool behandeln können, finden Sie nachfolgend eine Liste der gängigsten Tools, Anwendungsfälle und Funktionen, die von F5-Kunden genutzt werden.
---------------
Sprachintegrationen
Sprache
Status
Beispiele und Quelle
Python
Von F5 beigetragen
https://github.com/F5Networks/f5-common-python
Los
Von Nutzern beigetragen
https://github.com/f5devcentral/go-bigip
PowerShell
Von F5 unterstützt
https://devcentral.f5.com/wiki/icontrol.powershell.ashx
Tools für Konfigurationsmanagement und Infrastrukturautomatisierung
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 beigetragen
https://github.com/f5devcentral/f5-puppet
Chef
Von Nutzern beigetragen
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
Von F5 unterstützt
https://github.com/F5Networks/f5-google-gdm-templates
OpenStack
Von F5 unterstützt
https://github.com/F5Networks/f5-openstack-hot
------------------
Startup-Agenten & Cloud-Skripte
Cloud-init
Cloud-Bibliotheken
https://github.com/F5Networks/f5-cloud-libs
--------------------
Plattformintegrationen
Container-Management-Plattformen
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
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 (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 (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)
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/
-----------------------
Ein Hinweis zu Orchestrierungs- und Workflow-Tools
Die oben genannten Tools und Integrationen bieten automatisierte Möglichkeiten zur Bereitstellung und Konfiguration der BIG-IP Plattform, um Dienste für die Verfügbarkeit, Sicherheit und Skalierung von Anwendungen bereitzustellen. So unverzichtbar diese Dienste auch sind, bilden sie doch nur einen Teil der Bereitstellung einer Full-Stack-Anwendung. Um einen vollständigen Anwendungs-Stack mit Servern, Daten, kompiliertem Anwendungscode und Infrastruktur koordiniert und getestet zu erstellen, bedarf es mehr als eines einfachen Automatisierungstools.
Sie benötigen ein übergeordnetes Orchestrierungswerkzeug mit entsprechenden Workflows und Integrationen in verschiedene Automatisierungssysteme. Diese Werkzeuge kommen am häufigsten bei Arbeitsweisen für Continuous Integration/Continuous Delivery (CI/CD) zum Einsatz, bei denen Automatisierung für praktisch alle Implementierungen erforderlich ist. Obwohl es eine Reihe von Orchestrierungswerkzeugen gibt, ist Jenkins wohl das am weitesten verbreitete. Zudem stehen Beispiel-Workflows zur Verfügung, die zeigen, wie Sie Jenkins, F5 und Ansible verwenden können, um die Infrastructure-as-Code-Funktionen von F5 in einen CI/CD-Workflow zu integrieren. Im Allgemeinen greift das Orchestrierungswerkzeug jedoch auf eines der Werkzeuge zur Konfigurationsautomatisierung zurück, um Änderungen tatsächlich vorzunehmen und Dienste bereitzustellen.
Lizenzierung
BIG-IP-Plattformen benötigen eine Lizenzierung, um zu funktionieren. Daher ist es sinnvoll, die Lizenzierung in den kritischen Pfad der Automatisierung einzubeziehen. In hochdynamischen Umgebungen, in denen virtuelle BIG-IP-Geräte möglicherweise schnell hoch- oder herunterskaliert oder zu Test- und Entwicklungszwecken erstellt werden müssen, sollten die Lizenzierungsmodelle sorgfältig geprüft werden.
In der Public Cloud besteht eine Möglichkeit darin, Versionen von BIG-IP mit nutzungsabhängiger Abrechnung zu verwenden, die über Cloud-Marktplätze erhältlich sind. Instanzen mit nutzungsabhängiger Abrechnung lizenzieren sich selbst, und die Kosten werden vom Cloud-Anbieter entweder nach tatsächlicher Nutzung oder auf Basis einer zeitlichen Bindung abgerechnet.
Eine weitere Möglichkeit besteht darin, Pools wiederverwendbarer Lizenzen zu nutzen, die im Rahmen eines Abonnements (oder unbefristet) zusammen mit dem F5 BIG-IQ License Manager erworben werden. Damit können Sie Lizenzen aus einem Pool zuweisen und widerrufen.
Sie können die Lizenzierungsschritte mithilfe von Start-Agents und API-Aufrufen automatisieren. Hierfür ist ein ausgehender Internetzugriff auf den F5-Lizenzserver erforderlich (auch bei nutzungsbasierten Lizenzen auf Cloud-Plattformen).
Was sollte wann verwendet werden?
Je nach Organisation kann die Auswahl der richtigen Automatisierungs- und Orchestrierungstools sehr einfach oder eine schwierige Aufgabe sein. Einfach ist es, wenn Sie bereits ein Tool oder eine Methodik für andere Komponenten eingeführt haben und nur noch BIG-IP in das System integrieren müssen. Auch ohne die Integration in ein bestimmtes Tool lässt sich BIG-IP dank der umfangreichen iControl REST API in Kombination mit den Funktionen von iControl LX und cloud-init relativ unkompliziert in ein vorhandenes Automatisierungstool integrieren (insbesondere in Verbindung mit iApp-Vorlagen, mit denen sich selbst komplexe Konfigurationen mit einem einzigen API-Aufruf erstellen lassen).
Wenn Sie jedoch bei null anfangen, kann die Sache komplizierter sein. Wie bei der Auswahl jeder anderen Lösung sollten Sie zunächst Ihre Anforderungen genau verstehen. Dieses Dokument kann zwar keine Anforderungsliste für Sie erstellen, bietet Ihnen jedoch eine Reihe von Fragen und Empfehlungen, die Sie bei Ihrer Bewertung unterstützen.
Automatisierungsmodell: Ein deklaratives Modell erleichtert Ihren Orchestrierungsanwendern die Interaktion erheblich. Die Anwender müssen lediglich wissen, was sie erreichen möchten, anstatt alle dafür erforderlichen Verfahrensschritte zu kennen. Die F5 Automation Toolchain-Produktfamilie wird künftig die „Modell“-Bereitstellung für neu aufgebaute Umgebungen darstellen.
Potenzielle Plattformen und Umgebungen: Container und eine Reihe von Cloud-Plattformen werden unweigerlich eine zentrale Rolle in der Anwendungsinfrastruktur spielen – planen Sie entsprechend.
Kenntnisse: Verfügen Sie bereits über Kenntnisse in einigen der zugrunde liegenden Technologien? Bedenken Sie, dass diese Kenntnisse möglicherweise außerhalb Ihrer Abteilung, aber dennoch in Ihrem Unternehmen vorhanden sind. In diesem Fall kann es sinnvoll sein, ein Tool auszuwählen, das eine Programmiersprache verwendet, die in Ihrem Unternehmen bereits eingesetzt wird.
Supportfähigkeit: Erstellen Sie nur Systeme, die Sie auch betreuen können. Das mag selbstverständlich erscheinen, doch ein entscheidender Erfolgsfaktor besteht darin, einen Komplexitätsgrad zu wählen, den Sie innerhalb Ihres Unternehmens bewältigen können – damit Sie die Vorteile der Automatisierung maximieren, ohne übermäßigen betrieblichen Aufwand zu verursachen.
Fazit
Die zunehmende Automatisierung von IT-Systemen ist unvermeidlich. Ein strategischer Ansatz für zentrale Dienste zur Anwendungsbereitstellung und -sicherheit trägt dazu bei, dass die von Ihrem Unternehmen bereitgestellten Anwendungen sicher und verfügbar bleiben. Automatisierung kann außerdem helfen, Ihren Betriebsaufwand zu reduzieren, insbesondere bei der Arbeit mit mehreren Plattformen und Public Clouds.
Die Wahl des richtigen Automatisierungssystems kann eine Herausforderung darstellen und sollte idealerweise in einem gemeinschaftlichen und ganzheitlichen Prozess erfolgen, bei dem sowohl die Ihnen zur Verfügung stehenden Kompetenzen als auch Ihre Fähigkeit berücksichtigt werden, das von Ihnen entwickelte System zu unterstützen. Für welche Lösung Sie sich auch entscheiden: Sie können sich darauf verlassen, dass Ihnen die BIG-IP Plattform und die Expertise von F5 zur Verfügung stehen, damit Sie die unternehmenstauglichen Services bereitstellen können, auf die Ihre Anwendungen angewiesen sind – unabhängig davon, wo sie bereitgestellt werden.
Ein Hinweis zum F5-Support: F5 bietet Support für einige, jedoch nicht für alle Vorlagen und Tools. Bei Software, die auf Github verfügbar ist, wird ausschließlich der Code in den Ordnern „supported“ der F5-Repositorys unterstützt. Für andere Software sind die Supportrichtlinien in den jeweiligen Readme-Dateien festgelegt.
VERÖFFENTLICHT AM 13. MAI 2019
