Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
どうするコスト最適化のトレードオフ
Search
Tetsuya Odashima
April 20, 2024
Technology
1
1.1k
どうするコスト最適化のトレードオフ
2024/04/20 Global Azure 2024 (
https://jazug.connpass.com/event/311408/
) のセッションでお話ししたスライドです
Tetsuya Odashima
April 20, 2024
Tweet
Share
More Decks by Tetsuya Odashima
See All by Tetsuya Odashima
お仕事図鑑pitchトーク
tetsuyaooooo
0
8
軽いノリで"自動化"に取り組んではいけないという話
tetsuyaooooo
1
900
自動化で、マネージド ID と Connect-AzAccount と azcopy login を使用する際に気をつけること
tetsuyaooooo
0
420
キャリア教育ミニ講演会 - システムエンジニア編
tetsuyaooooo
0
84
私のMCP試験の挑み方
tetsuyaooooo
0
39
ETロボコン2020 競技会場システムのおはなし
tetsuyaooooo
0
17
Microsoft MVP を受賞するために取り組んだこと
tetsuyaooooo
0
43
毎年恒例イベントを Azure Media Services を使ってオンラインで
tetsuyaooooo
0
52
Azure Internet Analyzer (Preview) を試してみる
tetsuyaooooo
0
42
Other Decks in Technology
See All in Technology
ライブラリでしかお目にかかれない珍しい実装
mikanichinose
2
340
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
140
形式手法の 10 メートル手前 #kernelvm / Kernel VM Study Hokuriku Part 7
ytaka23
5
820
State of Open Source Web Mapping Libraries
dayjournal
0
230
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
350
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
1
1.1k
いざ、BSC討伐の旅
nikinusu
2
730
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
210
Can We Measure Developer Productivity?
ewolff
1
110
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
1
960
TinyGoを使ったVSCode拡張機能実装
askua
2
210
エンジニアが一生困らない ドキュメント作成の基本
naohiro_nakata
3
160
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Six Lessons from altMBA
skipperchong
27
3.5k
Scaling GitHub
holman
458
140k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
We Have a Design System, Now What?
morganepeng
50
7.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
400
Designing for humans not robots
tammielis
250
25k
Fireside Chat
paigeccino
33
3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Transcript
どうする コスト の トレードオフ Azureコストコン延長戦 2024/4/20 - Global Azure 2024 小田島
哲也 齋藤 利輝 勝手に 最適化
About me 小田島 哲也(おだしま てつや) パーソルプロセス&テクノロジー株式会社 Azure 技術サポート/導入コンサル/人財育成 Microsoft MVP
for Microsoft Azure (2018 ~) X @TetsuyaOoooo Qiita https://qiita.com/tetsuya-ooooo ET ソフトウェアデザインロボットコンテスト (ET ロボコン) 実行委員会 リターンライダー (2021 ~)
齋藤 利輝(さいとう りき) パーソルプロセス&テクノロジー株式会社 Azure 保守運用 X @rikisaito_work CloudSteady https://cloudsteady.jp/
FAQ 掲載/ブログ執筆( コストアラート,CostManagement 等) About me
Tokyo Jazug Night #47 どのセッションもたいへん勉強になりました 👏 第47 回 Tokyo Jazug
Night - connpass 年度末はお金が大事!Azure コストコン
お伝えしたいこと JAZ-UG#47_FinOpsはなぜ進まないのか - Speaker Deck 「コストと品質のトレードオフを理解する」ためには、 コスト最適化のトレードオフでの肝心なこと 1. 手助けとなるツールは? 2.
コスト最適化≠コスト削減 優先順位付け 継続的な監視 最適化に重点を置いた反復可能なプロセス を備えた戦略を策定 最適化する必要がある分野でのトレードオフが 必要 信頼性 セキュリティ 運用のしやすさ
パフォーマンス コスト最適化とは コスト最適化の設計原則 - Microsoft Azure Well-Architected Framework | Microsoft Learn Created by Copilot Designer
一方を優先すれば、もう一方は満足できない →このギャップを最小限に抑えるために、それらを補う策を考えてみる... 🤔 →しかし、失われるものは完全にゼロにはならない... 😥 あちら立てればこちらが立たぬ
財務上の制約の下で投資収益率 (ROI) を最大化するためには、 明確な機能要件と非機能要件の定義が必要 効率的な作業と労力の優先順位付けには、財政的責任を理解し、 利用できる技術と課金モデルを深く把握するチームが不可欠 このワークロードの ROI を把握した後、コスト最適化の設計原則と 設計レビューチェックリストに基づいて改善を進める
より安価なソリューションに重点を置かないこと Azure Well-Architected Framework の他の柱との バランスを考慮すること 支出を最小限に抑えることだけに焦点を当てると、 ビジネス目標や評判に悪影響を及ぼす可能性がある コスト最適化のトレードオフ コスト最適化のトレードオフ - Microsoft Azure Well-Architected Framework | Microsoft Learn Created by Copilot Designer
はて?Azure Well-Architected Framework の それぞれの柱とのバランスを考慮する コスト最適化の守備範囲とその他の柱の守備範囲はお互いに影響し合うので、 最適なつり合いを見つけるために、よく調べたりよく考えたりする コスト最適化 有利な課金モデルの実装 オーバープロビジョニングの削減
スケーリング ディメンション (範囲) の変更 移行中の価値の最大化 信頼性 ワークロードの可用性 自己保持 回復 データと処理の整合性 誤動作の封じ込め パフォーマンス効率 スケーラビリティ パフォーマンス チューニング タスクの優先順位付け ボトルネックの除去 セキュリティ セグメント化と分離 強力な承認 均一なアプリケーション セキュリティ 最新のプロトコルなどの概念 オペレーショナル エクセレンス (運用のしやすさ) 安全なデプロイ プラクティスのための強固 な基盤を提供 時間、移行シナリオ、および可観測性の経 過に伴うアーキテクチャの進化を促進
パフォーマンス ちょうどいい量のリソース、 変化への対応... 一方を優先すれば、もう一方は満足できない →そうだ、コストと品質のトレードオフだ! ...トレードオフって カンタンですか?? セキュリティ 認証と承認、アクセス制御、 機密性、整合性、防御...
コスト 予算、支出、労力、時間... 運用のしやすさ テスト、可観測性、ツール、 人財育成、業務改善... 信頼性 回復性、可用性、テスト、 訓練、複雑さ... どうするトレードオフ... 🤔
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
チェックリストの活用のしかた チェックリスト 現状分析 コスト削減策 を検討 コスト削減策 を検証 コスト削減策を 提案・レビュー 実施
機能要件 非機能要件 コストモデル 予算 コストデータ コスト 削減対象 (仮) コスト削減策 (本) コスト削減策 理由 さまざまな 最適化手法 着目点 考慮すべき点 適切な トレードオフ (決) コスト削減策
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) に対する推奨事項 …アプリのコードやフローに対する 推奨事項 …コスト最適化を取り組むための環境 づくりに対する推奨事項 …コスト最適化を取り組むための 下準備に対する推奨事項
削減策 ・バックアップストレージ種類のサイズ ダウン →既定のGRSではなくLRSへ ⇔信頼性とのトレードオフ 関連策 ・データレプリケーションを最適化する →CO:10 データコストを最適化する 信頼性とのトレードオフ
Created by Copilot Designer
1.レプリケーション要件 の評価 必要なデータレプリケーション のレベルを決定するため、 データの重要度 回復目標時間(RTO) 回復ポイント(RPO) などを総合的に評価 2.レプリケーション戦略の選択 3.その他の最適化手法
CO:10 データコストを最適化する コスト最適化の目標にあった レプリケーションの種類を選択 ネットワーク帯域幅の最適化 →データ圧縮や重複除去 レプリケーション頻度の調整 →ニーズに基づいて レプリケーションの頻度の 定期的な調整 重要性とアクセス頻度に応じて、データコストをデータの優先順位に合わせる
削減策 ・ファイアウォールの性能縮小 ⇔セキュリティとのトレードオフ 補填策 ・ファイアウォールの統合 →CO:14 リソースと責任を統合する →複数のファイアウォールを、 複数の環境に対応する1つのファイアウォール に統合する
セキュリティとのトレードオフ Created by Copilot Designer
1.リソースの評価 CO:14 リソースと責任を統合する 既存のリソースを評価し、 統合が有益な領域を特定する 2.統合の実行可能性を評価 機能要件と技術要件が 統合をサポートしているか確認する 3.コストの見積もり 統合の労力と複雑さを判断し、
コスト計算とともに 統合による影響を考慮する 統合の主な目的は、削減ではなく最適化 →冗長なリソースとライセンスを削減し、密度を高め、コスト効率を最大化
削減策 ・使用率の低いVMのサイズダウン ⇔パフォーマンスとのトレードオフ 補填策 ・最適なサイズにサイズダウンする →CO:06 使用量を課金単位に合わせる →使用パターンを把握することで、使用率が高い、低い期間に注意して 使用量に合わせたサイズダウンを行う ・同等スペックの最新サイズを選択
→CO:06 使用量を課金単位に合わせる →定期的にAzureサービスを見直し、新機能の検討と導入を行う パフォーマンスとのトレードオフ Created by Copilot Designer
1.課金要素、課金単位 の把握 課金要素 コストが発生する要因 データ転送量、vCPUの使用量等 課金単位 コストが発生する基準 時間単位、サイズ単位 2.使用量を課金単位と合わせる 3.使用量を調整して
価値を最大化する CO:06 使用量を課金単位に合わせる 各課金要素の課金単位に対するリソース 使用量の分析、非効率領域の特定 2.で特定した領域を最適化 サービスの課金方法を理解して、 リソース使用量、リソースを調整してコスト最適化
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月時点のものを使用
削減策 ・常時稼働VMの停止 ⇔運用のしやすさとのトレードオフ 補填策 ・Automationによる自動停止、自動起動 →CO:07 コンポーネントコストの最適化 →AutomationによるVMの自動停止・起動 ・RIの適用 →CO:05
レートの最適化 →RIを適用して使用するリソースを割引 運用のしやすさとのトレードオフ Created by Copilot Designer
CO:07 コンポーネントのコストを最適化する ①未使用のワークロード リソースを削除する 現在のリソースを分析し、 関連づいていないリソースなどを探して削除 例)アラート、IPアドレス、テスト環境等 ツール)Azure Advisor ②使用率の低いリソース
を最適化する リソースを監視し、使用率を分析し、 必要に応じてリソースの使用を最適化する ツール)Azure Monitor,Azure Automation, 自動スケーリング すべてのコンポーネントを 効率的かつコスト効率よく使用できるようにすること
1.経費の順序付きリスト を作成 2.適切な課金モデルを決定 3.利用可能な割引を 評価してコミット 使用しているリソースを分析し、 最適化の取り組みに 優先順位をつける CO:05 プロバイダーから最適な料金を取得する
従量課金制かコミットメントベース、 どちらが合っているかリソース毎に 決定する 特定のリソースで適用できる 潜在的な割引を評価して分析する 最適な料金を得るには、 全要素の中で最もコスト効率の良い料金モデルを探すことが重要
まとめ
コスト最適化のトレードオフのポイント 1. より安価なソリューションに重点を置かないこと Azure Well-Architected Framework の他の柱とのバランス を考慮すること 目標:お互いに影響し合うので、最適なつり合いを見つけること チェックリストを活用しよう
2. コスト最適化する上でのそれぞれの工程で、チャックリスト (推奨事項) の見かたを変えてみましょう 現状分析…どこに着目するか コスト削減策を検討…どの最適化手法が当てはまるか コスト削減策を検証…ちゃんと考慮されているか コスト削減策を提案・レビュー…トレードオフは適切か とにかく実践してみる!他者の意見を聞く! 3. まとめ Created by Copilot Designer
Finally, there is something I would like to tell you
all! 最後にお伝えしたいことがあります!
Azureコスト削減ソリューションを展開しています。 無料での削減額試算アセスメントキャンペーンも実施中です! さいごに①
Azure関連ナレッジをQA、ブログで投稿中! Cloud Steady パーソルプロセス&テクノロジー株式会社 「cloudsteady」で検索! Azureコスト関連記事も多数掲載! https://cloudsteady.jp 👈日経xTECHに特集記事を書きました 円安で待ったなし!Azureコスト削減法
(4/15公開 計5本) さいごに② 累計300万アクセス! 投稿2000件突破!
ご清聴ありがとうございました