こんにちは、バックエンドエンジニアの飯沼です。私たちが開発している旅行アプリ『NEWT(ニュート)』のAPIはNode.jsで動かしています。モノリシックな構成で約2年半ほど機能拡張を続けた結果、いつの間にかAPIの起動速度は30秒近くまで遅くなってしまいました。ここまで遅くなるとセールなどのイベントでトラフィックが急増した際に、APIインスタンスのスケールアウトが間に合わずエラーを返す割合が高くなってきます。 この記事では、起動速度が遅い問題を解決するために行ったことを、後学のために過程も含めて共有します。今回の内容は業務委託で協力してくださった與那城さんによる取り組みです。(ありがとうございます!!) なお、今回の改善対象のアプリケーションの実行環境や規模は以下の通りです。 実行環境:Cloud Run (Second Generation / 2024年12月頃) Node.jsバー