Microsoftは、クラウドとエッジで動作する分散アプリケーションの構築を容易にするサーバレスランタイム「Distributed Application Runtime」(Dapr)を発表した。移植可能でイベント駆動型のオープンソースソフトウェアである。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Microsoftは2019年10月16日(米国時間)、「Distributed Application Runtime」(Dapr)を発表した。Daprは、クラウドとエッジで動作する、耐障害性のあるステートレス、またはステートフルなマイクロサービスアプリケーションの構築を容易にする、移植可能でイベント駆動型のオープンソースサーバレスランタイム。Daprの開発は現在、α版の段階にある。
MicrosoftはDaprにより、新規にコードを作成するか、既存コードを移行するかにかかわらず、全ての開発者が任意の言語とフレームワークを使って、移植可能なマイクロサービスアプリケーションを簡単に構築できるようにすることを目指している。
Daprは、マイクロサービスアプリケーション構築のベストプラクティスを、一連のオープンなビルディングブロックとして体系化したものだ。これらのビルディングブロックにより、自分の選んだ言語とフレームワークで移植可能なアプリケーションを作成できる。
各ビルディングブロックは独立しており、そのいずれか、または全てを、自分が作成するアプリケーションに利用できる。
Microsoftが掲げるDaprの目標は次の通り。
Daprは、サイドカーコンテナ/プロセスを各コンピュートユニットに導入する。サイドカーは、標準的なHTTPまたはgRPCプロトコルでイベントトリガとやりとりし、コンピュートユニットと通信する。これにより、Daprは、開発者にフレームワークやライブラリのインポートを要求することなく、既存の全てのプログラミング言語をサポートする。今後実装される新しいプログラミング言語にも対応するという。
Daprは、GET、POSTなどの標準HTTP動詞、またはgRPCインタフェースにより、ビルトインステート管理や信頼できるメッセージング(少なくとも1回デリバリーを実行)、トリガー、バインディングといった機能を提供する。そのため、開発者は同じプログラミングパラダイムに従って、ステートレスやステートフル、アクターモデルのサービスを作成できる。整合性モデルやスレッドモデル、メッセージデリバリーパターンを自由に選択できる。
Daprは、マシンやIoTデバイス上でスタンドアロンバイナリとして実行され、クラウドやオンプレミスで、任意のシステムに導入可能なコンテナとしてKubernetes上で動作する。
Daprは、接続可能なステートストアとメッセージバス(RedisやgRPCなど)を使用し、gRPCを使ったDapr間の直接通信や非同期パブリッシュ/サブスクライブ通信など、幅広い通信方法を提供する。これらの通信方法は、少なくとも1回デリバリーするセマンティクスを採用し、デリバリーが保証されている。
Copyright © ITmedia, Inc. All Rights Reserved.