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

Azure Serverless のパフォーマンスとコストを 最適化

Azure Serverless のパフォーマンスとコストを 最適化

Avatar for Tatsuro Shibamura

Tatsuro Shibamura PRO

April 20, 2024

More Decks by Tatsuro Shibamura

Other Decks in Technology

Transcript

  1. 私について 芝村 達郎 @shibayan ZEN Architects Distinguished Engineer Microsoft MVP

    for Microsoft Azure Microsoft Top Partner Engineer Award Blog : https://blog.shibayan.jp GitHub : https://github.com/shibayan
  2. Azure Serverless のリソース単価は割高な設定 素の VM と比べると機能が多く、付加価値が乗っている 内部では複数のサービスが使われているのでその分のコストが乗る 例: App Service

    は VMSS x 2 / SQL DB / Storage / File Server など 上手く利用すると管理・運用コストは劇的に下がる 一番高額な人間のコストを下げられる 単価が高いからと言って PaaS / Serverless を避けるのは間違っている
  3. リソースの設定変更でパフォーマンスを改善 App Service / Azure Functions Session Affinity を無効化する HTTP/2

    の有効化を検討する 可能な場合は Linux の App Service Plan を利用する Cosmos DB Burst Capacity を有効化する Dynamic Scaling Per Region and Per Partition の有効化を検討する Front Door キャッシュを有効化する HTTP 圧縮を有効化する
  4. リソースの適切なサイジングを行う 漠然とした不安から過剰なリソースを割り当ててしまうケースが多い 1 つの App Service Plan に 1 つだけ

    Web App / Azure Functions を載せる Cosmos DB の RU 設定を多めにプロビジョニングする インスタンス数、サイズを過剰に割り当ててしまう。など Azure Monitor を利用して、過剰にリソースを割り当てていないか確認 PaaS / Serverless はスケーリングが自由 オートスケールを活用する
  5. Azure でやってしまいがちな構成 App Service / Azure Functions App Service Plan

    を数多く作ってしまっている 古い SKU を利用し続けている スケールアップとスケールアウトのどちらが適切かを見誤る Cosmos DB Database Provisioned Throughput を使っていない Provisioned Throughput で大きな RU を割り当てている Front Door (Standard / Premium) Endpoint を使わずに Front Door をたくさん作っている
  6. Azure でやってしまいがちな構成(改善策) App Service / Azure Functions スケールによっては App Service

    Plan の集約を検討する 本番では Premium V3 (P0v3)、開発・検証では Basic の利用を検討する コア数を増やすより、インスタンス数を増やした方が良いケースもある Cosmos DB 25 コンテナーまでは RU を共有できる 一定のリクエストがある場合以外はオートスケールの利用を検討する Front Door (Standard / Premium) Endpoint は複数作っても課金されないためお得
  7. リザーブドインスタンスの対象となるリソース App Service (Web Apps / Azure Functions) Premium V3

    / Isolated V2 (ASE) のみ対象 Cosmos DB Provisioned Throughtput が対象 ストレージサイズは対象外 Azure Storage ストレージ容量が対象