Microsoft、マイクロサービス構築を容易にする「Distributed Application Runtime」を発表任意の言語とフレームワークを利用可能

Microsoftは、クラウドとエッジで動作する分散アプリケーションの構築を容易にするサーバレスランタイム「Distributed Application Runtime」(Dapr)を発表した。移植可能でイベント駆動型のオープンソースソフトウェアである。

» 2019年10月23日 20時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 Microsoftは2019年10月16日(米国時間)、「Distributed Application Runtime」(Dapr)を発表した。Daprは、クラウドとエッジで動作する、耐障害性のあるステートレス、またはステートフルなマイクロサービスアプリケーションの構築を容易にする、移植可能でイベント駆動型のオープンソースサーバレスランタイム。Daprの開発は現在、α版の段階にある。

 MicrosoftはDaprにより、新規にコードを作成するか、既存コードを移行するかにかかわらず、全ての開発者が任意の言語とフレームワークを使って、移植可能なマイクロサービスアプリケーションを簡単に構築できるようにすることを目指している。

 Daprは、マイクロサービスアプリケーション構築のベストプラクティスを、一連のオープンなビルディングブロックとして体系化したものだ。これらのビルディングブロックにより、自分の選んだ言語とフレームワークで移植可能なアプリケーションを作成できる。

 各ビルディングブロックは独立しており、そのいずれか、または全てを、自分が作成するアプリケーションに利用できる。

Daprの概念図(出典:Microsoft

 Microsoftが掲げるDaprの目標は次の通り。

  • 開発者が任意の言語やフレームワークを使って、分散アプリケーションを作成できるようにする
  • ベストプラクティスを体系化したビルディングブロックを提供することで、開発者がマイクロサービスアプリケーションの開発で直面する困難な問題を解決する
  • コミュニティー主導でオープン、さらにベンダー中立で新しいコントリビューターを求める
  • オープンAPIを通じて整合性と移植性を提供する
  • クラウドとエッジ全体にわたって特定プラットフォームに依存しない
  • 拡張性を確保し、ベンダーロックインに陥ることなく、接続可能なコンポーネントを提供する
  • 高いパフォーマンスを提供し、軽量であることから、IoTとエッジのシナリオが可能になる
  • ランタイムに依存することなく、既存コードへ段階的に導入できるようにする

Daprの仕組みは?

 Daprは、サイドカーコンテナ/プロセスを各コンピュートユニットに導入する。サイドカーは、標準的なHTTPまたはgRPCプロトコルでイベントトリガとやりとりし、コンピュートユニットと通信する。これにより、Daprは、開発者にフレームワークやライブラリのインポートを要求することなく、既存の全てのプログラミング言語をサポートする。今後実装される新しいプログラミング言語にも対応するという。

 Daprは、GET、POSTなどの標準HTTP動詞、またはgRPCインタフェースにより、ビルトインステート管理や信頼できるメッセージング(少なくとも1回デリバリーを実行)、トリガー、バインディングといった機能を提供する。そのため、開発者は同じプログラミングパラダイムに従って、ステートレスやステートフル、アクターモデルのサービスを作成できる。整合性モデルやスレッドモデル、メッセージデリバリーパターンを自由に選択できる。

 Daprは、マシンやIoTデバイス上でスタンドアロンバイナリとして実行され、クラウドやオンプレミスで、任意のシステムに導入可能なコンテナとしてKubernetes上で動作する。

 Daprは、接続可能なステートストアとメッセージバス(RedisやgRPCなど)を使用し、gRPCを使ったDapr間の直接通信や非同期パブリッシュ/サブスクライブ通信など、幅広い通信方法を提供する。これらの通信方法は、少なくとも1回デリバリーするセマンティクスを採用し、デリバリーが保証されている。

なぜDaprが必要なのか?

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。