Keycloak.X – performanter dank Quarkus

Foto des Autors
Sven-Torben Janus

Mit dem offiziellen Release von Keycloak.X ist Keycloak noch schneller, flexibler, sicherer und einfacher geworden. Das liegt nicht zuletzt an der Umstellung auf Quarkus.

Aus meiner Sicht ist die Open-Source-Applikation Keycloak seit dem ersten Release 2014 eine der besten Lösungen für das Identity and Access Management (IAM). Unternehmen nutzen die Software, um ihren Kolleg*innen einen komfortablen Single-Sign-on-Zugang (SSO) zu vielen verschiedenen Business-Anwendungen zu ermöglichen. Oder sie verbauen Keycloak in ihren digitalen Produkten und Services und kommen so den Anforderungen ihrer Kund*innen nach einer guten Usability nach. Mit der Version Keycloak 17, die im Februar 2022 veröffentlicht wurde, hat sich nun noch einmal einiges getan. Keycloak ist noch schneller und flexibler, sicherer und einfacher. Und das liegt in erster Linie daran, dass die Middleware-Komponente ausgetauscht wurde: Die neue Generation nutzt nicht mehr den WildFly Application Server, sondern das Kubernetes-native Java-Framework Quarkus.

Quarkus statt WildFly

Mit diesem Schritt vollzieht Red Hat – der Softwarehersteller hat seit 2018 die Verantwortung für Keycloak – gewissermaßen die zunehmende Verbreitung von DevOps-Organisationen nach. In einer Zeit, in der Development- und IT-Operations-Teams weitestgehend getrennt waren, war es durchaus vorteilhaft, dass ein Keycloak-Deployment auf einem vollständigen Applikationsserver als Middleware-Komponente erfolgte. Denn mithilfe der so bereitgestellten Dienste waren die Implementierung und der Betrieb der IAM-Lösung auch ohne umfassende Softwareentwicklungskompetenzen leicht möglich. Es gab aber auch einige Nachteile: Die Konfiguration und Einrichtung einer Keycloak-Instanz war recht langwierig. Außerdem war eine Installation per se recht groß, nahm deshalb relativ viel Speicher in Anspruch und brauchte einige Zeit für den Start.

Im Vergleich dazu ist Keycloak mit Quarkus deutlich schlanker, benötigt weniger Speicher und startet schneller. Das deshalb, weil das Framework eben keine vollständigen Dienste, sondern lediglich einzelne Frameworks und Bibliotheken bereitstellt. Keycloak kann damit sogar individueller ausgeprägt werden. Für DevOps-Teams ist das aber keine große Sache. Vorteilhaft ist für sie auch, dass die Konfiguration mithilfe von Umgebungsvariablen und Command-Line-Argumente anstatt XML oder CLI-Skripten erfolgt und dadurch deutlich beschleunigt wird. Und es gibt noch einen Pluspunkt: Bei Veränderungen von externen Abhängigkeiten lässt sich Keycloak jetzt schneller aktualisieren, da Abhängigkeiten auf dem Quarkus-Stack leichter zu kontrollieren sind.

Viele mittelbare Vorteile

Neben diesen Verbesserungen, die unmittelbar aus dem Wechsel von WildFly auf Quarkus resultieren, gibt es auch einige mittebare Neuerungen auf der Roadmap. Dazu gehören unter anderem Remote Extensions für eine ganze Reihe von Use Cases. Die Erweiterungen machen Keycloak zum einen Kubernetes-freundlicher und damit flexibler. Zum anderen sorgen sie für mehr Sicherheit, weil die Remote Extensions isoliert von Keycloak laufen können.

Positiv auf die Flexibilität wird sich künftig auch auswirken, dass Keycloak verschiedene Schnittstellentechnologien unterstützen soll: gRPC, Kafka, Knative und REST. Perspektivisch ist außerdem vorgesehen, Keycloak headless zu betreiben – was die Gestaltung vollständig individueller Frontends ermöglicht. Mit Blick auf die Sicherheit sind die neuen Metriken sowie verbesserte Tracing- und Logging-Funktionen hervorzuheben, die die Observability der Software in produktive Umgebungen erhöhen. Und: Da sich Keycloak insgesamt schneller an Veränderungen von externen Abhängigkeiten anpassen lässt, können auch Aktualisierung zum Schutz vor CVEs schneller übernommen werden.

UX auf neuem Niveau

Zusätzlich zu den vielen Verbesserungen bei Geschwindigkeit, Flexibilität und Sicherheit erreicht auch die Usability mit dem Release Keycloak 17 ein neues Niveau. Das liegt erstens an der neuen Use-Case-optimierten Gestaltung der Oberflächen. Zweitens soll die neue Speicherarchitektur zukünftig ein Zero-Downtime-Deployment ermöglichen. Und drittens wurde die Konfiguration in Bezug auf die Skalierbarkeit und Verfügbarkeit im Clusterbetrieb erheblich vereinfacht.

Eine Übersicht über alle neuen Features, alle Erweiterungen und alle gefixten Bugs findet sich auf der Website [Keycloak 17.0.0 released – Keycloak ] zum Release.

Mühelose Migration

Unternehmen, die bereits Keycloak im Einsatz haben, sollten rasch auf Keycloak 17 (beziehungsweise auf die aktuellste Version) wechseln. Das nicht nur, um die Vorteile für sich zu nutzen. Das Keycloak Projekt hat auch angekündigt, WildFly-basierte Versionen nur noch bis Juni 2022 zu unterstützen. Für die Migration bietet sich dieses Vorgehen an.

Auch wenn die Migration an sich sehr einfach ist – je nach Situation kann der Wechsel auf Keycloak 17 beziehungsweise noch neuere Releases dennoch etwas Zeit in Anspruch nehmen oder die eine oder andere Besonderheit aufweisen. In solchen Fällen unterstützen wir gerne mit unseren Kapazitäten und unserer Kompetenz.

Mit Klick auf den Button stimmen Sie der Verarbeitung Ihrer Daten durch Calendly laut unserer
Datenschutzerklärung zu. Sie möchten Calendly nicht verwenden? Dann erfragen Sie gerne einen Termin über unser Kontaktformular.

Schreibe einen Kommentar

Das könnte Dich auch noch interessieren

Titelbild zum Wissensbeitrag "Multi-Tenancy in Spring-Boot-Projekten"

Multi-Tenancy in Spring-Boot-Projekten

In diesem Wissensbeitrag erläutern wir die grundlegenden Eigenschaften einer Multi-Tenancy-Architektur und demonstrieren anhand eines Spring Boot-Projekts eine beispielhafte Implementierung. Dabei ...
Keycloak-Vortrag bei der SWK Ruhr

Keycloak-Vortrag bei der SWK Ruhr

Herzlichen Dank noch einmal an alle Teilnehmer meines Vortrags Skalierbare Authentifizierung mit OpenID Connect und Keycloak bei der Softwerkskammer Ruhr ...
Thorsten Kamann und Sven-Torben Janus im Conciso Workgarden

Das sind die 7 häufigsten Keycloak-Fragen

Im Laufe der letzten Jahre haben wir bei vielen unserer Kunden Keycloak implementiert. Diese 7 Fragen sind uns immer wieder ...