Microservices: Kong Gateway 2.0 läuft hybrid
Der neue Hybrid Mode trennt die Kontroll- von der Datenschicht und zielt auf den ĂĽbergreifenden Einsatz zwischen Rechenzentrum und Cloud.
Das Unternehmen Kong hat Version 2.0 des gleichnamigen Microservices-Gateway veröffentlicht. Die Hauptversion bringt eine neue Art der Verteilung mit, die auf den hybriden Einsatz zwischen Rechenzentrum, privater und öffentlicher Cloud ausgelegt ist. Außerdem lässt sich nun Go als Programmiersprache für Plug-ins verwenden, und Kong integriert Let's Encrypt.
Traditionell besteht das System aus einer Kombination von Kong Server und dem Kong Datastore zum Speichern und horizontalen Verteilen der Konfiguration. Als technische Grundlage fĂĽr den Kong Server dient der HTTP-Server Nginx. Der Datastore setzt auf Apache Cassandra oder PostgreSQL.
Seit Kong 1.1 lässt sich das Gateway optional ohne Datenbank im sogenannten DB-less-Mode betreiben, bei dem die Daten jeweils im Speicher liegen. Die bisherige Architektur stößt bei sehr großen Installationen oder einer Verteilung über unterschiedliche Clouds plus Rechenzentrum an ihre Grenzen.
Eine Ebene, sie zu kontrollieren
Der in Version 2.0 eingeführte Hybrid Mode trennt die Kontroll- von der Datenschicht (Control Plane, CP, und Data Plane, DP). Erstere verwaltet die Daten und verteilt die Konfiguration an die Data-Plane-Instanzen. Für den hybriden Einsatz kann die Control Plane beispielsweise in der privaten Cloud des Unternehmens liegen, während die Data-Plane-Instanzen auf private und öffentliche Cloud sowie das Rechenzentrum verteilt sind.
Die zentrale Steuerung soll nicht nur die Performance verbessern sondern auch die Security. Kong verwendet Zertifikat-SchlĂĽssel-Paare, die ĂĽber die CP- und DP-Nodes verteilt sind. Zur Authentifizierung setzt das Gateway auf mTLS (Mutual TLS Authentication), und die privaten SchlĂĽssel wandern nie ĂĽber das Netzwerk.
ACME und Go
Auch beim allgemeinen Zertifikatsmanagement bringt Kong 2.0 Neuerungen mit. So lässt sich neuerdings das Automatic Certificate Management Environment (ACME) v2 nutzen, und Kong integriert Let's Encrypt. Eine Anleitung für den Einsatz des ACME-Plug-ins ist auf der Kong-Site zu finden.
Die zentrale und bisher einzige Programmiersprache zum Erstellen von Plug-ins für Kong ist Lua. Das aktuelle Release führt ein Go PDK (Plugin Development Kit) ein, mit dem Entwickler Erweiterungen in der von Google initiierten Programmiersprache Go schreiben können. Ein Leitfaden auf der Kong-Site führt in die Verwendung von Go für das Microservices Gateway ein.
Der Gorilla verwaltet Microservices
Kong verbindet ein Open-Source-API-Gateway mit einem Load Balancer. Das Gateway hat italienische Wurzeln und entstand ursprĂĽnglich 2009 in Mailand. Bis zur Umbenennung 2017 hieĂź das dahinter stehende Unternehmen Mashape, und die Software Kong ist seit 2015 ein Open-Source-Projekt.
Daneben existiert ein Enterprise-Produkt, das zusätzliche Funktionen unter anderem zur Administration, für Security und Hochverfügbarkeit bietet. Außerdem enthält die Enterprise-Variante mit Kong Studio eine angepasste Version von Insomnia zum Erstellen, Testen und Veröffentlichen von REST- und GraphQL-basierten Schnittstellen.
Weitere Neuerungen in Kong 2.0 unter anderem im Zusammenspiel mit Prometheus und Nginx lassen sich dem Kong-Blog entnehmen. (rme)