Home » Incremental Update

増分アップデート

incrementalupdate ファイルの更新が必要な状況で、変更されたものだけが含まれたパッチファイルをダウンロードし、ローカルで直接パッチする方法

概要

2021年、ITワクチン会社で産業技能要員(兵役制度)として働いていた当時「増分アップデート」というプロジェクトを一人で担当した。

会社ではAWS3から1MBファイルを顧客に毎回提供していたが、

このファイルは顧客にとって非常に重要なファイルで、内容が変更されるやいなや顧客は再びダウンロードしなければならなかった。

当時新入社員として多少萎縮していた私にものすごい成長と自信感を植え付けてくれたプロジェクトでもある。

実装方式

この1MBファイルの内容変更は他の部署で行われた。

したがって、既存の仕事処理方式を最大限維持する方向で機能を検討した。

  1. 他の部署で1MBファイルを変更してアップロードする時、自動化triggerが作動し直前アップロードファイルと現ファイルのdiffでパッチファイルを作るようにした。

  2. そして、このパッチファイルをサーバーに自動的に配布し、クライアントがアップデート時に該当ファイルを利用するようにした。

  3. クライアントでは、ダウンロードした該当パッチファイルを現在の1MBファイルに適用できるようにした。

使用技術スタック

結果

結果的に既存トラフィックの合計60%のコストを削減することができた。

ロールバック事故

最初に完成して配布した結果、既存トラフィックがむしろ3倍増え、一日で急いでロールバックされた。

難しかった点

  1. 既存のアップデートロジックに新しく移植することが非常に難しかった。
  1. VS2003に新機能を開発するのが難しかった。
  1. テストの実装が難しかった。

総評