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

実際にリビルドを完遂してみて

 実際にリビルドを完遂してみて

takayuki.miura

June 28, 2022
Tweet

More Decks by takayuki.miura

Other Decks in Technology

Transcript

  1. アジェンダ 実際に1年かけて行ったリビルドの、経験と知見を共有し ます - リビルドの目的 - リビルド内容 - リビルドによる効果予測 -

    実際にリビルドを行ったことによる効果 - 大変だったこと - リビルドの効果をより長持ちさせていくには
  2. リビルドの目的 ゴミ屋敷(整理されていないコード )だと… - 普段やらないことをしようとすると、何がどこにあるかわからない → 普段やっていない開発をしようとすると、大量の時間がかかる - 物の位置がすぐに変わってどこにあるかわからなくなる →

    バグの発生率が高い - 新しい入居者が、まともに生活できるようになるまで時間がかか る → オンボーディングに時間がかかる → 発展的な開発が難しい でも、これからはガンガン開発していきたい …
  3. リビルド内容 時間の問題もあり、今回は特に使用されている API2つに絞って リビルド - 言語・フレームワーク - PHP + Bear.Saturday

    → Java + Spring Boot - Webサーバ - Apache → Nginx - アーキテクチャ - 謎アーキテクチャ → クリーンアーキテクチャ - インフラ - EC2 → ECS(コンテナ化) - キャッシュシステム - ローカルファイル → Redis - その他 - 不要なコードの削除 - 複雑なコードのリファクタリング
  4. リビルドによる 効果予測 - 予測 - コード量減少 - 不要なコード削除 - 複雑なコードのリファクタリング

    - アーキテクチャの改善 - 希望的観測 - 必要なコンテナスペック減少 - 言語やフレームワークの変更
  5. 実際にリビルドを行ったこ とによる効果 - ネットワーク通信量 1 / 2 → 不要なレスポンスの削除と、 Nginxにして圧縮されるよう

    になったから? - サーバ(コンテナ)台数 1 / 3 (スペック単位で計算) → 言語・フレームワークの変更による? - レスポンスタイム 1 / 4 → 言語・フレームワークの変更と、キャッシュを Redisにした ことによる?