$30 off During Our Annual Pro Sale. View Details »

Metabaseを使ったコスト可視化とコスト最適化への道 / sre-cost-visualization

optim
December 02, 2021

Metabaseを使ったコスト可視化とコスト最適化への道 / sre-cost-visualization

optim

December 02, 2021
Tweet

More Decks by optim

Other Decks in Technology

Transcript

  1. Copyright © OPTiM Corp. All Right Reserved.
    Metabaseを使ったコスト可視化とコスト最適化への道
    株式会社オプティム 技術統括本部 SREユニット
    山田

    View Slide

  2. Copyright © OPTiM Corp. All Right Reserved. 2
    自己紹介
     名前
    • 山田 (2015年度新卒入社)
     経歴
    • Androidアプリケーション開発
    • 複数サービスのインフラ保守運用
    • SRE
     最近の活動 : コスト可視化と削減(最適化)
     趣味
    • オーディオ
    • 旅行
    • キャンプ

    View Slide

  3. Copyright © OPTiM Corp. All Right Reserved. 3
     SREとは
     コスト可視化と最適化への課題/動機
     コスト可視化最初期 ~ 現在
     可視化の結果
     今後の課題
    目次

    View Slide

  4. 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とは

    View Slide

  5. Copyright © OPTiM Corp. All Right Reserved. 5
     OPTiMでは SRE Center of Practice の体制を取っている
     プロダクトの価値を「早く」「安く」「安心」の3軸で安定的に提供できるようにする
    1. プロダクトの状態を可視化
    2. プロダクトが満たすレベルの基準づくり
    3. やり方の標準化・共通化
    4. プロダクト横串で改善を行う
    5. SREマインドを根付かせる
     現在OPTiM SRE内で取り組んでいること
    • サービス品質標準化/可視化
    • インフラ/運用コスト最適化 ★今日のスコープ
    • 構成管理強化​/リリース改善
    SREとは

    View Slide

  6. Copyright © OPTiM Corp. All Right Reserved. 6
     開発・運用者全体で売上とコストを皆が確認できる状態でない
    • コストに関しては全員が閲覧できる状態にしたい
    • 人によってかかっているコストが確認できるかどうかの状態がバラバラでややこしい
    • 改善しなきゃいけないと思っても、そのたびに毎回調査して、分析してと時間がかかる
     現状のコストを可視化し、コスト最適化への動機に繋げられる状態を作りたい
    • 各種コストデータとプロジェクト情報が紐づいて確認できるようにしたい
    • 例えば `CloudIoTOS_Q2_保守運用` のようなプロジェクトと コストデータを紐づける必要がある
    コスト可視化と最適化への課題/動機

    View Slide

  7. Copyright © OPTiM Corp. All Right Reserved. 7
     保守にかかっている無駄なコストを減らし、保守運用生産性とした数値を向上し、新規開発に
    投資できるようにしたい
    • 目指すのは下記の形が表現できるようにする
    コスト可視化と最適化への課題/動機

    View Slide

  8. Copyright © OPTiM Corp. All Right Reserved. 8
     PowerBIの利用
    • Microsoft社製のBIツール
    • Excelをデータソースとして利用可能
    • とりあえず、現状を可視化してみようということで、プロトタイプ的に利用してみた
    • UI的にはそれなりに良かったが、運用を続けるのは辛い+全体で確認するには料金の問題があったので正式採用
    は見送り
    コスト可視化最初期

    View Slide

  9. 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 }} のように記載することで利用可能
    - フィルターにはそのまま文字列を入力してもらうこともできるし、格納されているデータを選択してフィルターもでき

    - これを利用して、ダッシュボード上で部署別や利用サービス別にフィルターすることが可能
    • 社内のスタッフであれば閲覧可能にした
    • 今までは特定の管理層や運用者以外では簡単にコスト情報を確認することはできなかった
    現在

    View Slide

  10. Copyright © OPTiM Corp. All Right Reserved. 10
    変数の例

    View Slide

  11. Copyright © OPTiM Corp. All Right Reserved. 11
     全体のコスト感のグラフとインフラ費用・人件費の比較グラフ
    実際のグラフ

    View Slide

  12. Copyright © OPTiM Corp. All Right Reserved. 12
     部署別に表示したり、利用サービス別に表示などもしている
    実際のグラフ

    View Slide

  13. Copyright © OPTiM Corp. All Right Reserved. 13
     また各サービスの詳細情報も確認できるようにしている
    実際のグラフ

    View Slide

  14. Copyright © OPTiM Corp. All Right Reserved. 14
     データ構造について
    • 各利用サービスのデータとプロジェクトを紐づける必要がある
    • 現在プロジェクトのデータはTeamspiritという工数管理サービス上で管理している
    - 人件費はTeamspiritのデータのみで算出可能
    • プロジェクトデータと利用サービスのデータを紐づける中間テーブルを作成
    - 利用サービスのアカウントとプロジェクトデータを関連づける
    • 全てを同一グラフ上で比較できるように、共通化したViewを作成している
    データ構造

    View Slide

  15. Copyright © OPTiM Corp. All Right Reserved. 15
    データ構造の簡易的抜粋

    View Slide

  16. Copyright © OPTiM Corp. All Right Reserved. 16
     利用サービスとプロダクトに紐づく人件費の情報が、OPTiMの社員であれば簡単に確認できる
    ようになった
     保守運用人件費が、大まかにはわかるようになってきたため、各チームに分析を依頼し、問題
    があるのかないのかについて確認をしてもらっている
    • コスト最適化活動を各チームで進めるきっかけ作りを行っている
     毎月ダッシュボードのグラフ状況からコスト状況レポートを作成し、全体にコスト状況を意識
    してもらう活動を始めている
    • その月にどんな削減対応が行われたか、現状の課題は何かと言った内容を記載している
    • また、インフラ費用と保守運用人件費を部署別に詳細を記載している
    可視化した結果

    View Slide

  17. Copyright © OPTiM Corp. All Right Reserved. 17
     インフラの大部分として、AWSにかかっている料金が大きいことが示せている
    • 各利用サービスをより詳細に分析できるように別途グラフを用意し、各インフラの担当にここを改善して
    いこうという話を持っていけている
     最適化を進めるための土壌が出来上がってきたので、いよいよ実際に各種対応を進めていく段階
    可視化した結果
    例: サーバーの利用度合いに対
    してコストから見てもオーバー
    スペック気味なので、見直して
    いきましょう 等

    View Slide

  18. Copyright © OPTiM Corp. All Right Reserved. 18
     コスト可視化はできたので、今後は実際にコストの改善をすすめるため、各チームと相談しつ
    つ進める予定
    • 各チームで行った改善は水平展開を行う
    • 複数プロダクトで共通インフラを利用している所があり、そこの作業工数を各プロダクトとどう結びつ
    けられるのかが難しいので影響のバランスをみつつ検討していく
     可視化ダッシュボード自体については、自動化がまだまだできていない部分があるので、こち
    らの改善をすすめる
    • 請求API周りがないサービスやプロジェクトとの紐付け部分をどうするか等
    • Reserved instanceなどの一時的に先払いするコストをどう表現するかも検討が必要
     今後Metabaseより良いものや、Metabaseでは実現できないが対応したい内容がある等が判明
    したらMetabaseから乗り換える可能性はある
    • 現状はリアルタイムなコスト可視化ではなく月次別のコスト可視化なので、需要しだいでは乗り換えの
    可能性あり
    今後について

    View Slide

  19. Copyright © OPTiM Corp. All Right Reserved. 19
     まず何かを改善したいのであれば、計測をできるように全て可視化していくことが重要
    • 可視化した内容はいつでも誰でも確認できるようにしておくことで、スピーディな情報共有が可能にな

    • 可視化した結果から分析して、分析結果を元に改善を進める
    • 継続的に分析を勧め、効果がきちんと出ているか観察をする
    まとめ
    SREとして、まずはプロダクトに関わるあらゆる事を可視化していきましょう

    View Slide

  20. Copyright © OPTiM Corp. All Right Reserved. 20

    View Slide