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 takayuki.miura

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にした ことによる?