狠狠撸

狠狠撸Share a Scribd company logo
そのライブラリ、続投?それとも解雇?「stay_or_go」
で素早く決断!
株式会社UZUMAKICTO今佑介(@kon_yu)
背景と課題
自分で作ったライブラリを評価するCLIツールの紹介
ライブラリ管理はどんなサービスでも避けられない
サービスを運営するにつれて増え続けるライブラリ
オレが考えた最強のgemを導入したのに退職してしまったアイツ
SREにとって、古いライブラリはセキュリティや安定性のリスク
セキュリティリスク
依存関係によりフレームワークや言語のアップグレードの足かせ
解決策
stay_or_go
もともと仕事で同じようなものをRubyで作ったものをGo言語で再実装
ライブラリのGitHubリポジトリを使用して自動でスコアリング
評価基準
フォーク数、スター数、Issue数、PR数、最終コミット日、アーカイブされ
ているか
結果をMarkdownのテーブル、CSV、TSVに出力
MarkdownのテーブルからNotionでデータベース化
CSVからpandas.DataFrameに読み込ませて統計処理
stay_or_go
現在のところRuby(Gemfile)とGo言語(go.mod)に対応
package.jsonにも対応予定
GitHubリポジトリ:https://github.com/uzumaki-inc/stay_or_go
Python対応、PHP対応などPRどしどしお待ちしています
出力例:
Name RepositoryURL LastCommitDate ... Score
activeadmin https://... 2024-11-25T21:00:24Z ... 1282
active_decorator https://... 2024-11-04T14:51:22Z ... 121
active_decorator-rspec https://... 2017-03-15T12:48:01Z ... -137
activerecord-import https://... 2024-11-16T06:00:21Z ... 466
デモ
Youtube動画のデモ
https://youtu.be/3wgeAq8GEGw
出力結果のNotion
https://x.gd/KvPY5
実際の効果
10年近く運用しているRubyonRailsのプロジェクトに対して実施
効果
100以上のライブラリ(gem)を数分でスコアリング
管理するgemを10%削減
よりハイパフォーマンスなgemに置き換え
顧客の声 :
スコアをもとに、スコアがN以下のものをすべて点検するよう指標ができた
どのgemを調査するべきか、検討する時間を省略できた
計測後の具体的な作業
一定以下のスコアの低いライブラリを調査?検討
そもそも利用しているか
言語やFWのデフォルトのAPIで代替できないか
簡単な実装でライブラリを置き換えられないか
代替するメンテされているライブラリに変更できないか
パフォーマンス計測して比較
なかなか大変
そんなときはUZUMAKIにお問い合わせを!
まとめ
stay_or_goでライブラリ管理に効率化し、SRE業務をスマートに!
GitHubリポジトリ:https://github.com/uzumaki-inc/stay_or_go
動作させてエラーやうまくいかない場合はIssueを上げてください
UZUMAKIのCM:
stay_or_goを利用した無料診断をはじめました
決済機能に潜むリスクの無料診断もあります

More Related Content

そのライブラリ、続投?それとも解雇?「stay_or_go」で素早く決断! ?