16章Sidecar(サイドカー)
サイドカーコンテナは、すでに存在しているコンテナを変更することなく拡張・強化するものです。Sidecar(サイドカー)パターンは、単一目的のコンテナが互いに密接に協力し合えるようにする、基本的なコンテナパターンの1つです。この章では、基本的なサイドカーの考え方について学びます。それに続く特化されたパターンであるAdapterとAmbassadorについては、それぞれ17章と18章で学びます。
16.1 問題
コンテナとは、開発者やシステム管理者が統一された方法でアプリケーションをビルドし、リリースし、実行できるようにする人気のあるパッケージ技術です。コンテナは、明確なランタイム、リリースサイクル、API、それ自体を所有するチームといった機能の単位に対する自然な境界を表現するものです。正しく作られたコンテナは、単一のLinuxプロセスのように、つまり1つの問題だけをうまく解決するよう振る舞います。また、置き換えと再利用が可能なように作られます。専用に作られた既存のコンテナを利用することによってアプリケーションをより早く作れるようになると言う点で、最後の部分は不可欠な性質です。
今日においては、HTTPの呼び出しを行うのにクライアントライブラリを書く必要はなく、既存のものを利用できます。それと同様に、Webサイトを公開するのにWebサーバを動かすコンテナを作る必要はなく、既存のものを利用できます。この方法によって開発者は、車輪の再発明を避け、メンテナンスするべき品質の高い少数のコンテナで構成されたエコシステムを作れるようになります。しかし、単一の目的を持つ再利用可能なコンテナを作るには、コンテナの機能を拡張する方法や、コンテナ同士で協調する手段が必要です。Sidecarパターンは、コンテナが別の既存のコンテナの機能を拡張するために行うこういった協調関係を表したものです。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access