先日、Daprのメンテナーは、クラウドネイティブなアプリケーションを構築するための開発者向けフレームワークであるDistributed Application Runtime(Dapr)のV1.10をリリースした。Kubernetes上で複数のマイクロサービスを実行し、外部のステートストア/データベース、シークレットストア、パブ/サブブローカー、その他のクラウドサービスやセルフホストソリューションとのやり取りを簡単にする。
Microsoftは2019年10月にDaprを発表し、2021年2月の本番対応リリースV1.0以降、数回のリリースを行ってきた。V1.0のリリース以降、DaprはCloud Native Computing Foundation(CNCF)からインキュベーション・プロジェクトとして承認され、約43の新しいコンポーネントを受け取り、2500人以上のコミュニティ貢献者がいる。
Daprプロジェクトは新バージョンのリリースを続け、V1.10リリースでは以下のような新機能、改善、バグ修正、パフォーマンス強化が行われた。
- Daprワークフロー:アルファ版の新機能で、開発者はDaprビルディングブロックとコンポーネントを使用して複雑なワークフローをオーケストレーションできる。例えば、ワークフローはタスク・チェイニングを提供ができ、あるステップの出力が次のステップの入力として渡されるような、連続したアプリケーション操作の連結ができる。さらに、ワークフローのクイックスタートも用意されている。
出典:https://v1-10.docs.dapr.io/developing-applications/building-blocks/workflow/workflow-overview
- 安定した回復力ポリシー:Daprは、フォールトトレランスの回復力ポリシー(再試行/バックオフ、タイムアウト、サーキットブレーカー)を定義し、適用する機能を提供する。v1.7.0リリースで初めて導入された回復力ポリシーは、現在安定し、本番環境に対応し、Pub/Sub、ステート管理、バインディング、アクターなどのすべてのビルディングブロックAPIに適用される。
- Multi-App Runテンプレート:Dapr CLI用の新しいテンプレートで、開発者が1つのコマンドで複数のDaprアプリケーションを実行できるようになり、ローカル開発とテストが簡素化された。
- PluggableコンポーネントSDK:開発者がステートストア、パブ/サブシステム、バインディングなどのDapr用カスタムコンポーネントを作成できる新しいSDK。
- バルクメッセージのパブリッシュとサブスクライブ:Daprアプリケーションが1回のリクエストで複数のメッセージをパブリッシュまたはサブスクライブできる新機能で、Pub/Subシナリオのスループットと効率が向上する。
スタック・オーバーフローのスレッドで、回答者のnedadがBulk-Publish APIのパフォーマンスについてコメントした。
DaprチームがすでにBulk-Publish APIに取り組んでいることがわかった。私はバッチサイズ100で9000メッセージ/秒まで上げることができました。
Dapr 1.10.0リリースには、Kubernetesにおける複数の名前空間のサポート、DaprサイドカーにおけるgRPCリフレクション、HTTPバインディングにおけるカスタムヘッダ、マネージドIDによるAzure Key Vault、ロギングとエラー処理の改善など、コアランタイムとコンポーネントにおける多くの修正と改善も含まれている。
Microsoft MVPでDiagridのシニアデベロッパーアドボケイトであるMarc Duiker氏は、InfoQに次のように語っている。
Daprは、イベント駆動型のアプリケーションを構築する必要がある場合に優れています。Daprは標準化されたAPIビルディングブロックのセットを提供するので、開発者はビジネスロジックに集中できます。リリース1.10で、多くのコンポーネントが安定レベルに達し、本番ワークロードで使用できるようになりました。さらに、Daprの機能を拡張する新機能やコンポーネントも追加されました。
さらに、彼はこう付け加えた。
Dapr Workflowは新しいビルディングブロックで、開発者はコードで長時間稼働する弾力性のあるワークフローを書くことができます。ローカル開発エクスペリエンスの改善も行われ、例えば、Multi-App Runは、1つのコマンドで複数のアプリを起動することで、マイクロサービスベースのアプリケーションをローカルで実行することを簡素化します。WorkflowとMulti-App Runはどちらもアルファ版/プレビュー機能です。本番環境での使用はまだ先ですが、ローカルまたはテスト環境で試してみて、Daprチームにフィードバックを送ると、プロジェクトの改善が続けられるでしょう。
InfoQは、DaprのメンテナであるNick Greenfield氏にも話を聞き、プロジェクトのメンテナとSTC(Steering Technical Committee)によって決定されたプロジェクトのロードマップについてコメントした。
Daprは、開発者が一般的な分散システムの課題を実装・解決するのに役立つビルディング・ブロックへの投資を継続します。さらに、2つの新しいDaprビルディングブロックを導入するための2つのオープンな提案として、Cryptography APIとDocument Store APIがあります。さらに、Daprプロジェクトは、コミュニティ構築への投資を継続し、STCの拡大、プロジェクトメンテナや承認者の拡大を目指します。
最後に、Dapr 1.10.0リリースはDapr GitHubリポジトリまたはDapr CLIからダウンロードできる。さらに、Daprのドキュメントには、Daprのインストール、アップグレード、使用方法についての詳細な説明がある。