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

どうするコスト最適化のトレードオフ

 どうするコスト最適化のトレードオフ

2024/04/20 Global Azure 2024 ( https://jazug.connpass.com/event/311408/ ) のセッションでお話ししたスライドです

Tetsuya Odashima

April 20, 2024
Tweet

More Decks by Tetsuya Odashima

Other Decks in Technology

Transcript

  1. About me 小田島 哲也(おだしま てつや) パーソルプロセス&テクノロジー株式会社 Azure 技術サポート/導入コンサル/人財育成 Microsoft MVP

    for Microsoft Azure (2018 ~) X @TetsuyaOoooo Qiita https://qiita.com/tetsuya-ooooo ET ソフトウェアデザインロボットコンテスト (ET ロボコン) 実行委員会 リターンライダー (2021 ~)
  2. 財務上の制約の下で投資収益率 (ROI) を最大化するためには、 明確な機能要件と非機能要件の定義が必要 効率的な作業と労力の優先順位付けには、財政的責任を理解し、 利用できる技術と課金モデルを深く把握するチームが不可欠 このワークロードの ROI を把握した後、コスト最適化の設計原則と 設計レビューチェックリストに基づいて改善を進める

    より安価なソリューションに重点を置かないこと Azure Well-Architected Framework の他の柱との バランスを考慮すること 支出を最小限に抑えることだけに焦点を当てると、 ビジネス目標や評判に悪影響を及ぼす可能性がある コスト最適化のトレードオフ コスト最適化のトレードオフ - Microsoft Azure Well-Architected Framework | Microsoft Learn Created by Copilot Designer
  3. はて?Azure Well-Architected Framework の それぞれの柱とのバランスを考慮する コスト最適化の守備範囲とその他の柱の守備範囲はお互いに影響し合うので、 最適なつり合いを見つけるために、よく調べたりよく考えたりする コスト最適化 有利な課金モデルの実装 オーバープロビジョニングの削減

    スケーリング ディメンション (範囲) の変更 移行中の価値の最大化 信頼性 ワークロードの可用性 自己保持 回復 データと処理の整合性 誤動作の封じ込め パフォーマンス効率 スケーラビリティ パフォーマンス チューニング タスクの優先順位付け ボトルネックの除去 セキュリティ セグメント化と分離 強力な承認 均一なアプリケーション セキュリティ 最新のプロトコルなどの概念 オペレーショナル エクセレンス (運用のしやすさ) 安全なデプロイ プラクティスのための強固 な基盤を提供 時間、移行シナリオ、および可観測性の経 過に伴うアーキテクチャの進化を促進
  4. パフォーマンス ちょうどいい量のリソース、 変化への対応... 一方を優先すれば、もう一方は満足できない  →そうだ、コストと品質のトレードオフだ! ...トレードオフって  カンタンですか?? セキュリティ 認証と承認、アクセス制御、 機密性、整合性、防御...

    コスト 予算、支出、労力、時間... 運用のしやすさ テスト、可観測性、ツール、 人財育成、業務改善... 信頼性 回復性、可用性、テスト、 訓練、複雑さ... どうするトレードオフ... 🤔
  5. CO:01 財務責任の文化を作り出す CO:05 プロバイダーから最適な料金 を取得する CO:09 フローコストを最適化する CO:12 スケーリングコストを最適化 する

    CO:02 コストモデルを作成して管理 する CO:06 使用量を課金単位に合わせる CO:10 データコストを最適化する CO:13 担当者の時間を最適化する CO:03 コストデータを収集して確認 する CO:07 コンポーネントのコストを 最適化する CO:11 コードコストを最適化する CO:14 リソースと責任を統合する CO:04 支出ガードレールを設定する CO:08 環境コストを最適化する 提案:チェックリストを活用しよう 高い投資収益率 (ROI) を達成するためのコスト最適化に関する一連の推奨事項 これから実施するコスト最適化に自信を持つために、ここで説明されている点 を検討してみよう コスト最適化の設計レビュー チェックリスト - Microsoft Azure Well-Architected Framework | Microsoft Learn
  6. チェックリストの活用のしかた チェックリスト 現状分析 コスト削減策 を検討 コスト削減策 を検証 コスト削減策を 提案・レビュー 実施

    機能要件 非機能要件 コストモデル 予算 コストデータ コスト 削減対象 (仮) コスト削減策 (本) コスト削減策 理由 さまざまな 最適化手法 着目点 考慮すべき点 適切な トレードオフ (決) コスト削減策
  7. CO:01 財務責任の文化を作り出す 予算とコストを透過化 継続的な改善を促進 社内でスキルを開発 財務上の期待を伝達 CO:02 コストモデルを作成して管理する ワークロード評価を実施 ワークロード

    のコストを見積もる コスト モデルを開発、発行 予算を設定 コスト モデルを使用、維持 CO:03 コストデータを収集して確認する コスト データを収集 データをグループ化 コスト レポートの生成 リソース所有者の割り当て コスト データを確認 コスト アラートを自動化 CO:04 支出ガードレールを設定する ガバナンス ポリシーを使用 アクセス制御の構成 リリース ゲートを使用 コスト アラートを構成 IaC を使用 CO:05 プロバイダーから最適な料金を取得する 経費の順序付きリストを作成 適切な課金モデルを決定 利用可能な割引を評価してコミット ソリューションを構築するか、購入するかを 決定 ライセンス コストを最適化 CO:06 使用量を課金単位に合わせる 課金要因を決定 課金の増分を決定 使用量を課金増分にマップ 概念実証 (PoC) の構築を検討 リソースの価値を最大化するために使用量を 調整 CO:07 コンポーネント コストを最適化する アプリケーション機能を最適化 ワークロード リソースを最適化 プラットフォーム機能を最適化 最適化されていないコンポーネントを防止 CO:08 環境コストを最適化する 環境の価値を評価 環境コストを決定 運用環境を最適化 DR 環境を最適化 実稼働前環境を最適化 CO:09 フローコストを最適化する フローのインベントリを作成 フローの優先順位付け 独立したフローを最適化 異なるフローを分離 同様のフローを結合 フローを継続的に監視 CO:10 データコストを最適化する データのインベントリを取得 データに優先順位を付ける データ管理を最適化 データ ボリュームを最適化 データ レプリケーションを最適化 バックアップを最適化 ファイル形式を最適化 ストレージ ソリューションを最適化 CO:11 コードコストを最適化する コードをインストルメント化 ホット パスを特定して最適化 コンカレンシーの使用を評価 最適な SDK を使用 最適な OS を選択 ネットワーク トラバーサルを最適化 データアクセスを最適化 アーキテクチャを最適化 CO:12 スケーリングコストを最適化する スケールアウト/アップを評価 自動スケールを最適化 イベントベースのスケーリングを検討 需要と供給を最適化 CO:13 担当者の時間を最適化する 最適化ターゲットを設定 開発時間を最適化 担当者のコラボレーションを最適化 プロセスを最適化 運用タスクを最適化 人事スキルを最適化 CO:14 リソースと責任を統合する リソースを統合 責任を統合 コスト最適化に関する一連の推奨事項まとめ …Azure リソースや環境  (Subscription) に対する推奨事項 …アプリのコードやフローに対する  推奨事項 …コスト最適化を取り組むための環境  づくりに対する推奨事項 …コスト最適化を取り組むための  下準備に対する推奨事項
  8. 1.レプリケーション要件 の評価 必要なデータレプリケーション のレベルを決定するため、 データの重要度   回復目標時間(RTO)  回復ポイント(RPO) などを総合的に評価 2.レプリケーション戦略の選択 3.その他の最適化手法

    CO:10 データコストを最適化する コスト最適化の目標にあった レプリケーションの種類を選択 ネットワーク帯域幅の最適化 →データ圧縮や重複除去 レプリケーション頻度の調整 →ニーズに基づいて レプリケーションの頻度の 定期的な調整 重要性とアクセス頻度に応じて、データコストをデータの優先順位に合わせる
  9. 1.リソースの評価 CO:14 リソースと責任を統合する 既存のリソースを評価し、 統合が有益な領域を特定する 2.統合の実行可能性を評価 機能要件と技術要件が 統合をサポートしているか確認する 3.コストの見積もり 統合の労力と複雑さを判断し、

    コスト計算とともに 統合による影響を考慮する 統合の主な目的は、削減ではなく最適化 →冗長なリソースとライセンスを削減し、密度を高め、コスト効率を最大化
  10. 1.課金要素、課金単位 の把握 課金要素 コストが発生する要因 データ転送量、vCPUの使用量等 課金単位 コストが発生する基準 時間単位、サイズ単位 2.使用量を課金単位と合わせる 3.使用量を調整して

    価値を最大化する CO:06 使用量を課金単位に合わせる 各課金要素の課金単位に対するリソース 使用量の分析、非効率領域の特定 2.で特定した領域を最適化 サービスの課金方法を理解して、 リソース使用量、リソースを調整してコスト最適化
  11. B2s B2als v2 B4ms B4as v2 B8ms B8as v2 vCPU

    2 2 4 4 8 8 メモリ 4 GiB 4 GiB 16 GiB 16 GiB 32 GiB 32 GiB 料金/ 月 6,019.74 5,422.19 24,123.23 21,688.78 48,135.81 43,377.56 CO:06 使用量を課金単位に合わせる 定期的に Azure サービスを見直し新機能の検討と導入を行う 約-600円 約-2400円 約-4700円 ※データは東日本リージョン (Windows OS)、2024年4月時点のものを使用
  12. CO:07 コンポーネントのコストを最適化する ①未使用のワークロード リソースを削除する 現在のリソースを分析し、 関連づいていないリソースなどを探して削除 例)アラート、IPアドレス、テスト環境等 ツール)Azure Advisor ②使用率の低いリソース

    を最適化する リソースを監視し、使用率を分析し、 必要に応じてリソースの使用を最適化する ツール)Azure Monitor,Azure Automation, 自動スケーリング すべてのコンポーネントを 効率的かつコスト効率よく使用できるようにすること
  13. 1.経費の順序付きリスト を作成 2.適切な課金モデルを決定 3.利用可能な割引を 評価してコミット 使用しているリソースを分析し、 最適化の取り組みに 優先順位をつける CO:05 プロバイダーから最適な料金を取得する

    従量課金制かコミットメントベース、 どちらが合っているかリソース毎に 決定する 特定のリソースで適用できる 潜在的な割引を評価して分析する 最適な料金を得るには、 全要素の中で最もコスト効率の良い料金モデルを探すことが重要
  14. コスト最適化のトレードオフのポイント 1. より安価なソリューションに重点を置かないこと Azure Well-Architected Framework の他の柱とのバランス を考慮すること 目標:お互いに影響し合うので、最適なつり合いを見つけること チェックリストを活用しよう

    2. コスト最適化する上でのそれぞれの工程で、チャックリスト (推奨事項) の見かたを変えてみましょう 現状分析…どこに着目するか コスト削減策を検討…どの最適化手法が当てはまるか コスト削減策を検証…ちゃんと考慮されているか コスト削減策を提案・レビュー…トレードオフは適切か とにかく実践してみる!他者の意見を聞く! 3. まとめ Created by Copilot Designer
  15. Finally, there is something I would like to tell you

    all! 最後にお伝えしたいことがあります!