Sidecar
本体 (アプリケーションのコンテナ)にくっついて動く補助的なコンテナのこと
GPT-4.icon
サイドカーの役割
例えば Kubernetes でデプロイする場合:
code:yaml
Pod:
- app container (アプリ本体)
- sidecar container (Envoy など)
この構造で動作し、
アプリが通信したいとき → 必ずサイドカー経由で通信
他サービスから通信が来たとき → サイドカーが受けてアプリに渡す
つまり
アプリは「通信の詳細を気にしない」で済む
サイドカーが リトライ、暗号化、ルーティング、モニタリング を担当してくれる
なぜ Sidecar を使うのか?
アプリ開発者の負担軽減
→ 通信のリトライ、タイムアウト、mTLS などを意識しなくてよくなる
インフラで一元管理したい
→ トラフィック制御やモニタリングを、アプリではなくインフラで統一的にやりたい