Slide 7
Slide 7 text
僕がContract Oneに来る直前
- ゆるふわアプリケーションアーキテクチャで実装⽅法がみんなカオス
- みんな⼀⼈⼀⼈の⼼に、みんなそれぞれのアーキテクチャがある(たぶん)
- きっとDDDっぽいことをやりたかった雰囲気だけ残ってる…
- テストコードがまともに動かない
- そもそもローカルPCでもCI環境でもまともに動かない
- 動いたとしてもテストコード実⾏が延々に終わらない
- たまに落ちる謎テスト(フレーキーテスト)
- まともに動かないから失敗しているテストが放置(テストコードとは?)
- ビルド時間⻑すぎてステージング環境へのデプロイがかなり待たされる
- 1回で20~25分くらいだった気がする…
- 3チームくらいあるのにステージング環境が1つしかない
- 少なすぎてみんなで環境を取り合う
機能開発を優先しすぎていた結果、かなりの技術的負債が放置状態
- アプリのヒープメモリ、CPU、DBコネクションプール、最⼤同時接続数、スレッド関係など
の基盤周りのパラメータが適当に設定されたまま放置
- 負荷のかかり⽅によってシステム全体のパフォーマンスが落ちる
- インフラやアプリのパフォーマンス監視をしていない
- CPUやメモリの使⽤率がどうなってても、アプリのレイテンシがどうなっても放置
状態。ユーザからの問い合わせでやっと気づく
- パフォーマンスに問題があっても、それを分析する仕組みがない
- 各運⽤作業において煩雑な⼿作業が多い
- ⼤事な開発時間が奪われてしまう
- 既存のORMが使いづらく、データベースへアクセスするための実装が⾯倒
その他いろいろ (恥ずかしくてあんまり⾔えない)