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

スタートアップの事業成長を支えるアーキテクチャとエンジニアリング

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for どら どら
November 20, 2025

 スタートアップの事業成長を支えるアーキテクチャとエンジニアリング

Avatar for どら

どら

November 20, 2025
Tweet

More Decks by どら

Other Decks in Technology

Transcript

  1. 写真を ⼊れてください 略歴 ⾃⼰紹介 2006年 2011年 2018年 2023年 中⼭ 太雅

    開発本部 CTO 慶應義塾⼤学 環境情報学部卒 🚗 レーシングドライバーを⽬指す(?) 株式会社ディー‧エヌ‧エー ⾼トラフィックのソーシャルゲームの新規開発‧運⽤ ⾦融系、個⼈事業主、スタートアップ等を経験 株式会社カナリー CTO | 事業を技術で⽀え‧ドライブする
  2. プロセス‧資源品質 戦術‧戦略の⽋如 ※ISO25010 等を元に平易な⾔葉に置き換えています 内部品質 外部品質 利⽤時の品質 開発組織 開発⼿法 知識‧スキル

    分かりやすさ 修正しやすさ テストしやすさ etc 性能 信頼性 使いやすさ etc 価値 コスト 気持ちよさ etc
  3. オブザーバビリティの守 〜起きていることを知る〜 ⼀の守 ログ メトリクス トレース 何が起きたか ピンポイント どれくらい 定量的情報 全体像 全部⼤事だが

    “あえて” ⼩規模システムで究極の選択をするなら ログ > メトリクス > トレース • エラーで動かないものはどうやっても動かないのでクリティカル • 外部システムを多⽤していなければトレースよりもメトリクスの⽅が嬉しい
  4. ⽴ち上げ期の守 戦術のツボを抑えた! ✅ 理由なくマイクロサービスにしない ✅ 更新時は排他制御(競合制御)を⾏う ✅ 整合性チェックは信頼できるデータで⾏う ✅ トランザクションは基本的に1つ

    ✅ コメントを書く ✅ 設計原則を守る ✅ 準正常系のエラーを返せる道を作る ✅ ログを過不⾜なく出せるようにする ✅ データベースにインデックスを張る ✅ データベースの N+1 問題に気を付ける
  5. 運⽤負荷 原因 対応 • スタートアップは「問題がない なら考えない」という思考にな りがち(ある種正しい) • 結果、短期⽬線で新規開発だけ をやり続ける

    • 気付くといつの間にか茹でガエ ル式に運⽤負荷が⾼まる 短期のアウトプットに偏重 • PdM、PO と会話し投資先の⼀ つであるという共通認識を持つ • 運⽤を楽にすれば時間を使える ようになるのでエンジニアも PdM‧PO も嬉しい • どの程度リソースを使っている のか定量的に状況把握 共通認識の醸成‧状況把握
  6. 技術的負債の四象限(出典:マーチン‧ファウラー) 意図的 / 無謀 「時間ないんだよね」 意図的 / 慎重 「⼤丈夫、分かってる」 認知外

    / 無謀 「レイヤー化ってなに?」 認知外 / 慎重 「もっとうまくできたな」 無謀 慎重 意図的 認知外