雑談会議2021
Azure関連臨時LT
Durable Function Storage Provider
自己紹介
• 濱本一慶(@airish9)
(Hamamoto Kazunori)
• シグマコンサルティング勤務
• 主にバックエンドの処理ばか
り書いてます
• 今期でおすすめアニメ
• スーパーカブ
• ゾンビランドサガR
Durable
Fuction
Storage
Provider
Durable Function ?
• Azure Functionの拡張機能
• サポート言語はこんな感じ
• C#, JavaScript, Python, F#, PowerShell
• Durabule Functionのバージョンは1.x系と2.x系で大きく違う
• 何ができるかとかはドキュメント見れば良いと思うよ
• https://docs.microsoft.com/ja-jp/azure/azure-
functions/durable/durable-functions-overview?tabs=csharp
Durable Function Storage Provider?
• Durable Functionは内部
的にAzure Storageに各イ
ンスタンスのステートや
履歴を保持していた。
• 今までAzure Storageしか
選択肢がなかった
• これからは3種類から選択
できるようになった
それぞれどう違うのさ?
• Azure Storage
• 簡単、安い、実績が豊富
• Netherite
• めちゃ早い
• 安いらしい
• SQL Server
• 場所を選ばない。SQL Serverに繋がればええやろ
• Enterprise friendly
Netherite(ネザライト)
• マインクラフトのブロック
• ネザライトインゴットから作成される
• 炎と溶岩に耐性がある
• ダイヤモンドのつるはしでないと採取できない
• ネザライトインゴット
= 金インゴット×ネザライトの欠片
Netherite
• Microsoft Researchで設計開発された
• 以下の3要素で構成される
• Azure Page Blob、Azure Event Hubs、
FASTERデータベース
• FASTERって何ぞ?
• キャッシュ機構が優秀なKVS
• 1インスタンスで1億6000万回操作/sec くらい
のパフォーマンス
• OSS - https://github.com/Microsoft/FASTER
NetheriteとAzureStorage比較
SQL Server Provider
• Azure上になくても良い
• SQL Serverによるデータ暗号化サポート
• ストアドを利用して、既存アプリケーションと統
合
• SQL Serverの知識をフル活用して運用できる
• バックアップ、フェールオーバー etc…
設定方法
• ProviderごとのNuGetパッケージを参照
• host.jsonを設定
{
"version": "2.0",
"extensions": {
"durableTask": {
"storageProvider": {
"type": "Netherite",
"storageConnectionName": "AzureWebJobsStorage",
"eventHubsConnectionName": "EventHubsConnection"
}
}
}
}
比較
https://docs.microsoft.com/ja-jp/azure/azure-functions/durable/durable-functions-storage-
providers#comparing-storage-providers
比較
https://docs.microsoft.com/ja-jp/azure/azure-functions/durable/durable-functions-storage-
providers#comparing-storage-providers
今後やってみたいこと
• トラブルシューティングしやすいProviderはどれか?
• 各OrchestratorやActivityの実行ログ
• インスタンス状態の参照
• 弊社のブログで記事にしようかと思います

Durable function storage provider