Rails 6 / 7 / 8

Rails 5・6で止まっているあのアプリを、本番を止めずに7・8まで運ぶ。

RailsPostgreSQLAWS

Railsアップグレード支援

古いRailsアプリを、依存gem、CI、テスト、deprecated API対応まで含めて段階的にアップグレードします。

アクティブユーザー50万人超、1日約3000万件のログが流れるサービスのRailsバックエンドを運用してきました。Rails 6→7→8のアップグレードを実施し、Rails 8移行後にログ送信基盤の処理時間を約140ms→90msへ短縮しました。

高野政徳

高野政徳|CTO・CISSP

IoT追跡サービスMAMORIOを、iOS・Android・Railsにまたがって運用しています。RubyBizグランプリ2019特別賞受賞プロダクトの技術責任者です。

対象

  • Railsが古くなっているが通常開発で手が回らない
  • 社内にRailsアップグレード経験者が少ない
  • gem更新やCI修正が怖くて止まっている
  • CTO/リードエンジニアの壁打ち相手がほしい

Measured impact

数字で見る変化

ログ送信基盤の処理時間

約36%短縮
移行前140ms
Rails 8移行後90ms

処理時間を約50ms短縮しました。1日約3000万件のログを扱うので、この差がそのまま運用の余裕になります。

提供内容

  • Rails/Gem/CI/テスト環境の現状診断
  • Rails 6→7、7→8などの段階移行計画
  • deprecated API、破壊的変更、依存gemの洗い出し
  • CIやテスト落ちの修正
  • 小さなPR単位での移行
  • 本番反映前のリスク整理
Ruby on RailsPostgreSQLAWSCIPerformance

契約と進め方

  • 提供者は高野政徳個人です。所属企業の公式サービスではなく、所属企業との利益相反はありません。
  • 適格請求書発行事業者(インボイス)として登録済みです。
  • 着手前にNDAを締結できます。最初の相談に、ソースコードや機密資料は不要です。
  • リポジトリや本番環境への権限は、必要な範囲と変更手順を合意してからいただきます。
  • 費用は、対象の規模と範囲を伺って個別にお見積もりします。内容・費用・日程の合意後に着手します。
  • フルリモートで対応します。

お受けしないケース

  • Rails 4以前の延命のみが目的(フルリプレースのご提案になります)
  • フルタイム常駐
  • 仕様未確定のスクラッチ新規開発
  • アプリの規模や複雑さを、こちらで把握できないまま着手すること

30日スプリントの進め方

基本は30日単位のスプリントで進めます。30日で終わらない規模の場合は、振り返りのときに次の30日の範囲を決めて続けます。

Week 1: 現状診断

  • Gemfile / Ruby / Rails バージョンの棚卸し
  • CIの現状確認、テスト落ち箇所の特定
  • 依存gemの非互換マッピング
  • 30日でどこまで進めるかの合意

Week 2: 足場固め

  • deprecated警告の解消PR
  • 落ちているテストの修正PR
  • CIをグリーンに戻す

Week 3: 本丸の移行

  • Rails本体のバージョンアップPR
  • 破壊的変更への対応
  • 本番反映前のステージング検証

Week 4: 本番反映と引き継ぎ

  • 段階的な本番デプロイ
  • 振り返り資料の作成
  • 次の30日で何をやるかの提案

進め方は事前合意の上、対象アプリの状況に応じて調整します。

相談する

技術負債の状況、対象アプリの規模、希望スケジュールを書いて送ってください。わかる範囲で構いません。初回の返信で、30日で進められる範囲を整理してお返しします。

Googleフォームで相談する

相談を送るだけで契約にはなりません。パスワードや秘密鍵、顧客の個人情報は送らないでください。

問題が3領域にまたがるとき

Rails、モバイルアプリ、登録・決済導線を私がまとめて見る、統合改善プランもあります。担当者間の伝言ゲームを減らせます。

統合プランを相談する