サイドカーコンテナ

サイドカーコンテナはサイドカーパターンの実装です。 別のコンテナ上にデプロイされたアプリケーションが並行して動作し、メインコンテナ上で動いている主要なアプリケーションとライフサイクルを共有します。

解決すべき問題はなんですか

ログ、モニタリング、トレースだけでなくセキュリティやネットワーキングのようなシナリオに対処するために、複数のコンテナとそれらのライフサイクルをまとめて扱うのが都合の良いクロスプラットフォームの状況があります。 このアプローチ以前は、ログは通常、コンテナ内のアプリケーションコードの中で実装されていました。 これにより、開発者やアプリケーションによってロジックの実装方法が異なり、結果として保守や運用がより複雑なシステムになることが多かったです。 たとえば、ログロジックの更新が実行時のアプリケーションに影響を与え、運用リスクが増大する可能性があります。

どのように役に立つのでしょうか

関心の分離の原則を強制し、主要なアプリケーションのコードを変更することなく、別のコンテナ上で動作する分離されたプロセスを使って機能を拡張できます。

サイドカーコンテナはメインコンテナと同じリソース(ストレージやネットワーキングを含む)を共有します。 その間に、メインコンテナは機能的なタスクやビジネス機能の公開に集中できるようになります。

たとえば、複数のマイクロサービスが同じディレクトリから読み取るログエージェントとして機能するサイドカーコンテナを持っていて、メインアプリケーションがそのディレクトリにログを書き込んでいる場合などです。