2024年に気になったOSSをまとめていくぞ
はじめに
この記事では2024年に個人的に気になったOSSをまとめています。(山田が気になる技術!王者決定戦!)
2024年を振り返ってみて、「今後のアップデートが気になるなぁ」や「使ってみたいなぁ」と思ったOSSをピックアップしています。
なお、今回は気になったOSSをピックアップしているため、必ずしも新しいOSSとは限りません。
2024年に気になったOSS
- Playwright
- .NET Aspire
- OpenTelemetry
- Keycloak
- AutoMQ
- Looker UI Components
- Fess
- Prompty
- LangChain
- SemanticKernel
Playwright
Playwrightは、E2Eテストを実行するためのOSSです。
Microsoftが主導して開発を進めているOSSであり、Webアプリケーションのテストを自動化するためのツールとして利用されています。
PlaywrightはC#、Node.js、Pythonなど複数の言語に対応していますが、公式ドキュメントにおいてはNode.jsがメインストリームとなっているように見えます。
なぜ今回、Playwrightを選んだのかというと、筆者が登壇で扱ったことがあるというのもありますが
PlaywrightはMicrosoft Playwright Testingというサービスによって目覚ましい進化を遂げているところに注目しています。
※特定のOSSを動作させるだけのサービスというのも珍しいと思いました。
今後の大きなアップデートが気になるOSSのひとつと言えそうです。
.NET Aspire
次に紹介するのは .NET Aspireです。
.NET Aspireは .NETで開発されたOSSであり、.NETアプリケーションのオブザーバビリティツールとして誕生しました。
その勢いはすごいものがあり、2025年はさらに利用者が増えることが予想されます。
また、 .NET Aspireを拡大する鍵となるものとして.NET Aspire Community Toolkitがあります。
さらにAWSとの統合も発表されており、今後のアップデートが楽しみなOSSです。
OpenTelemetry
OpenTelemetryは、分散トレーシングを実現するためのOSS(群)です。オブザーバビリティで計装を実現するためのOSSとして、2024年も引き続き注目しました。さまざまな言語で導入が可能であり、クラウドベンダーに依存しないところがポイントです。
なお、先述の .NET Aspireと互換性がある(厳密には .NET AspireがOpenTelemetryを採用している)ため、今後のアップデートが気になるOSSと言えます。
Keycloak
お次はKeycloakです。Keycloakは、認証・認可のためのOSSです。2024年も引き続き注目されるOSSと言えます。
というのも引き続き認証・認可の重要性が高まっており、IDaaS(Identity as a Service)のサービスを比較検討する上でKeycloakは有力な選択肢となります。また、KeycloakはRed Hatが開発を進めているため、今後のアップデートが気になるOSSと言えます。
なぜ今回、Keycloakを選んだのかというと最近は競合のサービスとしてOktaの存在もあり、個人的に目にする機会が増えているためです。ちなみに筆者はOneloginをいつも利用していますが、OSSではないので今回はKeycloakを選びました。
※Oktaも同様、Oktaについては今後の記事で深く掘り下げます。
AutoMQ
AutoMQは、Apache RocketMQの作者を中心に立ち上げたOSSです。
Apache Kafkaが10年前に登場して以来、ストリーミングデータプラットフォームの分野で注目されてきましたが、AutoMQはApache Kafkaに対抗するOSSとして注目されています。(なお、Apache Kafkaのフォークとして開発)
AutoMQは、Apache Kafkaにかかるコストと比較して、コストパフォーマンスが高いとされており、具体的には1/10程度のコストで利用できるとされています。また数秒でスケールイン/スケールアウトが可能であるという特徴もあります。
しかし、まだまだ採用率が低く、依然としてApache Kafkaが主流であるため、名前を聞くことは少ないかもしれません。
ストリーミングプラットフォームを使っている人にとっては今後のアップデートが気になるOSSと言えます。
Looker UI Components
Looker UI Componentsは、ビジネスインテリジェンス(BI)ツールであるLookerのUIコンポーネントを提供するOSSです。
Lookerは、ビジネスユーザー向けのBIツールとして注目されているため、多くの人が認識しているところだと思います。
このコンポーネントは、Lookerの拡張機能を開発するために開発された経緯がありますが
元はReactのコンポーネントとして開発されているため、Reactを使っている人にとってはUIコンポーネントとして利用できます。
このUIコンポーネントは、Lookerの拡張機能を開発する際に利用することができるため、Lookerを利用している人にとっては今後のアップデートが気になるOSSと言えます。
余談ですが、LookerのUIコンポーネントを使った拡張機能としては有名なもので以下のものがあります。
Fess
全文検索エンジンのOSSです。全文検索というとAWSではOpenSearch、Google CloudだとVertexAIのVertexAI Searchが有名ですが、Fessもその1つです。
一番の特徴としてはOSSで提供されている部分であり、ベンダーに依存しないところでしょう。
今回、Fessを選んだ理由としては昨年よりRAGを使ったAIチャットが注目されており、情報検索の価値が見直されているためです。
通常、AWSではOpenSearch、Google CloudではVertexAIのVertexAI Searchを組み合わせてAIチャットを作ることが知られていますが、料金が高額になる傾向になるためにFessを使うことがあるそうです。
Prompty
PromptyはMicrosoft Build 2024で発表されたMicrosoftが主導して開発しているOSSです。
2024年においてはAzure OpenAI Dev Dayでも話題になりました。
Promptyを使うことでプロンプトなどのAIに関する設定を1つのコンフィグとして管理できるため
AIエージェントをより正確に細かく設定できるようになります。また、AIエージェントの設定を変更する際にも、コンフィグを変更するだけで設定が反映されるため、開発効率が向上します。
1番大きなポイントとしては開発時の負担が減ることですが、認知の部分で1つ大きなところを挙げるとすると
AIエージェントの設定=Prompty
にできるところがポイントです。
従来まではAIの設定がどうなっているかを確認する際にエージェントを構成しているプログラム(ソースコード)を参照していましたが、Promptyを使うことで設定を確認するだけで済むため、AIエージェントの可観測性が向上します。
実際に触ってみた記事もあるので、気になる方は以下の記事を参考にしてみてください。
PromptyとLangChainを使ってGemini Flash(gemini-1.5-flash)から出力を得る
LangChain
お次はLangChainです。LangChainは言語モデルを操作するためのOSSです。複数種類の言語モデルに対応しており、さまざまなクラウドで利用できます。ちなみに公式サイトだけでなく、AWSにも解説サイトがあるくらい注目されているOSSです。
- langchain-ai/langchain: 🦜🔗 Build context-aware reasoning applications
- Applications that can reason. Powered by LangChain.
- LangChain とは何ですか? - LangChain の説明 - AWS
少し前までであれば、LangChainというと1つのものを指していましたが、今ではひとえにLangChainと言ってもさまざまです。
- LangChain Core
- LangChain Community
- LangChain CLI
なお、現在においてはlangchain-awsというPythonパッケージがlangchain-aiから提供されています。
話が脱線するので細かくは扱いませんが、オブザーバビリティの観点で最近ではLangSmithやLangGraphも注目されています。
興味のある方は以下のリンクを参考にしてみてください。
SemanticKernel
SemanticKernelはMicrosoftが主導して開発している言語モデルを操作するためのOSSです。
公式サイトにおいては以下のように説明されています。
セマンティック カーネルは、AI エージェントを簡単に構築し、最新の AI モデルを C#、Python、または Java コードベースに統合できる、軽量のオープンソース開発キットです。 エンタープライズ レベルのソリューションを迅速に配信できる効率的なミドルウェアとして機能します。
引用:セマンティック カーネルの概要 | Microsoft Learn
主な特徴としては以下のようなものが挙げられます。
- LangChainとは違う方法でAIエージェントを構築できる
- C#やJavaでの利用が可能 ※Pythonでも利用できる
- PromptyがSemanticKernelに組み込まれている
- SemanticKernelを使うことでPromptyもセットで利用できる
なお、学習するにあたってはMS Learnが提供されているため、気になる方は以下のリンクを参考にしてみてください。
セマンティック カーネルをすばやく開始する方法 | Microsoft Learn
まとめ
2024年に気になったOSSをまとめました。他にもいくつかあったのですが、1つの記事が長くなってしまうため
今回はポイントを絞って紹介しました。今回紹介したOSSも含め、2025年はどういったアップデートがされるのか楽しみです。気が向いたら自分もOSSにコミットしたりできたら良いなと考えています。
Discussion