32個のPRでリリースした依存度の高いコアなモデルの安全な弄り方

32個のPRでリリースした依存度の高いコアなモデルの安全な弄り方
Shohei Mitani • Tokyo, Japan & online • Japanese • Talk

Date: October 28, 2023
Published: November 02, 2023
Announced: unknown

https://kaigionrails.org/2023/talks/ShoheiMitani/

【発表概要】
新しく機能を設計する際、将来的な仕様変更の可能性を踏まえて拡張性を持たせたり、簡単に変更ができるように工夫することは、経験を積んできたエンジニアにとって常に意識しているポイントかと思います。 しかし、時として思わぬ方向に機能のニーズが変化したり、予想外の事業領域へのチャレンジによって当初には意図してない形に設計を大きく変更せざるを得ないケースも生じます。

・このテーブルを変更しないといけないけど参照箇所が多くて触りにくい...
・新しくカラムを追加したいけどデータ量が多いからオンラインして良いのか不安...??
・この仕様ってこれから先どう変わっていくんだろ... 拡張性とか考えなくてもいいかな...??

サービスが大きくなるほど既に動いている機能を障害なく変更していくことは難しくなりますし、変化の多い事業環境でどこまで拡張性や柔軟性を持たせるかの見極めは困難です。

このセッションでは、実際の事例に基づいてサービスのコアとなるモデルの仕様を大きく変え、テーブルの定義変更やモデルの機能拡張をしたお話をします。多くのモデルに依存していたり、Read/Writeが多いモデルをダウンタイムなしで変更していくための手順の決め方や具体的なテクニック、便利なgemなどについて紹介します。また、私たちのチームが将来像を考慮しながら設計する時に意識しているポイントについても紹介します。

【発表者】
Shohei Mitani
GitHub https://github.com/ShoheiMitani

Kaigi on Railsは、初学者から上級者までが楽しめるWeb系の技術カンファレンスです。
https://kaigionrails.org/

Kaigi on Rails 2023

Explore all talks recorded at Kaigi on Rails 2023
+30