マイクロソフト、オープンソースの分散アプリケーションランタイム「Dapr 1.0」リリース。Kubernetes対応、サービス間メッセージング、ステート管理など提供
マイクロソフトは、オープンソースの分散アプリケーションランタイム「Dapr 1.0」のリリースを発表しました。
We are excited to announce the release of Dapr v1.0! Yes, production ready Dapr is finally here!
— Dapr (@daprdev) February 17, 2021
Get all the details @ https://t.co/hPk8i38iHi
This wouldn't have been possible without the amazing Dapr community. Thank you for all the hard work!pic.twitter.com/6wiJChB2XJ
Daprとは「Distributed Application Rungime」の略。発音は動画などを見る限り「ダーパー」のようです(Introducing Dapr: The Distributed Application Runtime)。
分散アプリケーションの基本機能を提供するランタイム
分散アプリケーションでは、アプリケーションが相互に機能を呼び出し、メッセージをやり取りしつつ動作します。また、分散環境でのステート管理などの仕組みも必要です。
Daprはこうした分散アプリケーションを実現するための基本的な機能を提供するランタイムとして開発されました。
分散環境への対応をDaprに任せることで、プログラマはアプリケーションのロジックの開発に集中でき、分散アプリケーションの開発が容易になります。
Daprはさまざまな言語に対応するように作られており、実行環境もKubernetesやさまざまなパブリッククラウド、プライベートクラウド、エッジなどで稼働します。
また、ステート管理に用いられるデータストアはプラガブルになっており、Redis、MongoDB、Memcached、PostgreSQL、Azure Cosmos DB、AWS DynamoDBなどが使えるようになっています。
Daprのブログ「Announcing Dapr v1.0」によると、Dapr 1.0ではKubernetes環境での実行にフォーカスして開発し、本番環境に耐えうる品質と性能を実現できたとしています。
そして今後はサーバレス環境などにも対応していくとのことです。
アプリケーションレイヤにおける分散環境対応の新たなアプローチ
分散アプリケーションの実行環境としては、DockerコンテナとKubernetesが事実上の標準と見なされています。
一方、アプリケーションレイヤにおいて分散アプリケーションの構築を容易にするフレームワークとしては、Istioなどのいわゆるサービスメッシュと呼ばれるものがよく知られているものの、まだ標準と呼べるものは登場していません。
Daprはここに新たなアプローチで登場したもののように見えます。果たして、どのように注目されていくでしょうか。
あわせて読みたい
マイクロソフト「.NET 6」初めてのプレビュー版リリース。Xamarin統合、マルチプラットフォームUI、Blazorでデスクトップアプリ、Apple M1ネイティブなど
≪前の記事
Apple M1チップ対応のDocker Desktop、同梱のKubernetesも実行可能に