マイクロサービス
マイクロサービスを構成するネットワーク基盤をサービスメッシュと呼び、ネットワーク基盤をアプリケーションから隠蔽することでマイクロサービスをより容易に実現しようと試みられている。
サービスメッシュ(Service Mesh)は、アプリケーションを構成するマイクロサービス群からなるネットワークである。マイクロサービス間通信を用いてアプリケーションを構成するには、データ転送の制御と監視が必須である。要件の例としては以下が挙げられる。
サービスディスカバリ
負荷分散
障害復帰
メトリクス
監視
さらにA/Bテストやカナリアデプロイ、レート制限、アクセス制御、認証、カオスエンジニアリングなど様々なネットワーク関連の要件が発生しうる。サービスメッシュに着目した場合、ネットワークに由来するこれらの困難さをアプリケーションから隠蔽するためにプロキシなどの様々な手法が用いられる。
ネットワークの転送部は転送を担うデータプレーン(data plane)と転送制御を決定するコントロールプレーン(control plane)に分離できる(c.f.