DaprコミュニティコールからDaprのHPC関連の事例とKeycloakとの連携を紹介
分散処理のためのランタイムDaprプロジェクトが定期的に開催しているコミュニティ向けのWebinarから、ノルウェイのOceanboxのユースケースとRed Hatのエンジニアが解説するKeycloakとDaprを連携させたデモの解説を紹介する。
Daprについては過去の記事でも紹介しているので参照して欲しい。
●参考:Dapr 1.0で知るMicrosoftのガバナンス意識の高さとは?
オープンのプロジェクトはSlackやメーリングリストだけではなく、定期的にコミュニティコールやオンラインミートアップと称して最新のプロジェクトの状況をアップデートしたり、新しいコントリビューターやユースケースを紹介したり、他のエコシステムのソフトウェアとの連携などのテクニカルな情報を配信したりすることで、コミュニティの参加者との交流を保つようにしている。中でもユースケースの紹介はこのコールの中で揉まれて、より大きなカンファレンスでの発表に備えるための試験場という意味合いもあるだろう。またDaprと他のプロジェクトの連携は、コミュニティメンバーにとって外部コミュニティとの接続という意味からも重要だ。
今回のコールでは、Daprのユースケースとしてノルウェイの海洋学サービスのベンチャーであるOceanboxのCTOによるKubernetes上のDaprがHPCと連携するシステムの解説、そして他プロジェクトとの連携についてはRed HatのエンジニアがDaprからKeycloakを使って認証を行う部分についての解説を行っている。
●参考:Dapr Community Call - June 14th 2023 (#84)
Daprのユースケース紹介
前半はOceanboxのCTOであるJonus Juselius氏によるOcenboxの紹介だ。
Oceanboxはノルウェイの海洋学に関わるベンチャーで、クラウドを使って海洋学に関する情報(予想とシミュレーション)をより安価かつ短時間で提供することをミッションとしている。
すでにノルウェイ近海のデータは取得してサービスとして提供しているようで、これまでの効果で時間がかかるシミュレーションとは差別化ができていることを紹介している。
実際にOceanboxのホームページでは動画でサービスの概要を紹介しているので参照して欲しい。
●参考:Oceanbox.io
Oceanboxが使っているテクノロジースタックはこのスライドで紹介されている。
ここではDaprに加えてKubernetes、RabbitMQ、Dockerに2022年に買収されたTilt、.NETなども紹介されている。そしてDaprの用いられ方を紹介する際に使われたのが手書きの次のスライドだ。
このスライドではデータ分析を行うHPC(High Performance Computing)クラスターとKubernetes上に配備されたDaprのワークロードの連携が図式化されている。そしてこのシステムの経験から、Daprがすべてのワークロードをつなげる役割をしていること、Tiltが開発に必須だったことなどを紹介している。Kubernetesがマイクロサービスのプラットフォームであることは自明だが、Daprのアクターモデルがここでのニーズにあった使い方だったということだろう。
Oceanboxはまだノルウェイ近海だけを対象にしたサービスだが、データ分析をKubernetesとDaprで実装するサービスは世界中で求められているだろう。参考にするには充分なユースケースと言える。
DaprからKeycloakの機能を使用する
後半はRed HatのAbihishek Koserwal氏によるDaprからKeycloakのアイデンティティ管理機能を使うための方法を解説するデモセッションだ。
最初にDaprの中から利用するオーソライゼーションとクレデンシャル、そしてOpenIDコネクトに関するコンポーネントを紹介。これらを使ってKeycloakとの連携を解説した。
Keycloakそのものについても1枚のスライドで簡単に説明しているが、より詳細についてはKeycloakへの主なコントリビューションを行っている日立製作所のWebで解説されている内容を参照するのがベストだろう。
●参考:Keycloakとは?
KeycloakはシングルサインオンやLDAP連携をOAuth 2.0などの標準に準拠して実装したIdentity and Acess Management(IAM)のオープンソースソフトウェアだ。2023年4月にアムステルダムで開催されたKubeCon+CloudNativeCon Europe 2023のキーノートでも日立のKeycloakへの貢献が紹介され、CNCFのメンバーとしても参加したことが明らかになっている。
Keycloakのコンセプトを説明したのが次のスライドだ。ここではクライアントからのリクエストをサーバーがさまざまな機能ごとに処理されるようすを解説している。
今回のデモアプリケーションによるDaprを通じてKeycloakとの通信を図式化したのが次のスライドだ。ここではEchoというリクエストを単に返すだけのシンプルなアプリケーションが、DaprとKeycloakの間で何をやり取りしているのかが解説されている。
そして実際にKeycloakのダッシュボードや実際に生成されたトークンを見せてデモンストレーションを終えた。
デモとしては通信されたトークンやレスポンスを見せるだけの内容だったが、DaprとKeycloakが実際に動いているという部分を見せるためだけの目的であれば充分だろう。
実際にビジネスの観点で使うならロールの設定や細かなアクセス管理、エラー処理なども必要だろうが、まずはコンセプトのモデルとして動くことを見せるという内容となった。
このように前半はユースケース、後半は別のオープンソースソフトウェアとの連携をデモとして紹介することで、Daprのデベロッパーにはヒントを、ビジネスでDaprを検討する層にはDaprを採用するための判断材料を提供するという意味では今回のWebinarは成功といえる。DaprがMicrosoftという巨大なスポンサーとともにマイクロサービス開発のプラットフォームとなり得るかを注視していきたい。
ちなみにプレゼンテーションを担当したKoserwal氏のブログに、今回のデモについて詳しく解説されているので、より詳細な情報が欲しい場合は参照して欲しい。
●参考:デモの解説ブログ:Simplify Security in Kubernetes with Keycloak and Dapr: A Comprehensive Integration Guide
またKoserwal氏がデモで利用していたサイト、nip.ioについてもメモしておこう。これは、ローカルIPアドレスを含んだホスト名(例:10.0.0.1.nip.io)からローカルのIPアドレス(例:10.0.0.1)に名前解決を行うもので、ワイルドカードDNSと呼ばれるサービスの一種である。ワイルドカードDNSと言えば以前はxip.ioというサービスが多用されていたが、その不安定さを解消したサービスとしてnip.ioが登場したという経緯がある。開発の段階ではhostsファイルを書き換える必要がないため、Kubernetes関連の開発プロセスでは使い勝手が良いと思われる。
●公式サイト:nip.io
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Microsoftがリードするモダンな分散システム用ランタイムDaprとは?
- Open Source Summit NA 2023から、分散処理ランタイムのDaprで実装するワークフローを紹介
- Dapr 1.0で知るMicrosoftのガバナンス意識の高さとは?
- KubeCon EUレポート Alibabaが本番環境で使うKubeVelaとDaprのセッションを紹介
- 分散型アプリの開発と運用を分離するOAMとDapr、そしてKubernetes上の実装であるRudrとは?
- CNCFのWebinarから、AdobeとAkamaiがwasmCloudを解説したセッションを紹介
- CNCFプロジェクトとKeycloakの動向
- CNDO2021、シーゲートがリードするオブジェクトストレージCORTXを解説
- WASM Meetup@ByteDanceで垣間見たWebAssemblyの静かな広がり
- KubeCon Europe 2023共催のWasm Day、Cosmonicが作成したWASMを解説する絵本を紹介