しばやん雑記

Azure Serverless とメイドさんが大好きなフリーランスのプログラマーのブログ

Azure Cosmos DB Conf で Change Feed を中心としたアーキテクチャの設計と実装について話しました

今回が初の開催となる Azure Cosmos DB Conf で三宅さん (@kazuyukimiyake) と一緒に Change Feed を中心としたアーキテクチャの設計と実装について話しました。

Cosmos DB の利用シーンの幅広さを実感出来るようなセッションが多いので、是非他のセッションも見てもらいたいです。Live streaming 以外にも On demand セッションもあるのでかなり数が多いです。

イベントの配信自体は Learn TV と YouTube で行われました。YouTube の方がアーカイブ公開が早かったので、別件や忘れていて見られなかった方は以下からご覧ください。

開始時間をちょうど自分たちのセッション開始に合わせているので、素早く見られるはずです。

Learn TV の方は開始してすぐに一瞬途切れたと聞きましたが、YouTube の方は問題なさそうでした。

使用したスライドは以下で公開しています。リンクが生きているので扱いやすいと思います。

要するに、これまで色々なイベントで話してきて、ブログで機能を紹介してきた内容の集大成となります。

このブログで公開しているエントリでも少なくとも以下の 3 つは、このアーキテクチャに強く関連するものになります。細かいものを上げるときりが無いですが、それぐらい集中して取り組んできたということです。

これは特に Cosmos DB の Change Feed だけに関係するものでは無いですが、Azure Functions を使ったアプリケーションの回復性と信頼性を高めるためには、Retry policy や Graceful shutdown を適切に実装していきましょう。何回も言っていますが Azure Functions は月に何回も再起動しています。

Change Feed は Retry policy や Graceful shutdown との相性が非常に良いので、Azure Functions との組み合わせが最適です。入力データを Cosmos DB に投入することで後段の処理の信頼性が高まるとともに、サービス間の結合が弱まるので柔軟な運用が可能になります。

英語は喋れない代わりにスライドは全て英語で作成したので、英語圏の方にもそれなりに伝わったかなと信じています。コードならともかくアーキテクチャの説明はどこまでスライドに書くべきか悩みました。

イベントとしては APAC 時間の最後かつ唯一の日本語セッションということで、若干プレッシャーを感じていましたが嬉しいコメントを多く頂いたので「Change Feed をこんなにも深く使っているぞ」というアピールが出来たかなと思っています。

Deep Dive っぽさが足りないという方がとても多ければ、今回のセッションのフォローアップが別途 Hack Azure イベントとして開催されるかも知れません。