Die Automatisierung der Bereitstellung und des Konfigurationsmanagements von Anwendungsbereitstellungs- und Sicherheitsgeräten ist zu einer nahezu obligatorischen Praxis geworden. Im IDG FutureScape -Bericht 2017 wurden Automatisierung und Multi-Cloud-Management als einige der wichtigsten Initiativen eingestuft, die sich bis 2021 auf Unternehmen auswirken werden.1 Durch Automatisierung werden Skalierbarkeit, Zuverlässigkeit und Integration in die Bereitstellung der wesentlichen Sicherheits-, Optimierungs- und Verfügbarkeitsdienste gebracht, die Anwendungen benötigen – und ihre Bereitstellung wird zu einem Teil der orchestrierten Build-, Test- und Bereitstellungs-Workflows, die sich zum dominierenden Modell der Anwendungsbereitstellung entwickeln.
Selbst die einfache Automatisierung grundlegender Aufgaben, wie das Hinzufügen neuer virtueller Server oder Poolmitglieder, kann dazu führen, dass der Betrieb den Anwendungsbesitzern oder anderen automatisierten Systemen Self-Service-Funktionen bietet und Zeit für produktivere Arbeiten frei wird, beispielsweise für die Entwicklung der nächsten Generation von Automatisierungstools.
Die Notwendigkeit der Automatisierung wird noch wichtiger, wenn ein Unternehmen beginnt, mehrere Cloud-Plattformen zur Bereitstellung von IT-Diensten einzuführen. Wenn Sie versuchen, Dienste an mehreren Standorten mit unterschiedlichen Plattformeigenschaften bereitzustellen, kann die Automatisierung dazu beitragen, die Auswirkungen eines erhöhten Betriebsaufwands zu verringern und Fehler aufgrund der mangelnden Vertrautheit mit neuen Plattformen zu reduzieren.
Aber wie und was soll automatisiert werden? Mit unterschiedlichen Betriebsmodellen, Schnittstellen und Sprachen kann Automatisierungssoftware auf einer einzelnen Geräteebene oder als komplexeres Multisystemtool arbeiten. Infrastructure-as-a-Service (IaaS)-Cloud-Plattformen bieten eigene native Tools zum Bereitstellen virtueller Infrastrukturen und Dienste. Darüber hinaus bietet F5 eine Reihe von Schnittstellen und Orchestrierungsoptionen. Diese große Auswahl an Tools und Optionen bietet Ihnen zwar die Möglichkeit, die Automatisierung so vorzunehmen, wie es für Ihr Unternehmen am besten geeignet ist, doch die Auswahl des richtigen Tools kann eine gewaltige Aufgabe sein – und es besteht ein reales Risiko der Komplexität und Tool-Vermehrung.
In diesem Dokument geben wir einen Überblick über die Möglichkeiten zur Automatisierung der Bereitstellung, Verwaltung und Konfiguration von F5 BIG-IP-Geräten (sowohl physisch als auch virtuell) sowie einige Ratschläge zur Auswahl des für Ihr Unternehmen geeigneten Pfads.
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 einem physischen oder virtuellen BIG-IP mit hoher Kapazität und mehreren Mandanten bereitstellen, haben Bootstrapping- und Onboarding-Aktivitäten keine hohe Priorität im Vergleich zur Bereitstellung, Überwachung und Aktualisierung der Anwendungsdienstkonfigurationen für die Hunderte oder Tausende von Anwendungen, die sie unterstützen.
Wenn Sie ein Bereitstellungsmodell in Betracht ziehen, bei dem jede Anwendung dedizierte BIG-IP-Instanzen in mehreren Umgebungen hat – einschließlich potenziell kurzlebiger Instanzen, die bei Bedarf für Tests und Qualitätssicherung erstellt werden –, dann ist die Automatisierung der Bootstrapping- und Onboarding-Prozesse genauso Teil des kritischen Pfads wie die Bereitstellung der App-Dienste selbst.
Unabhängig von Ihrer Umgebung und der Anzahl der Prozesse, die Sie automatisieren müssen, gibt es einige wichtige Themen, die Sie berücksichtigen müssen.
Die Automatisierung umfasst eine Reihe von Aktivitäten. Am einen Ende des Spektrums steht die Entwicklung einfacher Skripte, die in Bash, TMSH, Python oder anderen Sprachen geschrieben werden können und lokal ausgeführt werden können, um manuelle Konfigurationsaktivitäten zu beschleunigen. Am anderen Ende des Spektrums steht ein vollständiges „Infrastructure-as-Code“-System, das Quellcodeverwaltung, Workflow-Orchestratoren und (möglicherweise) mehrere Automatisierungstools kombiniert, um ein System zu erstellen, in dem die Konfiguration der Infrastruktur durch Textdateien in einem Repository definiert und mit diesen geändert wird. Zwischen diesen beiden Extremen liegen eine Reihe verschiedener Optionen, die Ihnen bei der Verwaltung der Bereitstellung und Konfiguration einer BIG-IP-Plattform helfen.
Die meisten aktuellen BIG-IP-Bereitstellungen können als veränderlich betrachtet werden, was bedeutet, dass wir davon ausgehen können, dass sich ihre Konfiguration im Laufe der Zeit ändert. Dies liegt daran, dass die BIG-IP-Plattform meist als Multi-Tenant-Gerät eingesetzt wird, das Dienste für mehrere Anwendungen bereitstellt. Wenn neue Anwendungen bereitgestellt werden – oder die vorhandenen Anwendungen skaliert werden oder zusätzliche Dienste erfordern – wird die Konfiguration des BIG-IP entsprechend aktualisiert. Mithilfe dieser Bereitstellungsmethode können Infrastrukturteams eine Reihe zentralisierter Infrastrukturen verwalten, die von einer gemeinsamen Plattform aus Dienste für Anwendungen bereitstellen.
Manchmal werden BIG-IP-Plattformen jedoch als Teil eines diskreten Anwendungsstapels eingesetzt, wobei die Dienste einer bestimmten BIG-IP an eine bestimmte Anwendung oder einen bestimmten Dienst gebunden sind. In dieser Situation könnten wir die BIG-IP-Konfiguration als unveränderlich behandeln. Das heißt, die Konfiguration wird beim Booten oder als Teil des Software-Images installiert und während des Lebenszyklus der BIG-IP-Instanz nicht geändert. Konfigurationsänderungen werden durch Ändern des Software-Images oder des Start-Agent-Skriptinhalts und anschließendes erneutes Bereitstellen vorgenommen. Dieses Modell wird oft als „Nuke and Pave“ bezeichnet. Zwar ist dieses Bereitstellungsmodell insgesamt weniger verbreitet, doch die Verfügbarkeit neuer BIG-IP-Lizenzmodelle zur Unterstützung von Pro-App-Instanzen, verbesserter Lizenzierungstools und Tools wie F5-Cloud-Libs (eine Reihe von Node.js-Skripten und -Bibliotheken, die Ihnen bei der Integration von BIG-IP in eine Cloud helfen sollen) macht dieses Bereitstellungsmodell zu einer brauchbaren Option für Unternehmen, die für eine Anwendung einen eng gebundenen, isolierten Stapel aus Code und Infrastruktur benötigen.
Es gibt zwei konzeptionelle Modelle für die Bereitstellung von Automatisierungsschnittstellen für Verbraucher. Die gängigsten Automatisierungsschemata der „ersten Welle“ tendieren zu einem imperativen Modell. Bei imperativen Automatisierungsmodellen muss der Automatisierungsnutzer normalerweise wissen, was er erreichen möchte und welche konkreten Schritte (normalerweise durch API-Aufrufe) erforderlich sind, um dies zu erreichen. Dadurch wird dem Verbraucher häufig die Last auferlegt, sich mit den Konfigurationsdetails erweiterter Dienste auseinanderzusetzen und die zusätzliche Komplexität und den Aufwand für die Integration der Dienste in Automatisierungstools zu tragen. Es ist so, als würden Sie bei der Bestellung eines Sandwiches jeden einzelnen Arbeitsgang angeben, der zur Herstellung erforderlich ist, statt einfach in der Erwartung nach einem Sandwich zu fragen, dass der Sandwichmacher die dafür erforderlichen Arbeitsgänge (und deren Reihenfolge) kennt.
Im Gegensatz dazu ermöglicht eine deklarative Schnittstelle Verbrauchern (Menschen oder Maschinen), Dienste zu erstellen, indem sie nach dem fragen, was sie möchten. Detaillierte Kenntnisse aller erforderlichen Schritte sind nicht erforderlich, da das Automatisierungsziel über vorkonfigurierte Workflows oder Servicevorlagen verfügt, um die Konfiguration basierend auf den erforderlichen Ergebnissen zu erstellen. Während die Ersteinrichtung einer deklarativen Schnittstelle etwas komplexer ist, wird diese Komplexität durch die einfache Bedienung ausgeglichen, sobald geeignete Dienstvorlagen erstellt wurden. Daher ist es im Allgemeinen der bevorzugte Mechanismus zum Aufbau von Automatisierungssystemen.
Darüber hinaus müssen Sie entscheiden, 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 Vorgänge abstrahieren und vereinfachen und bieten möglicherweise zusätzliche Kontroll- und Protokollierungsebenen im Vergleich zu einer direkten Verbindung zur verwalteten Entität. Sie müssen jedoch sicherstellen, dass Ihre Verwaltungsebenen in Situationen hochverfügbar sind, in denen die Fähigkeit, schnell Änderungen vorzunehmen, von entscheidender Bedeutung ist.
BIG-IP-Geräte werden am häufigsten ü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 in großem Umfang. Die zusätzliche iControl LX- Funktion ermöglicht zudem die Erstellung eines benutzerdefinierten API-Endpunkts, der einen mehrstufigen Vorgang aus einem einzigen API-Aufruf ausführen kann.
Eine weitere gängige Methode zum Automatisieren der BIG-IP-Konfiguration ist die Verwendung von Start-Agenten, die beim Start ausgeführt werden und externe Informationen zum Konfigurieren der BIG-IP-Plattform abrufen können. Start-Agenten werden häufig verwendet, um die Erstkonfiguration zum „Onboarden“ von Geräten durchzuführen und können zusätzliche Skripts und Konfigurationsdateien von Websites Dritter wie GitHub oder Ihrem eigenen Repository abrufen. Mithilfe von Start-Agenten lässt sich auch eine BIG-IP-Plattform vollständig konfigurieren, insbesondere wenn Sie sich für eine feste Konfiguration pro Anwendung entschieden haben.
Die gebräuchlichste Startkonfiguration ist „cloud-init“ , die in allen BIG-IP VE-Images aktiviert ist (außer in Microsoft Azure), sich jedoch am besten für die Verwendung in AWS- und OpenStack-Bereitstellungen eignet. Neben Cloud-Init stellt F5 eine Reihe von Cloud-Startbibliotheken bereit, die bei der Konfiguration von BIG-IP beim Booten helfen.
Wenn Sie Startagenten verwenden, um eine Plattform nach dem Booten zu konfigurieren, achten Sie sorgfältig auf die Fehlerbewältigung. Dies ist insbesondere dann wichtig, wenn externe Quellen verwendet werden, insbesondere wenn eine Instanz als Teil eines Skalierungsereignisses gestartet werden könnte. Wie verhält sich das System, wenn die externen Ressourcen nicht verfügbar sind? Werden weitere „Zombie“-Geräte entwickelt, um mit der Nachfrage Schritt zu halten?
In einigen Fällen können sich Automatisierungssysteme wie Benutzer verhalten und CLI-Befehle ausführen. Dadurch können gelegentlich einige Probleme gelöst werden, bei denen API-Aufrufe möglicherweise nicht vollständig ausgeführt werden. Im Allgemeinen ist dies jedoch aufgrund der Supportschwierigkeiten und der Instabilität der Lösung die Methode der letzten Wahl.
Mithilfe von Vorlagen und Playbooks können automatisierte Bereitstellungen erstellt und Infrastrukturen mit einem gewissen Grad an Standardisierung aufgebaut werden. Der entsprechende Grad an Standardisierung macht Ihre Infrastruktur robuster und unterstützt Sie besser. Gut erstellte Vorlagen bieten eine deklarative Schnittstelle, bei der die anfordernde Entität (Benutzer oder Maschine) nur die benötigten Eigenschaften kennen muss, nicht aber die Implementierungsdetails. Eine strikte Bereitstellung über Vorlagen und eine Behebung ausschließlich durch die Korrektur von Vorlagen kann zu einer höheren Servicequalität führen, da Probleme im Allgemeinen 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.
Tools zur Plattformintegration binden die Konfiguration von BIG-IP-Diensten in Plattformen wie private Cloud- oder Containerverwaltungssysteme ein. Die Mechanismen variieren zwischen Plattformen und Implementierungen, lassen sich aber im Allgemeinen in drei Modelle einteilen:
Obwohl es sich bei der Diensterkennung nicht um eine vollständige Automatisierungslösung handelt, handelt es sich dabei um eine einfache und leistungsstarke Möglichkeit, BIG-IP-Konfigurationen in Änderungen in der Umgebung zu integrieren. Die Diensterkennung funktioniert durch regelmäßige Abfragen des Cloud-Systems über die API, um eine Liste der Ressourcen abzurufen und die BIG-IP-Konfiguration entsprechend zu ändern. Dies ist insbesondere in Umgebungen nützlich, in denen Ressourcen in automatisch skalierten Gruppen konfiguriert sind, da für die Skalierung der Back-End-Rechenressource der Load Balancer über die neuen Ressourcen informiert sein muss. Service-Discovery-Komponenten werden mit F5-Cloud-Auto-Scale-Lösungen für AWS und Azure bereitgestellt.
Also – gibt es ein von F5 empfohlenes Automatisierungsschema? Ja und nein. Es müssen so viele Variablen berücksichtigt werden, dass völlig verbindliche Ratschläge nicht hilfreich sind. Wir haben jedoch die wichtigsten Bausteine, die Sie unserer Meinung nach benötigen, zu einer koordinierten Produktfamilie zusammengefasst.
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 enthält die folgenden Schlüsselkomponenten
Die Automation Toolchain-Familie ist für die Verwaltung des Bereitstellungslebenszyklus von Anwendungsdiensten konzipiert, von der Plattformbereitstellung (über Cloud-Vorlagen) über Onboarding, Dienstkonfiguration bis hin zu erweiterter Telemetrie und Protokollierung zur Gewährleistung der Anwendungsleistung im laufenden Betrieb.
Diese wachsende Familie unterstützter Tools stellt die zukünftige Richtung für die Automatisierung von F5-Anwendungsdiensten dar. Dies bedeutet jedoch nicht, dass keine anderen Integrationen vorhanden sind oder nicht unterstützt werden – siehe den Abschnitt „Andere Automatisierungstools“ in diesem Dokument.
Die F5 Applications Services 3 Extension (AS3) bietet eine einfache und konsistente 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 gut definiertes Objektmodell, das als JSON-Dokument dargestellt wird. Die deklarative Schnittstelle macht die Verwaltung der Bereitstellungen von F5-Anwendungsdiensten einfach und zuverlässig.
Diagramm: Die AS3-Architektur
Die AS3-Erweiterung nimmt die Deklarationen auf, analysiert sie und führt die entsprechenden iControl-API-Aufrufe durch, um den gewünschten Endzustand auf dem Ziel-BIG-IP zu erstellen. Die Erweiterung kann entweder auf der BIG-IP-Instanz oder über einen AS3-Container ausgeführt werden – einem separaten Container/einer separaten VM, die die AS3-Erweiterung ausführt und dann externe API-Aufrufe an BIG-IP tätigt.
AS3-Aufrufe können auch über BIG-IQ getätigt werden, das Lizenzierung, Verwaltung, Visualisierung und Zugriffskontrolle für BIG-IP-Plattformen bereitstellt und die F5 Cloud Edition unterstützt, die On-Demand-Instanzen von BIG-IP pro App in Kombination mit leistungsstarken Analysefunktionen bietet.
Die Erweiterung „Declarative Onboarding“ bietet eine einfache Schnittstelle, um eine F5 BIG-IP-Plattform direkt nach dem ersten Booten so zu gestalten, dass sie für die Bereitstellung von Sicherheit und Verkehrsmanagement für Anwendungen bereit ist. Dazu gehören 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 ausgewählten Automatisierungsprozess (oder manuellen Prozess) bereitgestellt werden.
Declarative Onboarding verwendet ein mit dem AS3-Schema konsistentes JSON-Schema und verfügt über eine ähnliche Architektur. Declarative Onboarding wird als TMOS-unabhängiges RPM bereitgestellt, das während des ersten Schritts der Onboarding-Phase auf einem neu gestarteten BIG-IP installiert wird.
BIG-IP ist ein leistungsstarker Generator für Anwendungs-, Sicherheits- und Netzwerktelemetrie. Die Telemetry Streaming-Erweiterung bietet eine deklarative Schnittstelle zum Konfigurieren des Streamings von Statistiken und Ereignissen an Drittverbraucher, beispielsweise:
Wie bei den anderen Mitgliedern der Automation Toolchain-Familie wird die Konfiguration über eine deklarative Schnittstelle mithilfe eines einfachen, konsistenten JSON-Schemas verwaltet.
Das API Services Gateway ist ein Docker-Container-Image, das die Ausführung benutzerdefinierter iControl LX-Erweiterungen auf einer TMOS-unabhängigen Plattform ermöglicht. Dies kann Ihnen dabei helfen, Ihre F5-Bereitstellungen zu skalieren und zu verwalten, indem Sie Verwaltungsvorgänge von den einzelnen BIG-IP-Plattformen abstrahieren.
Cloud-Vorlagen verwenden die Bereitstellungsautomatisierungsfunktionen öffentlicher und privater Clouds, um virtuelle BIG-IP-Geräte bereitzustellen und zu starten.
F5 verfügt derzeit über unterstützte Vorlagen für die folgenden Clouds:
F5 entwickelt die Cloud-Vorlagen aktiv weiter, um ein breiteres Spektrum an Bereitstellungsszenarien abzudecken – bitte übermitteln Sie Probleme oder Pull-Anfragen über das entsprechende GitHub- Repository.
Anwendungsdienste sind nur eine Ebene im Technologiestapel, der eine funktionierende Anwendung erstellt. Das Integrieren, Erstellen und Bereitstellen aller Komponenten, um eine Anwendung vom Code-Commit bis zur betriebsbereiten Bereitstellung und Überwachung zu bringen, umfasst eine große Anzahl abhängiger Schritte, die in der richtigen Reihenfolge ausgeführt werden müssen. Die Automatisierung dieser Aufgabe ist Aufgabe von Orchestrierungstools, die Workflow-Pipelines aus 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 Anwendungsdiensten als Teil einer Bereitstellungspipeline erforderlich sind.
In Architekturen mit langlebigen BIG-IP-Hardware- oder Softwareplattformen für mehrere Mandanten benötigen Sie nur die AS3-Konfiguration, die als Teil des Code-Repository einer Anwendung verwaltet wird. Im Gegensatz dazu sollte in Szenarien, in denen Sie dedizierte Instanzen bei Bedarf als Teil des Bereitstellungsprozesses starten möchten, die Verwaltung von Vorlagen und deklarativen Onboarding-Deklarationen Teil Ihres Anwendungsrepositorys sein.
Obwohl wir nicht jedes erdenkliche Automatisierungs- oder Orchestrierungstool abdecken können, finden Sie unten eine Liste der am häufigsten von F5-Kunden verwendeten Tools, Anwendungsfälle und Funktionen.
Sprachintegrationen
Sprache |
Status |
Beispiele und Quelle |
Python | F5 hat mitgewirkt | https://github.com/F5Networks/f5-common-python |
Gehen | Vom Benutzer beigetragen |
https://github.com/f5devcentral/go-bigip |
PowerShell |
F5 Unterstützt |
https://devcentral.f5.com/wiki/icontrol.powershell.ashx |
Tools für Konfigurationsmanagement und Infrastrukturautomatisierung
Werkzeug |
Status |
Beispiele und Quelle |
Ansible |
F5 hat mitgewirkt |
https://github.com/F5Networks/f5-ansible |
Terraform |
F5 hat mitgewirkt |
https://github.com/f5devcentral/terraform-provider-bigip |
Marionette |
F5 hat mitgewirkt |
https://github.com/f5devcentral/f5-puppet |
Küchenchef |
Vom Benutzer beigetragen |
https://github.com/target/f5-bigip-cookbook |
SaltStack |
Dritte Seite |
https://docs.saltstack.com/en/latest/ref/runners/all/salt.runners.f5.html |
Infrastruktur-Vorlagensysteme
Plattform |
Status |
Beispiele und Quelle |
AWS |
F5 Unterstützt |
https://github.com/F5Networks/f5-aws-cloudformation |
Azurblau |
F5 Unterstützt |
https://github.com/F5Networks/f5-azure-arm-templates |
F5 Unterstützt |
https://github.com/F5Networks/f5-google-gdm-templates |
|
OpenStack |
F5 Unterstützt |
https://github.com/F5Networks/f5-openstack-hot |
Startup-Agenten und Cloud-Skripte
Cloud-Init
Cloud-Bibliotheken
https://github.com/F5Networks/f5-cloud-libs
Plattformintegrationen
Container-Management-Plattformen
Plattform |
Status |
Beispiele und Quelle |
Kubernetes |
F5 Unterstützt |
https://github.com/F5Networks/k8s-bigip-ctlr |
Pivot Cloud Foundry |
F5 Unterstützt |
https://github.com/F5Networks/cf-bigip-ctlr |
Marathon |
F5 Unterstützt |
https://github.com/F5Networks/marathon-bigip-ctlr |
Red Hat OpenShift |
F5 Unterstützt |
Private Cloud-Plattformen
Plattform |
Status |
Beispiele und Quelle |
OpenStack (LBaaS) |
F5 Unterstützt |
https://github.com/F5Networks/f5-openstack-lbaasv2-driver |
OpenStack (Heat) |
F5 Unterstützt |
https://github.com/F5Networks/f5-openstack-hot |
VMWare (vRO) |
Dritte Seite |
https://bluemedora.com/products/f5/big-ip-for-vrealize-operations/ |
Die oben genannten Tools und Integrationen stellen automatisierte Möglichkeiten zum Bereitstellen und Konfigurieren der BIG-IP-Plattform dar, um Anwendungsverfügbarkeit, Sicherheit und Skalierungsdienste bereitzustellen. So wichtig diese Dienste auch sind, stellen sie nur einen Teil der Bereitstellung einer Full-Stack-Anwendung dar. Um einen vollständigen Anwendungsstapel mit Servern, Daten, kompiliertem Anwendungscode und Infrastruktur auf koordinierte und getestete Weise zu erstellen, ist mehr als ein einfaches Automatisierungstool erforderlich.
Sie benötigen ein Orchestrierungstool auf höherer Ebene – mit zugehörigen Workflows und Integrationen mit einer Reihe von Automatisierungssystemen. Diese Tools werden am häufigsten in Arbeitspraktiken zur kontinuierlichen Integration/kontinuierlichen Bereitstellung (CI/CD) verwendet, für die bei allen praktischen Implementierungen eine Automatisierung erforderlich ist. Obwohl es eine Reihe von Orchestrierungstools gibt, ist Jenkins wahrscheinlich das am weitesten verbreitete Tool. Außerdem sind Beispiel-Workflows verfügbar, die zeigen, wie Sie mit Jenkins, F5 und Ansible F5-Infrastructure-as-Code-Funktionen in einen CI/CD-Workflow integrieren können. Im Allgemeinen wird das Orchestrierungstool jedoch über eines der Tools zur Konfigurationsautomatisierung arbeiten, um tatsächlich Änderungen vorzunehmen und Dienste bereitzustellen.
Da für die Funktionsfähigkeit von BIG-IP-Plattformen eine Lizenzierung erforderlich ist, ist es hilfreich, 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 für Test- und Entwicklungszwecke erstellt werden müssen, sollten Lizenzierungsmodelle sorgfältig überlegt werden.
Eine Möglichkeit in der öffentlichen Cloud besteht darin, Utility-Billing-Versionen von BIG-IP zu verwenden (verfügbar über Cloud-Marktplätze). Für die Abrechnung von Versorgungsleistungen erfolgt eine Selbstlizenzierung, und die Kosten werden über den Cloud-Anbieter auf Pay-as-you-use- oder zeitabhängiger Basis abgerechnet.
Eine weitere Möglichkeit besteht darin, Pools wiederverwendbarer Lizenzen zu verwenden, die im Abonnement (oder unbefristet) erworben wurden, zusammen mit dem F5 BIG-IQ License Manager , mit dem Sie Lizenzen aus einem Pool zuweisen und widerrufen können.
Sie können die Lizenzierungsschritte durch Start-Agenten und API-Aufrufe automatisieren, was einen ausgehenden Internetzugriff auf den F5-Lizenzserver erfordert (auch bei Utility-Lizenzen in Cloud-Plattformen).
Abhängig von Ihrer Organisation kann die Auswahl der richtigen Automatisierungs- und Orchestrierungstools sehr einfach oder eine schwierige Aufgabe sein. Dies ist einfach, wenn Sie bereits ein Tool oder eine Methodik für andere Komponenten übernommen haben und BIG-IP nur in das System integrieren müssen. Auch ohne Integration in ein bestimmtes Tool ist die Integration von BIG-IP in ein vorhandenes Automatisierungstool dank der umfangreichen iControl REST API in Kombination mit den iControl LX-Funktionen und Cloud-Init relativ unkompliziert (insbesondere in Kombination mit iApp-Vorlagen, mit denen sich sogar komplexe Konfigurationen mit einem einzigen API-Aufruf erstellen lassen).
Wenn Sie jedoch bei Null anfangen, können die Dinge komplexer sein. Wie bei der Auswahl jeder anderen Lösung sollte das Verständnis Ihrer Anforderungen an erster Stelle stehen. Obwohl dieses Dokument keine Liste Ihrer Anforderungen für Sie erstellen kann, finden Sie hier eine Reihe von Fragen und Empfehlungen, die Ihnen bei der Beurteilung helfen sollen.
Automatisierungsmodell: Die Interaktion mit einem deklarativen Modell ist für Ihre Orchestrierungsverbraucher wesentlich einfacher. Die Verbraucher müssen lediglich wissen, was sie wollen, und nicht alle Verfahrensschritte durchlaufen, um dorthin zu gelangen. Die F5 Automation Toolchain-Familie wird künftig die „Modell“-Bereitstellung für Greenfield-Sites darstellen.
Mögliche Plattformen und Umgebungen: Es ist unvermeidlich, dass Container und eine Reihe von Cloud-Plattformen einen zentralen Teil der Anwendungsinfrastruktur darstellen werden – planen Sie entsprechend.
Fähigkeiten: Verfügen Sie bereits über Kenntnisse in einigen der zugrunde liegenden Technologien? Bedenken Sie, dass diese Fähigkeiten möglicherweise nicht nur in Ihrer Abteilung, sondern auch in Ihrem gesamten Unternehmen vorhanden sind. In diesem Fall ist es möglicherweise sinnvoll, ein Tool auszuwählen, das eine Sprache verwendet, die in Ihrem Unternehmen bereits eingeführt ist.
Supportfähigkeit: Bauen Sie nur Systeme, die Sie unterstützen können. Dies mag zwar offensichtlich erscheinen, doch ein Schlüssel zum Erfolg liegt darin, den Grad der Komplexität zu wählen, den Sie in Ihrem Unternehmen umsetzen können – sodass Sie die Vorteile der Automatisierung maximieren, ohne einen übermäßigen Betriebsaufwand zu verursachen.
Eine zunehmende Automatisierung von IT-Systemen ist unumgänglich. Durch einen strategischen Ansatz für die Bereitstellung wichtiger Anwendungen und Sicherheitsdienste stellen Sie sicher, dass die von Ihrem Unternehmen eingesetzten Anwendungen sicher und verfügbar bleiben. Automatisierung kann auch dazu beitragen, Ihren Betriebsaufwand zu reduzieren, insbesondere wenn Sie auf mehreren Plattformen und in öffentlichen Clouds arbeiten.
Die Auswahl des richtigen Automatisierungssystems kann eine Herausforderung sein und sollte im Idealfall in einer gemeinsamen und ganzheitlichen Anstrengung erfolgen, wobei die Ihnen zur Verfügung stehenden Fähigkeiten sowie Ihre Fähigkeit, das von Ihnen erstellte System zu unterstützen, berücksichtigt werden sollten. Für welche Lösung Sie sich auch entscheiden, Sie können sicher sein, dass Ihnen die BIG-IP-Plattform und das Know-how von F5 zur Verfügung stehen, um Ihnen dabei zu helfen, die unternehmenstauglichen Dienste bereitzustellen, auf die Ihre Anwendungen angewiesen sind – ganz gleich, wo diese bereitgestellt werden.
Ein Hinweis zur F5-Unterstützung. F5 bietet Unterstützung für mehrere, aber nicht alle Vorlagen und Tools. Sofern Software auf Github verfügbar ist, befindet sich der unterstützte Code nur in den „supported“-Ordnern der F5-Repositories. Bei anderer Software sind die Supportrichtlinien in den entsprechenden Readme-Dateien definiert.