Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Application Insights と Cosmos DB ―たかがTips、そう思ってないですか?―

Application Insights と Cosmos DB ―たかがTips、そう思ってないですか?―

de:code2019 報告会 × オルターブース

09989ca6b353094eb539664d5cd5c91d?s=128

Mitsuzono Hiroto

June 06, 2019
Tweet

More Decks by Mitsuzono Hiroto

Other Decks in Programming

Transcript

  1. Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. Application Insights

    と Cosmos DB ― たかがTips、そう思ってないですか?― 株式会社オルターブース 満園 裕人
  2. Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • 株式会社オルターブース

    エンジニア • 業務では主に C#(.NET Core)で Webアプリケーション開発 • 今年のde:codeで食べた ドーナツの数: 7個 自己紹介
  3. Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • Application

    Insights • ざっくり概要 • Tips • Cosmos DB • アップデート • QAで特に参考になったポイント 今日話す内容
  4. Application Insights

  5. Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • Azure

    Monitorに統合されている • オートスケールやアラートの条件として利用可能 • Azureポータルからリソース作るとよく勝手についてくる • が、論理アプリケーション単位でまとめるのがオススメ • アプリ側の設定についてはVisualStudioで行うと楽 • 手動でやるとNugetの設定やら何やらで面倒 Application Insights
  6. Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • ITelemetryProcessorを継承したクラスを実装することで

    フィルタリング可能 ノイズ除去 public class CustomTelemetryProcessor : ITelemetryProcessor { public CustomTelemetryProcessor(ITelemetryProcessor next) { _next = next; } private readonly ITelemetryProcessor _next; public void Process(ITelemetry item) { var dependency = item as DependencyTelemetry; if (dependency != null && dependency.ResultCode == "404") { return; } _next.Process(item); } }
  7. Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • https://docs.microsoft.com/ja-jp/azure/azure-

    monitor/app/usage-workbooks Workbooks、KQLでログ解析
  8. Cosmos DB

  9. Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • Spark

    API • SDKのアップデート(近日GA予定) • OFFSET, LIMIT, DISTINCT が利用可能に • ARMテンプレートサポート • データベース、コンテナーも作成可能に アップデート内容
  10. Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • パーティションを等分に分配していない場合、ホットパー

    ティションが発生してしまう • リクエストが平均的に分散するよう設計すると良い • ポータルのCosmos DBモニタリングタブから確認可能 RU設定値超えてないのに応答が遅い
  11. Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • (質問)Indexの設定を見直すか、Azure

    Searchを使用す るかどちらが良いか? • どちらも効果はあるとは思われる • この二つの違いは、クローリングをデータに対するクエ リが行われる前にかけるか後にかけるかの違い • この場合部分一致クエリを使用することが推奨されている • 但し、検索のメインシナリオとは見なされていない CONTAINSを使用した検索が重い
  12. Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • https://gotcosmos.com/architecture

    アーキテクチャーのサンプル
  13. Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • 着眼点の変化があったと改めて実感

    • 数年前に参加したとき: • Azureの各サービス概要を知る • 今回: • 業務で使ってる技術のアップデートやTipsを知る 参加した感想