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.
Seminar und Anbieter vergleichen
Öffentliche Schulung
Diese Seminarform ist auch als Präsenzseminar bekannt und bedeutet, dass Sie in unseren Räumlichkeiten von einem Trainer vor Ort geschult werden. Jeder Teilnehmer hat einen Arbeitsplatz mit virtueller Schulungsumgebung. Öffentliche Seminare werden in deutscher Sprache durchgeführt, die Unterlagen sind teilweise in Englisch.
Inhausschulung
Diese Seminarform bietet sich für Unternehmen an, welche gleiche mehrere Teilnehmer gleichzeitig schulen möchten. Der Trainer kommt zu Ihnen ins Haus und unterrichtet in Ihren Räumlichkeiten. Diese Seminare können in Deutsch - bei Firmenseminaren ist auch Englisch möglich gebucht werden.
Webinar
Diese Art der Schulung ist geeignet, wenn Sie die Präsenz eines Trainers nicht benötigen, nicht Reisen können und über das Internet an einer Schulung teilnehmen möchten.
Fachbereichsleiter / Leiter der Trainer / Ihre Ansprechpartner
-

Michael Adler
Telefon: + 41 (800) 225127
E-Mail: michael.adler@seminar-experts.ch -

Stefano Conti
Telefon: + 41 (800) 225127
E-Mail: stefano.conti@seminar-experts.ch
Seminardetails
| Dauer: | 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich und Webinar: CHF 1.797 zzgl. MwSt. Inhaus: CHF 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: | Basel, Bern, Luzern, Sankt Gallen, Winterthur, Zürich |
| 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 +41 (800) 225127 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
