Keycloak.X のご紹介

2019年10月11日 Stian Thorgersen 著

私たちは何を改善しようとしているのでしょうか?

Keycloak の最初の安定版リリースは 2014 年に遡ります。ソフトウェア開発において常にあることですが、もっとうまくできたはずの点がいくつかあります。

Keycloak.X では、Keycloak をより洗練され、より使いやすく、そして将来を見据えたものにするために、いくつかの大きな変更を導入することを目指しています。

Keycloak.X のいくつかの目標は次のとおりです。

この作業はいくつかの部分に分割されます。

ディストリビューション

Quarkus によって強化された新しいディストリビューションを構築することで、起動時間とメモリフットプリントを大幅に削減できます。

また、サイズと依存関係の観点から、より洗練されたディストリビューションを作成できるようになります。依存関係を減らすことで、サードパーティライブラリの CVE の数もさらに削減できます。

また、Keycloak に関連するすべての設定方法を直接記述する、適切な Keycloak 設定ファイルを導入する予定です。現在の WildFly ベースのディストリビューションでは、設定ファイルには基盤となるアプリケーションサーバーを設定するためのすべてが含まれているため非常に複雑であり、多くの場合、設定を適切に行う方法を理解するために WildFly のドキュメントを参照する必要があります。

ストレージ

現在のストレージレイヤーは複雑で、特にマルチサイトにデプロイする場合にそうです。レルムやクライアントの数など、スケーラビリティに関する多くの問題があります。セッションはメモリ内でのみ保持されるため、パフォーマンスには有利ですが、セッションの大部分がアイドル状態であり、ほとんどの時間使用されていないことを考えると、スケーリングにはあまり適していません。

新しいストレージレイヤーが具体的にどのようなものになるかはまだ決定されていませんが、私たちが確実に実現したいことは次のとおりです。

プロバイダー

今日のプロバイダーには、私たちが対処したいと考えているいくつかの問題があります。以下を含みます:

継続的デリバリー

私たちは、継続的デリバリー環境で Keycloak をより使いやすくすることを目指しています。これには、Keycloak のアップグレード、カスタムプロバイダー、および設定を考慮する必要があります。

Keycloak のアップグレードはシームレスであるべきであり、破壊的な変更はなく、むしろ非推奨期間があるべきです。

レルム設定を含む Keycloak の設定を、さまざまな環境でより簡単に管理および再現できるようにする必要があります。開発者は、開発環境でいくつかの設定変更を試し、テスト環境にプッシュしてから、最終的に本番環境で変更をライブにする必要があります。

貢献

Keycloak.X に関して、コミュニティからのご協力を歓迎します。コード、ディスカッション、または単に試してみてフィードバックを提供するなど、さまざまな形で貢献できます。

Keycloak.X への移行

Keycloak.X への移行が必要になります。実際には、前述のすべてが一度に準備できるわけではないため、複数の移行が必要になります。

ただし、この移行を可能な限りシンプルで苦痛のないものにすることを目指しています。

タイミング

私たちは Quarkus によって強化されたディストリビューションから開始しています。目標は、2019 年末までに完全に機能する安定版ディストリビューションをリリースすることですが、すでに試用および貢献できるプロトタイプがあります。

2020 年には、ストレージレイヤーとプロバイダーの両方に取り組むことを目指しています。うまくいけば、2020 年末までに、すべてとは言わないまでも、ほとんどの問題が解決されるでしょう。

私たちは、現在の Keycloak バージョンを Keycloak.X と並行してサポートし続け、最終的に古いバージョンを終了する前に、移行を行うための十分な時間を提供します。