Inhaltsübersicht
- Seminarprofil
- Lernziele
- Zielgruppe
- Voraussetzungen
- Seminarinhalte
- Praxisübungen
- Technische Arbeitsumgebung
Seminarprofil
Das Seminar zeigt, wie fehlende Funktionen ergänzt werden, ohne den Gatewaykern unnötig zu verkomplizieren. Zuerst werden deklarative Bordmittel, CEL und Lua geprüft; erst danach folgen Go-Plugins für Handler, Clients, Proxy und Request-/Response-Modifikation.
Ein Schwerpunkt liegt auf reproduzierbaren Builds, Versions- und Plattformkompatibilität, Tests, Sicherheitsprüfung und Releaseverfahren. Zusätzlich wird die Versionsstrategie für die kommende 3.x-Linie behandelt, in der Go-Plugins in der Community Edition nicht mehr vorgesehen sind, während sie in der Enterprise Edition fortgeführt werden.
Lernziele
- Built-in-Funktionen, CEL, Lua, Go-Plugins und eigene Builds nach klaren Kriterien auswählen
- Lua-Skripte für begrenzte Request- und Response-Aufgaben sicher einsetzen
- geeignete Go-Plugin-Typen und Erweiterungspunkte bestimmen
- Plugins reproduzierbar für Laufzeitversion und Zielarchitektur bauen
- Fehler, Abhängigkeiten, Performance und Sicherheitsrisiken automatisiert testen
- eine tragfähige Migrationsstrategie für die KrakenD-3.x-Linie entwickeln
Zielgruppe
Go-Entwicklung, API- und Plattform-Engineering, DevOps, Softwarearchitektur und technische Security.
Voraussetzungen
Gute KrakenD-Konfigurationskenntnisse, sichere Go-Grundlagen, Docker und Erfahrung mit HTTP-APIs. Lua-Vorkenntnisse sind nicht erforderlich.
Seminarinhalte
1. Entscheidungsmodell für Erweiterungen
Eigener Code ist die letzte Stufe einer Entscheidungskette und muss einen klaren, dauerhaft tragfähigen Nutzen haben.
- Schritt 1: Anforderung präzisieren und prüfen, ob Endpoint-, Backend-, Transformations- oder Policy-Funktionen bereits ausreichen.
- Schritt 2: CEL für deklarative Bedingungen und Lua für lokal begrenzte Logik bewerten.
- Schritt 3: Go-Plugin oder eigener Build nur bei echten Integrations- oder Laufzeitanforderungen wählen.
- Schritt 4: Wartung, Sicherheitsupdates, Testaufwand und Versionsbindung vor der Implementierung dokumentieren.
2. Lua für Request und Response
Lua eignet sich für kleine, klar begrenzte Transformationen, darf aber nicht zur versteckten Anwendungsplattform werden.
- Schritt 1: Ausführungspunkt und verfügbare Request-, Backend- oder Response-Daten bestimmen.
- Schritt 2: Ein kleines Skript mit eindeutigen Eingaben, Ausgaben und Fehlern erstellen.
- Schritt 3: Nil-Werte, Datentypen, große Payloads und unerwartete Strukturen defensiv behandeln.
- Schritt 4: Skriptlaufzeit, Fehlermeldungen und Regressionen mit festen Testfällen prüfen.
3. Plugin-Typen und Ausführungsfluss
Der Erweiterungspunkt entscheidet über Reichweite, Sicherheitswirkung und mögliche Seiteneffekte.
- Schritt 1: HTTP-Server-Handler für frühe Requestverarbeitung und Zugangskontrolle einordnen.
- Schritt 2: HTTP-Client-Plugins für spezielle Backendkommunikation bewerten.
- Schritt 3: Proxy-Plugins sowie Request- und Response-Modifier entlang des Datenflusses zuordnen.
- Schritt 4: Den kleinstmöglichen Erweiterungspunkt wählen und globale Seiteneffekte vermeiden.
4. Go-Plugin implementieren
Das Plugin wird als kleine, testbare Komponente mit stabiler Konfigurationsoberfläche entwickelt.
- Schritt 1: Pluginvertrag, Namensraum und erwartete Konfigurationsfelder definieren.
- Schritt 2: Initialisierung, Validierung und Laufzeitlogik voneinander trennen.
- Schritt 3: Kontext, Zeitüberschreitung, Abbruch und kontrollierte Fehlerantworten berücksichtigen.
- Schritt 4: Keine Zugangsdaten protokollieren und externe Abhängigkeiten auf das notwendige Minimum begrenzen.
5. Build- und Kompatibilitätskette
Go-Plugins benötigen eine exakt abgestimmte Toolchain aus KrakenD-Version, Go-Version, Abhängigkeiten, Architektur und C-Bibliothek.
- Schritt 1: Builder und Zielimage auf dieselbe KrakenD-Patchlinie festlegen.
- Schritt 2: Abhängigkeiten mit dem Plugin-Check prüfen und Konflikte vor dem Build beheben.
- Schritt 3: AMD64- und ARM64-Artefakte getrennt erstellen und eindeutig kennzeichnen.
- Schritt 4: Plugin und Gateway gemeinsam als unveränderliches Releaseartefakt testen.
6. Qualität, Sicherheit und Performance
Eigener Code läuft im Gatewayprozess und kann deshalb Verfügbarkeit und Vertrauensgrenzen des gesamten Systems beeinflussen.
- Schritt 1: Unit Tests für Konfiguration, Fehler und Kernlogik erstellen.
- Schritt 2: Integrationstests mit realer Gatewaylaufzeit und mehreren Parallelaufrufen ausführen.
- Schritt 3: Panik, Speicherwachstum, blockierende I/O und langsame Abhängigkeiten gezielt provozieren.
- Schritt 4: Codeprüfung, Abhängigkeitsanalyse, Lasttest und Rollback als Freigabepflicht festlegen.
7. Release und 3.x-Migrationsstrategie
Die Erweiterungsstrategie muss über die aktuelle 2.x-Linie hinaus geplant werden.
- Schritt 1: Bestand an CE-Plugins nach Geschäftskritikalität und Ersatzmöglichkeiten inventarisieren.
- Schritt 2: Für 3.x zwischen Enterprise-Plugin, eigener Community-Kompilierung, externem Dienst oder Rückbau entscheiden.
- Schritt 3: Migrationspfad mit parallelen Tests und klarer Rückfalloption entwickeln.
- Schritt 4: Versionsmatrix, Artefaktablage, Verantwortlichkeit und Supportgrenze dauerhaft dokumentieren.
Praxisübungen
- Bewertung einer Anforderung mit Built-in-, CEL-, Lua- und Plugin-Entscheidungsmatrix
- Lua-Modifikation einer Backendantwort mit Fehlerbehandlung
- Implementierung eines kleinen Go-Request- oder Response-Modifiers
- Reproduzierbarer Plugin-Build und Abhängigkeitsprüfung
- Last-, Fehler- und Rollbacktest des gemeinsamen Gateway-Artefakts
- Migrationsplan für ein vorhandenes Community-Plugin in Richtung 3.x
Technische Arbeitsumgebung
Benötigt werden Go, Docker, Git, ein passender KrakenD-Builder, ein JSON-fähiger Editor und lokale Beispieldienste. Für Architekturtests stehen AMD64- und ARM64-Szenarien als vorbereitete Aufgaben bereit.
Fachbereichsleiter / Leiter der Trainer / Ihre Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.797 zzgl. MwSt. Inhaus: € 5.100 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Go-Entwickler, API- und Plattform-Engineers, DevOps und Architekten |
| Voraussetzungen: | Gute KrakenD-Kenntnisse, Go-Grundlagen, Docker und HTTP-API-Erfahrung |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
