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
Metabaseを使ったコスト可視化とコスト最適化への道 / sre-cost-visuali...
Search
OPTiM
December 02, 2021
Technology
900
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Metabaseを使ったコスト可視化とコスト最適化への道 / sre-cost-visualization
OPTiM
December 02, 2021
More Decks by OPTiM
See All by OPTiM
既存プロダクトのRSpec カバレッジを 40% から100% にした話
optim
1
24
最近やってよかったデザインシステム運用改善3選
optim
1
38
<install>要素は何ができて、何を変えるのか
optim
1
22
CIでリグレッションテストを実行し継続的に品質を担保する
optim
1
33
Tanstack Startを触ってみての感動
optim
1
36
移行のつらさは誰が引き受けるのか── Vue.js と Next.js を比べて見えたこと
optim
2
38
Athenaが遅すぎるので Next.js 16の Cache Componentsで倒してみた
optim
1
90
エンジニア2年目から見た RubyKaigi
optim
1
80
Storeに頼りすぎないフロントエンド
optim
1
48
Other Decks in Technology
See All in Technology
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
720
Alphaモジュール使っていいのかい!?いけないのかい!?どっちなんだいっ!?
watany
1
320
AIコード生成×サプライチェーン攻撃 — PHPが直面する“二重の信頼問題
shinyasaita
0
440
現場との対話から始める “作る前に問い直す”業務改善
mochico50
1
190
GoでCコンパイラを作った話
repunit
0
150
”AIを使う” から ”AIに任せる” へ ─ 開発プロセスを再設計してAIを組織標準にするまで
cyberagentdevelopers
PRO
1
130
AIが実装を自走する時代の認知負債との戦い
lycorptech_jp
PRO
2
1.1k
20260720_クラウド女子会×PyLadiesTokyoコラボ Amazon Bedrock ハンズオン用資料
yuuka51
1
110
ここは地獄!つらい朝会を体験することで、チームとしてのより良い振る舞いに気づくワークショップ / The stand-up meeting from hell in the game industry
scrummasudar
0
210
全員がリーダーである世界へ キリマンジャロ登頂とシェアド・リーダー
jinwatanabe
0
120
設計レビューとAIハーネスで向き合う AIが生み出した新しいボトルネックの対処法 / Design Reviews and AI Harnesses Against New Bottlenecks Created by AI
nstock
4
410
SoccerMaster: A Vision Foundation Model for Soccer Understanding
kzykmyzw
0
160
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
1
3.7k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
420
Un-Boring Meetings
codingconduct
0
350
Exploring anti-patterns in Rails
aemeredith
3
450
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
160
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Paper Plane
katiecoart
PRO
2
52k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
260
Everyday Curiosity
cassininazir
0
260
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
Transcript
Copyright © OPTiM Corp. All Right Reserved. Metabaseを使ったコスト可視化とコスト最適化への道 株式会社オプティム 技術統括本部
SREユニット 山田
Copyright © OPTiM Corp. All Right Reserved. 2 自己紹介
名前 • 山田 (2015年度新卒入社) 経歴 • Androidアプリケーション開発 • 複数サービスのインフラ保守運用 • SRE 最近の活動 : コスト可視化と削減(最適化) 趣味 • オーディオ • 旅行 • キャンプ
Copyright © OPTiM Corp. All Right Reserved. 3 SREとは
コスト可視化と最適化への課題/動機 コスト可視化最初期 ~ 現在 可視化の結果 今後の課題 目次
Copyright © OPTiM Corp. All Right Reserved. 4 SRE
: Site Reliability Engineering (サイト信頼性エンジニア) の略称 • システムの信頼性確保のためにアレコレするエンジニア よくあるSREの形 • Pure SRE • プロダクト運用に責任を持つ専任チームで、開発チームとは分かれている • プロダクトの信頼性を向上させるためなら、ソースコードの改修なども行う • Embedded SRE • 職能横断型の開発チームのメンバーとして組み込まれている • SRE Center of Practice • 特定のプロダクトに限定せず、横串でプロダクトの信頼性向上を推進する • ライブラリやツールの提供を行う • Rebranded SRE • 今まで運用、DevOps、プラットフォームチームと呼ばれていたものがSREと名前を変えたもの • インフラ、ツール、プラットフォームのサポートをメインに行い、アプリケーションには積極的には関わらない SREとは
Copyright © OPTiM Corp. All Right Reserved. 5 OPTiMでは
SRE Center of Practice の体制を取っている プロダクトの価値を「早く」「安く」「安心」の3軸で安定的に提供できるようにする 1. プロダクトの状態を可視化 2. プロダクトが満たすレベルの基準づくり 3. やり方の標準化・共通化 4. プロダクト横串で改善を行う 5. SREマインドを根付かせる 現在OPTiM SRE内で取り組んでいること • サービス品質標準化/可視化 • インフラ/運用コスト最適化 ★今日のスコープ • 構成管理強化/リリース改善 SREとは
Copyright © OPTiM Corp. All Right Reserved. 6 開発・運用者全体で売上とコストを皆が確認できる状態でない
• コストに関しては全員が閲覧できる状態にしたい • 人によってかかっているコストが確認できるかどうかの状態がバラバラでややこしい • 改善しなきゃいけないと思っても、そのたびに毎回調査して、分析してと時間がかかる 現状のコストを可視化し、コスト最適化への動機に繋げられる状態を作りたい • 各種コストデータとプロジェクト情報が紐づいて確認できるようにしたい • 例えば `CloudIoTOS_Q2_保守運用` のようなプロジェクトと コストデータを紐づける必要がある コスト可視化と最適化への課題/動機
Copyright © OPTiM Corp. All Right Reserved. 7 保守にかかっている無駄なコストを減らし、保守運用生産性とした数値を向上し、新規開発に
投資できるようにしたい • 目指すのは下記の形が表現できるようにする コスト可視化と最適化への課題/動機
Copyright © OPTiM Corp. All Right Reserved. 8 PowerBIの利用
• Microsoft社製のBIツール • Excelをデータソースとして利用可能 • とりあえず、現状を可視化してみようということで、プロトタイプ的に利用してみた • UI的にはそれなりに良かったが、運用を続けるのは辛い+全体で確認するには料金の問題があったので正式採用 は見送り コスト可視化最初期
Copyright © OPTiM Corp. All Right Reserved. 9 Metabase
+ MySQLでの可視化 • OSSのBIツール • データソースはMySQL以外も色々豊富にある • Metabaseをちょっと触ってみた感じグラフ化も簡単かつフィルターできて良かったので採用 • RedashやKibanaなども検討しましたが、立ち上げも簡単で、シンプルかつ直感的で良い • グラフの作成にはSQLを利用し、作成 • 一応、SQL書けない人向けにもクエリビルダー的なやつがあるのでそちらの利用もできる • SQL内で変数利用ができる (フィルターで活用) - SELECT * FROM table_name WHERE {{ product_name }} のように記載することで利用可能 - フィルターにはそのまま文字列を入力してもらうこともできるし、格納されているデータを選択してフィルターもでき る - これを利用して、ダッシュボード上で部署別や利用サービス別にフィルターすることが可能 • 社内のスタッフであれば閲覧可能にした • 今までは特定の管理層や運用者以外では簡単にコスト情報を確認することはできなかった 現在
Copyright © OPTiM Corp. All Right Reserved. 10 変数の例
Copyright © OPTiM Corp. All Right Reserved. 11 全体のコスト感のグラフとインフラ費用・人件費の比較グラフ
実際のグラフ
Copyright © OPTiM Corp. All Right Reserved. 12 部署別に表示したり、利用サービス別に表示などもしている
実際のグラフ
Copyright © OPTiM Corp. All Right Reserved. 13 また各サービスの詳細情報も確認できるようにしている
実際のグラフ
Copyright © OPTiM Corp. All Right Reserved. 14 データ構造について
• 各利用サービスのデータとプロジェクトを紐づける必要がある • 現在プロジェクトのデータはTeamspiritという工数管理サービス上で管理している - 人件費はTeamspiritのデータのみで算出可能 • プロジェクトデータと利用サービスのデータを紐づける中間テーブルを作成 - 利用サービスのアカウントとプロジェクトデータを関連づける • 全てを同一グラフ上で比較できるように、共通化したViewを作成している データ構造
Copyright © OPTiM Corp. All Right Reserved. 15 データ構造の簡易的抜粋
Copyright © OPTiM Corp. All Right Reserved. 16 利用サービスとプロダクトに紐づく人件費の情報が、OPTiMの社員であれば簡単に確認できる
ようになった 保守運用人件費が、大まかにはわかるようになってきたため、各チームに分析を依頼し、問題 があるのかないのかについて確認をしてもらっている • コスト最適化活動を各チームで進めるきっかけ作りを行っている 毎月ダッシュボードのグラフ状況からコスト状況レポートを作成し、全体にコスト状況を意識 してもらう活動を始めている • その月にどんな削減対応が行われたか、現状の課題は何かと言った内容を記載している • また、インフラ費用と保守運用人件費を部署別に詳細を記載している 可視化した結果
Copyright © OPTiM Corp. All Right Reserved. 17 インフラの大部分として、AWSにかかっている料金が大きいことが示せている
• 各利用サービスをより詳細に分析できるように別途グラフを用意し、各インフラの担当にここを改善して いこうという話を持っていけている 最適化を進めるための土壌が出来上がってきたので、いよいよ実際に各種対応を進めていく段階 可視化した結果 例: サーバーの利用度合いに対 してコストから見てもオーバー スペック気味なので、見直して いきましょう 等
Copyright © OPTiM Corp. All Right Reserved. 18 コスト可視化はできたので、今後は実際にコストの改善をすすめるため、各チームと相談しつ
つ進める予定 • 各チームで行った改善は水平展開を行う • 複数プロダクトで共通インフラを利用している所があり、そこの作業工数を各プロダクトとどう結びつ けられるのかが難しいので影響のバランスをみつつ検討していく 可視化ダッシュボード自体については、自動化がまだまだできていない部分があるので、こち らの改善をすすめる • 請求API周りがないサービスやプロジェクトとの紐付け部分をどうするか等 • Reserved instanceなどの一時的に先払いするコストをどう表現するかも検討が必要 今後Metabaseより良いものや、Metabaseでは実現できないが対応したい内容がある等が判明 したらMetabaseから乗り換える可能性はある • 現状はリアルタイムなコスト可視化ではなく月次別のコスト可視化なので、需要しだいでは乗り換えの 可能性あり 今後について
Copyright © OPTiM Corp. All Right Reserved. 19 まず何かを改善したいのであれば、計測をできるように全て可視化していくことが重要
• 可視化した内容はいつでも誰でも確認できるようにしておくことで、スピーディな情報共有が可能にな る • 可視化した結果から分析して、分析結果を元に改善を進める • 継続的に分析を勧め、効果がきちんと出ているか観察をする まとめ SREとして、まずはプロダクトに関わるあらゆる事を可視化していきましょう
Copyright © OPTiM Corp. All Right Reserved. 20