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

SRE が Ruby アップグレードの時にやっていること (SRE Kaigi 2025 LT)

Mai Aisaka
January 26, 2025
390

SRE が Ruby アップグレードの時にやっていること (SRE Kaigi 2025 LT)

弊社では Ruby バージョンのアップグレードを SRE チームで主導しています。
いろいろ恩恵もあるのでいい方法だなと思いつつ、他社さんでどうやってるのか気になり LT させてもらいました!

Mai Aisaka

January 26, 2025
Tweet

Transcript

  1. ©iCARE Co.,Ltd
 自己紹介 • あいさか (@mist_dev) • iCARE SRE 2年生

    • Ruby💎とビール🍺が好き • ふだんやってること ◦ インフラ基盤のアップグレード ◦ セキュリティ周り対策 ◦ ポストモーテム回し業 ◦ 問い合わせを開発者と一緒に対応 ◦ 手順書書き業
  2. ©iCARE Co.,Ltd
 きょうの話 • SRE が Ruby バージョンのアップグレードを牽引 するととってもよいです! •

    うちの SRE チームはこういう関わりかたで Ruby バージョンのアップグレード をしています、という話をします • 各社 SRE の業務領域に差異があるので、どの辺までやってるか?とかは懇親会 でぜひお話ししたい!☺
  3. ©iCARE Co.,Ltd
 Rubyバージョンのアップグレード • うちの SRE でやっていること ◦ Ruby バージョンアップグレードの進行

    取りまとめ ◦ Ruby 新バージョンの リリースノート から変更を要する要素の洗い出し ◦ アプリケーションの修正 ▪ 廃止やリネームになった要素の置換 ▪ Gemfile などの修正 ▪ CI の変更前後の確認 ◦ アップグレード環境の構築・テスト ◦ アップグレード環境へのリプレイス
  4. ©iCARE Co.,Ltd
 アプリケーションの修正 • 実際にやったこと ◦ Time.new の引数の 型の厳格化 に対応

    ◦ File.exists? の削除にともない File.exist? に リネーム ◦ bundled gem 化する予定の gem を Gemfile に追記 ◦ YJIT の有効化 ▪ rustc のインストール ◦ などなど...
  5. ©iCARE Co.,Ltd
 そのあと 目次 • CI が通ることを確認 ◦ 通らない場合は調査して修正、開発者の方に修正を依頼など •

    新しい Ruby バージョンで稼働する環境を構築 • 社内の QA チームに QA を依頼 ◦ 特に変更のあったメソッドを利用している機能があれば伝える ◦ 自明な変更がないときもある... • リリース! ◦ 変更前後の Datadog を比較して課題がないこと、予期した改善が予期した 通りに行われていること、予期していない変動がないかを確認
  6. ©iCARE Co.,Ltd
 SRE が Ruby アップグレードをリードするといいこと 目次 • 開発エンジニアに 機能開発に集中

    してもらえる • インフラ環境側の変更をとりこみやすい ◦ パッケージ入れなきゃ〜 ◦ サービス側に変更入れなきゃ〜 • アプリケーションのコードを触る いい機会になる ◦ 開発のみなさまへのリスペクトがめちゃめちゃ生まれる • おすすめです!