2章Predictable Demand(予想可能な需要)
アプリケーションのデプロイ、管理、共有クラウド環境でのアプリケーションの共存を成功させる基盤を作ることは、アプリケーションのリソース要求と実行時の依存関係を把握し宣言することに依存しています。このPredictable Demand(予想可能な需要)パターンでは、実行時の絶対的な依存性やリソース要求であるかどうかにかかわらず、アプリケーションの要求をどのように宣言すべきかを述べています。あなたの要求を宣言することは、あなたのアプリケーションに適した場所はクラスタ内のどこなのかをKubernetesが探すために重要です。
2.1 問題
Kubernetesは、アプリケーションがコンテナ内で動かせる限り、どんなプログラミング言語で書かれたアプリケーションでも管理できます。しかし、異なる言語には異なるリソース要求があります。通常、コンパイル言語は高速に動作すると同時に、ジャストインタイムなランタイムやインタプリタ言語と比べるとメモリ使用量が少ないことが多いです。同じカテゴリのモダンなプログラミング言語の多くが似たようなリソース要求の傾向を持っていることを考えると、リソース消費の観点からは、ドメイン、アプリケーションのビジネスロジック、実際の実装の詳細の方がより重要な観点になります。
リソース要求に加え、アプリケーションのランタイムはデータストレージやアプリケーションの設定といったプラットフォームが管理する機能に依存しています。
2.2 解決策
コンテナに対する実行時の要求を知っておくのは、主に次の2つの理由から重要です。1つめは、すべての実行時の依存関係が定義されており、リソースの需要量が明確なら、最も効率のよいハードウェアの使用率を実現するためにクラスタのどこにコンテナを配置するべきかについて、Kubernetesは合理的な判断ができます。違った優先度をもつ多数のプロセスに共有されたリソースがある環境において、共存を成功させる唯一の方法は、各プロセスの需要量を事前に知っておくことです。しかし、合理的な配置は問題の一面に過ぎません。 ...
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