概要
マイクロサービス化したシステムを運用する上で出てくる課題を解決するパターンとしてService Meshというものがあります。
このService Meshというものは以下の2つのコンポーネントで構成されます。
- Data plane
- アプリケーションの代わりにネットワーク層の仕事をする
- Control plane
- Data planeの管理
このData plane
のproxyはSidecarパターンという形で構築します。
今回はそれが生まれた背景などをEnvoyを用いて説明していこうと思います。
Sidecarパターンは何が嬉しいの?
そもそもどういった問題背景から生まれたのかを考えます。
モノリス
最初はシンプルな機能であったため、モノリシックなAPIで十分でした。
しかし機能が増え、チーム人数も増えたためドメイン毎に機能を分けてマイクロサービス化する事を考えます。
また通信のレイテンシを下げるため、gRPCの導入も考えます。