Verwenden der Docker-Containertechnologie mit Produkten und Diensten von F5

Zusammenfassung

Die sich entwickelnden Anforderungen der IT und das Aufkommen agiler Entwicklungs- und Bereitstellungsstrategien haben zur Entstehung der „Containerisierung“ geführt, einer Alternative zur vollständigen Maschinenvirtualisierung, bei der eine Anwendung in einem Container mit eigener Betriebsumgebung gekapselt wird. Die Containerisierung ist eine attraktive Lösung, die Entwicklern schnellere Iterationen ermöglicht. Darüber hinaus bietet es zusätzliche Vorteile, die den mit virtuellen Maschinen verbundenen Overhead berücksichtigen und so eine bessere Ressourcenauslastung im softwaredefinierten Rechenzentrum (SDDC) ermöglichen.

Obwohl die Containerisierung kein neues Konzept ist, wird Docker, entwickelt von Docker, Inc. , aufgrund seiner breiten Branchenunterstützung, Standardisierung und umfassenden Leistungsbreite häufig als Implementierung der Wahl genannt. In den Worten des Unternehmens ist Docker „eine offene Plattform zum Erstellen, Versenden und Ausführen verteilter Anwendungen.“ Es bietet Programmierern, Entwicklungsteams und Betriebsingenieuren die gemeinsame Toolbox, die sie benötigen, um die verteilte und vernetzte Natur moderner Anwendungen zu nutzen.“ Auf diese Weise vereinfacht Docker die Verwaltung des Anwendungslebenszyklus von der Entwicklung bis zur Bereitstellung und ermöglicht die Anwendungsportabilität. Diese Vereinfachung ist für Unternehmen von entscheidender Bedeutung, wenn man bedenkt, dass es mehrere Hosting-Optionen für eine Anwendung gibt, entweder in der öffentlichen Cloud oder in einer privaten Cloud-Infrastruktur.

In diesem Dokument werden die Vorgehensweise von F5 hinsichtlich der Verwendung von Containern innerhalb der F5-Technologie und der Unterstützung von Docker für die Anwendungsbereitstellung und -sicherheit beschrieben. Bevor wir diese Strategie diskutieren, ist es wichtig, die Schwachstellen des Rechenzentrums zu erkennen und zu verstehen, warum diese Technologien für die Bereitstellung von Unternehmensanwendungen der nächsten Generation von entscheidender Bedeutung sind.

Notiz: Dieses Dokument richtet sich an IT-Entscheidungsträger, Architekten und Entwickler. Es wird vorausgesetzt, dass der Leser über Vorkenntnisse in Virtualisierungstechnologie, Softwareentwicklung und dem Release-Lebenszyklusprozess verfügt.

Herausforderungen bei der Rechenzentrumsinfrastruktur

Mehrere aktuelle Studien zu Schwachstellen in der Rechenzentrumsinfrastruktur haben einen konsistenten Satz von Anforderungen für die Weiterentwicklung des Rechenzentrums ermittelt:

  • Schnellere Methoden zur Anwendungsbereitstellung
  • Ein verbesserter Workflow-Management-Prozess
  • Höhere Verfügbarkeit und Nutzung von Rechenressourcen
  • Verbesserte Agilität, um Arbeitslasten nach Bedarf zu verschieben

Mit dem Aufkommen neuer Trends in der Anwendungsentwicklung ändern Unternehmenskunden ihre Sicht auf das Anwendungslebenszyklus-Managementmodell wie folgt:

  • Anwendungen der nächsten Generation werden zunehmend für „Cloud First“ entwickelt.
  • Linux ist zum De-facto-Betriebssystem (OS) für die Cloud-Entwicklung geworden.
  • Cloud-Anwendungen der nächsten Generation:
    • Sind so konzipiert, dass sie zustandslos sind und eine lose gekoppelte Mikrodienstarchitektur verwenden.
    • Nutzen Sie Frameworks, die den unabhängigen Aufbau von Diensten ohne Abhängigkeiten von Softwareversionen oder Diensten ermöglichen.
  • Unternehmen setzen zunehmend auf Automatisierung durch den Einsatz von Konfigurationsmanagement-Tools (wie Puppet, Chef und Ansible) und DevOps-Orchestrierung, um die Agilität bei der Veröffentlichung von Software zu erhöhen.
  • Wenn Unternehmen neue Anwendungen entwickeln und vorhandene in öffentliche Clouds migrieren, ist Portabilität der Schlüssel zur Vermeidung einer Anbieterabhängigkeit. Obwohl die Technologie virtueller Maschinen (VM) eine gewisse Abstraktionsebene bietet, implementiert jeder Hypervisor seine Umgebung anders und ist daher nicht vollständig portierbar.

Docker versucht, diese Herausforderungen zu bewältigen und hat sich daher als führende und überzeugende Technologie für die Virtualisierung der Infrastruktur herausgestellt.

Docker-Übersicht

Container ermöglichen die Virtualisierung auf Betriebssystemebene, indem jede Anwendung als Betriebssystemprozess isoliert wird. Das Konzept gibt es in vielen Formen in Betriebssystemen wie BSD mit Jails, in Oracle Solaris mit Zones und zuletzt in Linux mit LXC. Docker baut auf LXC auf und hat den „Easy Button“ hinzugefügt, der es Entwicklern ermöglicht, Anwendungen über die Cloud-Infrastruktur hinweg zu erstellen, zu verpacken und bereitzustellen, ohne dass ein Hypervisor erforderlich ist.

Die folgenden Merkmale unterscheiden Docker von anderen Containertechnologien:

  • Eine leichte Abstraktionsschicht (die Docker-Engine) über dem Betriebssystem zur Verwaltung der Isolation und Vernetzung zwischen Anwendungen.
  • Eine dokumentierte Anwendungsprogrammierschnittstelle (API), um die Bereitstellung Linux-basierter Anwendungen zu vereinfachen.
  • Das Docker-Register zum Teilen von Anwendungen mit anderen Benutzern und Entwicklern.
  • Anwendungsportabilität zwischen Docker-fähigen Hosts, ob physisch, virtuell oder in der Cloud gehostet.
  • Ein Union-Dateisystem, das allen Docker-Containern ein gemeinsames Dateisystem zur Verfügung stellt.
  • Ein Ökosystem aus Partnerunternehmen, die Mehrwertdienste und -software bereitstellen, sodass sich Docker gut in eine große Bandbreite von Entwicklungsarbeitsstilen integrieren lässt.
Was ist ein Union-Dateisystem?

Ein Union-Dateisystem ermöglicht es jedem Container, seine eigenen, für diesen Container spezifischen Dienste bereitzustellen, selbst wenn der zugrunde liegende Pfad und Dateiname mit einer zugrunde liegenden Datei kollidieren. Beispielsweise benötigt ein Container möglicherweise Version 2.6 einer Python-Bibliothek, während ein anderer eine neuere Version erfordert. Das zugrunde liegende Dateisystem stellt möglicherweise die Version 2.6 bereit. In diesem Fall ist ein Container ausreichend. Der Container, der die neuere Version benötigt, kann diese jedoch als Teil seines Container-Images bereitstellen. Dies führt zu einem geringeren Platzbedarf für Container-Images, da sie nur das enthalten müssen, was für ihre Ausführung unbedingt erforderlich ist.

Zusammenfassung der Docker-Containerisierung und der virtuellen Maschinentechnologie

Das Diagramm in Abbildung 1 veranschaulicht die in VM- und Docker-Anwendungsbereitstellungen verwendeten Komponenten. Beachten Sie, dass in diesem Beispiel der VM-Ansatz über zwei Gastbetriebssysteme verfügt, um zwei Anwendungen zu unterstützen. Im Vergleich dazu benötigt Docker nur ein Host-Betriebssystem, um die gleiche Anwendungsdichte zu erreichen, hat dabei aber natürlich einen geringeren Overhead.

Vergleich von virtuellen Maschinen und Docker-Containern auf einem einzelnen Host.
Abbildung 1: Ein Vergleich von virtuellen Maschinen und Docker-Containern auf einem einzelnen Host.

Die folgende Tabelle zeigt den Vergleich zwischen VM- und Docker-Funktionen.

  VM Docker
Anwendungsspeicher-Overhead Gigabyte an Betriebssystem-Overhead pro Anwendung. Ein gemeinsames Betriebssystem für alle Container. Geringer Overhead der Docker-Engine (Megabyte).
Instanziierung Startzeit des Betriebssystems und der Anwendung. Nur Zeitpunkt des Anwendungsbeginns.
Ressourcenzuweisung

Starr und monolithisch.

Virtuelle CPUs werden normalerweise physischen CPU-Kernen oder Hyper-Threads zugewiesen.

Normalerweise wird einem VM-Host vorab Speicherplatz zugewiesen.

Flexibel.

Docker-Containern können CPU-Grenzen zugewiesen werden und sie können physische Host-CPU-Kerne sehr effizient gemeinsam nutzen.

Die Speichernutzung von Docker kann bei Bedarf begrenzt werden, der verwendete Speicher kann jedoch effizient zwischen Prozessen auf dem Host und seinen Containern aufgeteilt werden.

Die Festplatte wird über das Union-Dateisystem gemeinsam genutzt.

Sicherheit

Exzellent.

VMs leben in völlig getrennten Welten, die kaum gemeinsam genutzt werden, sofern die Hosting-Umgebung dies nicht ausdrücklich zulässt.

Gut.

Der Betriebssystemkernel verhindert, dass Container auf den Speicherplatz der anderen zugreifen.

Das Union-Dateisystem bietet jedem Container eine schreibgeschützte Ansicht des gemeinsam genutzten Containers. Wenn ein Container etwas ändert, erhält er eine containerspezifische Kopie dieser Daten, die nur von diesem Container gesehen wird.

Docker auf virtuellen Maschinen

Wie bereits erwähnt besteht das Hauptziel von Docker darin, die Verwaltung des Anwendungslebenszyklus zu vereinfachen. Obwohl Docker auf Bare Metal sicherlich eine attraktive Option darstellt, bietet die Ausführung von Docker auf Hypervisoren auch Vorteile. Hierzu gehören die Möglichkeit, Snapshots zu erstellen und Livemigrationen eines gesamten Gastes zu ermöglichen. Beides könnten wichtige Voraussetzungen für eine Notfallwiederherstellung sein, ohne den laufenden Status zu verlieren.

Führende Infrastrukturverwaltungs- und Orchestrierungslösungen wie VMware vRealize Suite, OpenStack und öffentliche Clouds wie AWS und Azure unterstützen Docker alle auf einer bestimmten Hypervisor-Variante, stellen dem Docker-Container jedoch eine gemeinsame Umgebung bereit und ermöglichen so die Anwendungsportabilität unabhängig von der Umgebung. Mit dieser Art von heterogenem Bereitstellungsmodell können Kunden mit der Nutzung von Docker beginnen und von den Vorteilen schnellerer Iterationen profitieren, ohne die zugrunde liegende Infrastruktur ändern zu müssen.

Durch die Umstellung auf eine einzelne VM und ein einzelnes Betriebssystem pro Host können Kunden auch Ressourcenvorteile erzielen, da die VM nicht um Ressourcen konkurrieren muss. Diese Effizienzsteigerung ist darauf zurückzuführen, dass Speicher und lokale Festplatte diesem einzelnen Betriebssystem zugewiesen werden können, während der Hypervisor nicht mehr zwischen mehreren Betriebssystemen vermitteln muss.

Technischer Überblick über Docker-Netzwerke

Mithilfe der Netzwerkfunktion können Sie in der Docker Engine virtuelle Netzwerke erstellen, die sich über mehrere Hosts erstrecken. Container können an diese Netzwerke angeschlossen werden, wo auch immer sie sich befinden. Dies ermöglicht eine vollständige Kontrolle über die Netzwerktopologie und darüber, welche Container mit welchen anderen Netzwerkelementen kommunizieren können. Darüber hinaus lässt sich das System, das die Netzwerke mit Strom versorgt, durch ein Plug-In ersetzen, sodass Sie die Integration in jedes gewünschte Netzwerksystem vornehmen können, ohne die Anwendung ändern zu müssen.

Um eine hohe Containerdichte auf einem beliebigen Host zu ermöglichen, ist es wichtig, den Mechanismus zu verstehen, mit dem jeder Container dem Netzwerk beitritt. Docker weist jedem Container standardmäßig eine private Adresse zu, die nur von einem anderen Container, der sich auf demselben Host befindet, direkt erreichbar ist.

Damit Dienste einen Container von einem anderen Host aus erreichen können, müssen sie über die iptables-basierte Network Address Translation (NAT)-Funktion von Docker weitergeleitet werden. Abbildung 2 zeigt ein Beispiel.

Abbildung 2: Dienste werden über die iptables-basierte NAT-Funktion von Docker geleitet, um einen Container auf einem anderen Host zu erreichen.

Die Hostschnittstelle (Eth0) wird unter Verwendung einer anderen Adresse verfügbar gemacht (in diesem Fall eine andere RFC1918-Adresse, 192.168.10.10). Jedem Docker-Container wird beim Start automatisch eine Adresse im Bereich 172.x.x/16 zugewiesen. Damit ein Container bidirektional mit Entitäten außerhalb seines Hosts kommunizieren kann, muss ihm über iptables ein expliziter Regelsatz zugewiesen werden.

Im Beispiel in Abbildung 2 wurden die Regeln so konfiguriert, dass die Container über eine IP- und Portzuordnung kommunizieren können, wobei Container A als 192.168.10.10/Port 80 und Container B als 192.168.10.10/Port 81 verfügbar gemacht wird. Container C kann jedoch nur über die Adressierung 172.17.0.x mit den anderen beiden Containern kommunizieren.

Docker unterstützt auch IPv6 und ermöglicht die Verwendung vollständig routingfähiger Adressen. Dadurch können Container mit anderen auf verschiedenen Hosts kommunizieren, ohne dass eine Adresszuordnung erforderlich ist. Dies funktioniert jedoch nur für IPv6 und ist daher in manchen Umgebungen möglicherweise nur eingeschränkt anwendbar.

SDN und Docker

Viele softwaredefinierte Rechenzentren nutzen das Konzept des softwaredefinierten Networking (SDN), um ihre Gäste flexibel einzusetzen. SDN ermöglicht die Konfiguration isolierter Netzwerktunnel für unabhängige Mandanten auf derselben physischen Hardware. Es kann auch nützlich sein, eine getunnelte Schicht 2 innerhalb eines Cloud-Rechenzentrums bereitzustellen, die andernfalls vollständig geroutet würde. Docker-Netzwerke basieren auf dem Konzept der Docker Bridge, die an einen Open vSwitch angeschlossen werden kann, um die Interoperabilität mit Technologien wie VXLAN oder GRE zu ermöglichen.

Die Verwendung von Open vSwitch auf diese Weise ermöglicht eine Layer-2-Netzwerktrennung für mehrere Mandanten sowie Optionen zur Verbindung mit anderen virtualisierten Umgebungen. Beispielsweise ist es wahrscheinlich, dass ein Rechenzentrum, das Docker verwendet, weiterhin virtuelle Maschinen für wichtige Dienste nutzt, für die bekannte dedizierte Ressourcen reserviert werden sollten. Dies können beispielsweise Anwendungsbereitstellungsdienste oder Hochleistungsressourcen wie Datenbanken und Verarbeitungsknoten sein. Diese Ressourcen können über Technologien wie VXLAN oder GRE mit dem Netzwerk verbunden werden, sodass der Datenverkehr eines Mieters für einen anderen nicht sichtbar ist.

Zum Skalieren von Anwendungen in dieser Art von Umgebung sind ADC-Dienste erforderlich, die auch nativ an den Tunnelprotokollen teilnehmen können. F5 bietet Multi-Tenant-VXLAN- und GRE-Funktionen, sodass Funktionen wie Lastausgleich, SSL-Offload, Firewall, Anwendungssicherheit, NAT und DNS-Dienste den Clients im Netzwerk über einen Tunnel bereitgestellt werden können. Darüber hinaus bietet F5 Interoperabilität zwischen Tunnelkapselungstypen, einschließlich 802.1Q VLANs.

Abbildung 3: F5 bietet Interoperabilität zwischen Tunnelkapselungstypen, einschließlich 802.1Q VLANs.

In dem in Abbildung 3 gezeigten Beispiel können sich zentrale Anwendungsebenen, wie etwa eine Datenbank, in einem anderen Teil des Rechenzentrums befinden als die Ressourcen, die zum Hosten von Docker-Instanzen verwendet werden. In einem solchen Fall könnte das Mieternetzwerk GRE oder VXLAN verwenden, um die beiden ansonsten physisch getrennten Subnetze zu isolieren und zu verbinden.

Eine BIG-IP-Lösung kann nahtlos auf Mandantenebene in das Netzwerk eingefügt werden, indem auf der BIG-IP-Instanz ein VXLAN-Tunnelendpunkt (VTEP) erstellt wird. Es wird dann Teil des Mandantennetzwerks mit Konnektivität zu den Docker- und virtuellen Maschineninstanzen.

Ab Version 1.7 bietet Docker einige experimentelle Funktionen, die die grundlegenden Netzwerkfunktionen von Docker um SDN-Konzepte erweitern. Die Plug-in-Architektur bietet eine spannende Möglichkeit, die Einbindung von F5-Netzwerk- und Anwendungsbereitstellungsdiensten für eine Vielzahl neuer Anwendungsfälle zu ermöglichen, darunter Firewalls der nächsten Generation mit anwendungsorientierten Containern, Containerflussanalyse und Richtliniendurchsetzung sowie Verkehrsmanagement pro Fluss.

F5-Anweisung zur Docker-Containerisierung

F5 bietet eine Reihe von Produkten zur Virtualisierung an. Als ADC-Marktführer mit dem branchenweit breitesten Portfolio an Anwendungsbereitstellungs- und Sicherheitsdiensten der Stufen L4–L7 erforscht F5 ständig innovative Technologien und erweitert diese Technologien auf alle BIG-IP-Plattformen, da ihnen allen ein gemeinsames zugrunde liegendes Framework zugrunde liegt. Abbildung 4 zeigt die Bandbreite des Produktangebots von F5, von kundenspezifischer Hardware bis hin zu kompletten Cloud-basierten As-a-Service-Angeboten für L4-L7-Dienste. Die BIG-IP-Plattform ist gut positioniert, um Anwendungen zu unterstützen, die auf Docker-Containern laufen.

Abbildung 4: F5 bietet eine umfassende Palette an Anwendungsbereitstellungs- und Sicherheitsdiensten über eine einheitliche Plattform.
Weiterentwicklung der F5-Plattform mit Docker

Wie oben erwähnt, erkennt F5 die Vorteile von Docker in verschiedenen Anwendungsfällen. Die Bereitstellung in containerisierten Infrastrukturen steckt jedoch noch in den Kinderschuhen und es gibt zahlreiche Optionen für die Diensterkennung (wie Consul, etcd und Mesos-DNS), Orchestrierung und Verwaltung des Lebenszyklus von Containerdiensten (darunter Mesos, OpenStack, Kubernetes, Docker und Cloud Foundry). Obwohl Netzwerkdienste einen entscheidenden Aspekt dieses Ökosystems darstellen, ist eine enge Integration mit der Orchestrierungsumgebung wichtig, um eine reibungslose Bereitstellung zu gewährleisten. Eine solche Integration ist auch wichtig, um L4-L7-Dienste für Benutzer verfügbar und transparent zu machen, die auf Mikrodiensten basierende Anwendungen in einer containerisierten Infrastruktur bereitstellen. Der Ansatz von F5 zielt darauf ab, eine konsistente Erfahrung in Bezug auf Dienste und Visualisierung über Bare-Metal-, virtualisierte oder containerisierte Bereitstellungen hinweg bereitzustellen.

Der erste Teil der Problemlösung besteht darin, Netzwerkdienste für den Nord-Süd-Verkehr (N-S) bereitzustellen (also für den Verkehr für die „auf der Clientseite ausgerichteten Mikrodienste“). Die meisten führenden Orchestrierungsplattformen kümmern sich um die Bereitstellung, Skalierung und Offenlegung der Konnektivität von containerisierten Diensten zur Außenwelt. Durch die Ermöglichung einer engen Integration mit führenden Container-Orchestrierungsplattformen stellt F5 sicher, dass N-S-Mikroservices automatisch von BIG-IP-Systemen erkannt werden können, die dann den Datenverkehr für diese Dienste verwalten können. Beispielsweise bieten Mesosphere Marathon und Kubernetes die Möglichkeit, Dienste zu „labeln“. Diese Labels können zum Erkennen clientseitiger Dienste (Hochfahren, Herunterfahren oder Skalieren) verwendet und automatisch als Poolmitglieder zum BIG-IP-System hinzugefügt werden.

Die Verwendung des oben beschriebenen Ansatzes mit BIG-IP-Hardware oder virtuellen Editionen (VEs) ermöglicht die Zentralisierung kritischer Funktionen mit Hardwarebeschleunigung wie:

  • SSL-Offload mit zentraler Zertifikatsverwaltung.
  • Beschleunigung wie Komprimierung, TCP-Optimierung und SPDY/HTTP2.
  • Ausgefeilte Firewall mit DoS-Schutz.
  • Anwendungsflüssigkeit zur Abwehr von Angriffen auf Anwendungsebene.
  • Sichtbarkeit für alle ein- und ausgehenden Netzwerkverbindungen.
  • Deutlich verbessertes Debugging durch intelligente Protokollierung und Anomalieerkennung.
F5- und IPv4-zu-IPv6-Konvertierung mit DNS-Unterstützung

F5-Lösungen bieten die Möglichkeit, containerisierte Anwendungen zu skalieren sowie IPv4-zu-IPv6- und DNS-Konvertierungen zwischen der Docker-Infrastruktur und dem externen Netzwerk durchzuführen. Um eine vollständig routingfähige Docker-Container-Infrastruktur nutzen zu können, benötigen Unternehmen nicht nur eine effiziente IPv4-zu-IPv6-Netzwerkfunktion, sondern auch Unterstützung für die Übersetzung von DNS-Anfragen. Die Docker-Container-Infrastruktur kann ausschließlich in IPv6 betrieben werden, ist vollständig von IPv4 isoliert und kann dennoch gleichzeitig einen nahtlosen Pfad zur IPv4-Konnektivität aufrechterhalten.

Abbildung 5: BIG-IP-Systeme führen sowohl DNS64 als auch NAT64 aus, um eine IPv6-zu-IPv4-Konnektivität zu ermöglichen.

In dem in Abbildung 5 gezeigten Beispiel wurden NAT64- und DNS64-Dienste bereitgestellt (auch hier in beliebiger Form, physisch oder virtuell). Der Docker-Container versucht eine Verbindung zu www.example.com herzustellen, für die in diesem Beispiel keine IPv6-Adresse existiert.

Das BIG-IP-System ist als DNS-Resolver für die Docker-Plattforminstallation konfiguriert. Es ist mit einer IPv6-Adresse für den DNS-Resolver selbst sowie einer speziellen IPv6-Präfixadresse (rot dargestellt) für die Übersetzung von IPv4 nach IPv6 konfiguriert.

Nachdem das BIG-IP-Gerät die IPv6-DNS-Abfrage empfangen hat, führt es zunächst eine rekursive Operation aus, um zu prüfen, ob eine IPv6-Adresse verfügbar ist. In diesem Beispiel antwortet der autoritative DNS-Server für www.example.com jedoch mit einem leeren Datensatz auf die AAAA-Anfrage. Anschließend führt das BIG-IP-Gerät eine IPv4-Abfrage durch, für die es einen DNS-A-Eintrag erhält. Es stellt der IPv4-Adresse die spezielle Präfixadresse voran und sendet diese an den Docker-Client zurück.

Die Adresse des Docker-Clients wurde jetzt aufgelöst und er initiiert eine TCP-Verbindung. Da Docker das spezielle Präfix verwendet, erkennt die NAT64-Funktion, dass eine Übersetzung von IPv6 nach IPv4 erforderlich ist.

Die NAT64-Funktion erstellt eine Bindung für die Verbindung zwischen der Docker-IPv6-Adresse, der speziell vorangestellten NAT64-Adresse für diesen IPv4-Server und dem IPv4-Server. Die Verbindungsanfrage wird an den IPv4-Server gesendet. Alle Antworten von diesem Server, der über IPv4 antwortet, werden von der NAT64-Funktion für die Konnektivität zwischen dem Docker-Container und dem IPv4-Server übersetzt.

F5 und Ost-West-Verkehrsströme

Der nächste entscheidende Schritt zur Schaffung einer engen Integration ist die Bereitstellung von Diensten für den Ost-West-Verkehr (E-W), also die Datenübertragung zwischen Mikrodiensten, die ADC-Dienste erfordern. Angesichts der Notwendigkeit, Dienste in Sekundenschnelle hochzufahren, und der kurzlebigen Natur der Mikrodienste besteht der Ansatz von F5 darin, einen leichtgewichtigen ADC zu ermöglichen. (Für erweiterte Dienste wie Authentifizierung oder L7-Schutz auf Anwendungsebene wird der Datenverkehr zur BIG-IP-Instanz am N-S-Rand umgeleitet.)

In einer Microservices-Architektur ist die Anzahl der Containerdienste wesentlich höher als in einer herkömmlichen Architektur, da zwischen den Microservices mehrere Kommunikationswege bestehen. Der wahrscheinliche Nebeneffekt dieser Architektur kann Komplexität sein, die die Behebung von Leistungsproblemen erschwert. Wenn beispielsweise eine Anwendung eine schlechte Leistung zeigt, ist es wichtig, eine End-to-End-Sichtbarkeit über verschiedene Dienste hinweg vom N-S-Rand bis zum Rand zu haben. Daher ist ein zentralisierter Visualisierungsansatz, der die Verkehrsmuster zwischen dem BIG-IP-System in der N-S-Domäne und dem leichten ADC in der E-W-Domäne korrelieren kann, für die Fehlerbehebung äußerst wichtig.

Instanzen von F5 BIG-IP-Lösungen können auch zwischen Anwendungen eingefügt werden, um Lastausgleichs- oder Sicherheitsdienste bereitzustellen und so die Sicherheitsbedenken hinsichtlich des Ost-West-Verkehrs auszuräumen. Beispielsweise kann ein Docker-Host so konfiguriert werden, dass der Datenverkehr von einem Container durch ein BIG-IP-System geleitet wird, wo er analysiert wird, bevor er in einen anderen Container gelangt. Dies kann mit dem BIG-IP Application Security Manager™ (ASM) durchgeführt werden, der anwendungskompatibel ist und erkennen kann, ob der betreffende Container einem Angriff ausgesetzt ist, beispielsweise durch Ausnutzen einer Schwachstelle.

F5s schrittweiser Ansatz zur Bereitstellung von Docker-Diensten

Viele erfolgreiche Bereitstellungen von F5-Kunden nutzen heute die Containerisierung im großen Maßstab. Diese Organisationen decken viele vertikale Märkte ab, darunter Finanz-, Telekommunikations- und SaaS-Anbieter. Die Rolle der F5-Lösungen in diesen Umgebungen umfasst derzeit die Bereitstellung von ADC-Diensten, um schnelle, sichere und verfügbare Anwendungen zu gewährleisten. Diese Dienste können integriert werden, um Anwendungseigentümern oder DevOps die Selbstbedienung zu ermöglichen – oder um diese Dienste über das Containerverwaltungssystem zu orchestrieren.

F5 plant, diese Dienste auf die containerisierte Infrastruktur selbst auszuweiten, um die Diensteerkennung, das Ost-West-Verkehrsmanagement und die Sicherheit zu berücksichtigen. F5 plant außerdem, die Containerisierung innerhalb seiner Produktsuite zu nutzen, die Technologie auf physischen Plattformen zu verwenden, Softwaredienste in Containern anzubieten und die containerisierte Architektur innerhalb der Cloud-basierten Serviceplattform F5 Silverline® zu nutzen.

Die folgende Tabelle bietet einen Einblick in die Richtungen, die F5 erforscht oder aktiv entwickelt:

Heute verfügbar Kurzfristig Halbzeit Zukunft

BIG-IP-Produkte gewährleisten hohe Verfügbarkeit und Skalierbarkeit von Containeranwendungen durch VIP zu einem L4-Port und IP-Mapping, mit vollständiger REST-API für die Orchestrierungsintegration. Die gesamte Palette an Verfügbarkeits-, Beschleunigungs-, Caching- und DNS-Funktionen kann zusammen mit den führenden Sicherheitsschutz- und Risikominderungsfunktionen von F5 für Docker-Umgebungen bereitgestellt werden.

Darüber hinaus bietet F5 Plug-Ins an, mit denen alle BIG-IP-Formfaktoren in Docker-Umgebungen mit OpenStack ausgeführt werden können.

Die F5 Silverline-Plattform wird im Rahmen des Abonnementdienstes die elastische Rechenkapazität für erweiterte verhaltensbasierte DDoS-Funktionen nutzen.

Die neuen Netzwerkfunktionen von Docker ermöglichen die Einbindung neuer Dienste für erweitertes E-W-Verkehrsprofiling, Richtliniendurchsetzung und Sicherheitsanalyse mit Verkehrsprüfungs- und Sichtbarkeitsfunktionen.

F5 erkundet aktiv neue Funktionen für die F5 vCMP® - Technologie, um eine hohe VM-Dichte zu ermöglichen und die Grundlage dafür zu legen, dass vCMP die Vorteile neuer Bereitstellungsmodelle, einschließlich Docker, nutzen kann.

F5 möchte den Footprint eines Elastic Computing Managers für den Einsatz bei Kunden erweitern, sodass BIG-IP-Lösungen in jedem Format containerisierte Rechenfunktionen für anspruchsvolle Workloads nutzen können.

F5 unterstützt einen offenen Containerstandard (OCS), damit F5-Virtualisierungsdienste über mehrere Containerformate hinweg ausgeführt werden können.

Abschluss

Docker bietet klare Möglichkeiten zur Verbesserung der Effizienz von Rechenzentren, egal ob physisch oder Cloud-basiert. Gleichzeitig können Docker-Anwender sicherer sein, dass ihre Anwendungen in neue Umgebungen portierbar sind. Entscheidend ist, dass Docker es Anwendungsentwicklern ermöglicht, flexibler zu werden und Anwendungen schneller auf den Markt zu bringen. Bei der Weiterentwicklung ihrer DevOps zum Docker-Modell nutzen Kunden häufig die Gelegenheit, neue Workflows für die Selbstbedienung einzuführen, die auf kleineren standardisierten Diensten basieren, auf denen Entwickler ihre Anwendungen platzieren können.

Docker ermöglicht eine schnelle Skalierung von Anwendungen durch die Instanziierung leichter Container, und die Anwendungsbereitstellungsprodukte von F5 unterstützen solche Umgebungen vollständig. Mit F5 BIG-IP-Lösungen können Kunden den gesamten Lebenszyklus einer Anwendung orchestrieren. Dies kann durch umfassende REST-APIs für kritische Vorgänge erfolgen, beispielsweise für die Erstellung und Wartung von VIPs, eine zentrale SSL-/Zertifikatsverwaltung, Firewall-Dienste und Anwendungssicherheit mit hoher Verfügbarkeit in einer Multi-Tenant-Architektur.

Docker kann in zahlreichen Modellen genutzt werden, darunter in öffentlichen und privaten Cloud-Bereitstellungen. F5 ist Vorreiter bei der Bereitstellung von Interoperabilität und Support für diese Umgebungen und bietet wichtige Funktionen, die speziell auf OpenStack, VMware und große Cloud-Anbieter wie Amazon AWS und Microsoft Azure ausgerichtet sind.

Kunden, die zu einem weiterentwickelten DevOps-Modell wechseln, in dem Docker eine wichtige Komponente ist, erkennen, dass die potenziell erreichbaren betrieblichen Verbesserungen von einer Plattform abhängen, die skalierbar, sicher, hochverfügbar und so agil ist, wie es neue Arbeitsabläufe erfordern. Die Produkte und Dienste von F5 sind auf die Zusammenarbeit mit dem breitesten Spektrum an Technologien und Technologiepartnern in der Branche ausgelegt, um das Versprechen der Docker-Vision einzulösen. Das Engagement von F5 für Docker wird durch solide Roadmap-Investitionen und kontinuierliche Produktverbesserungen untermauert, um den Erfolg dessen sicherzustellen, was eines der dominierenden Bereitstellungsmodelle für das softwaredefinierte Rechenzentrum werden wird.

Veröffentlicht am 20. Juni 2016
  • Auf Facebook teilen
  • Teilen mit X
  • Auf Linkedin teilen
  • Teilen per E-Mail
  • Teilen über AddThis

Verbinden mit F5

F5 Labs

Die neuesten Erkenntnisse im Bereich Anwendungsbedrohungsinformationen.

DevCentral

Die F5-Community für Diskussionsforen und Expertenartikel.

F5-Newsroom

Neuigkeiten, F5-Blogs und mehr.