【おーけすとれーしょん】

オーケストレーション とは?

最終更新:
💡 コンテナ群を指揮する自動オーケストラ
📌 このページのポイント
オーケストレーションの仕組み オーケストレーター (コントロールプレーン) スケジューリング スケーリング ヘルスチェック ノード 1 Pod A Pod B Pod C Pod D ノード 2 Pod E Pod F Pod G ノード 3 Pod H Pod I Pod J Pod K
オーケストレーションの仕組み
ひよこ ひよこ
コンテナが10個も20個もあると、管理が大変すぎるよ…。どれが動いてて、どれが止まってるのか把握しきれない!
ペンギン先生 ペンギン先生
だからオーケストレーションツールが必要なんだよ。オーケストラの指揮者みたいに、たくさんのコンテナをまとめて管理してくれるんだ。
ひよこ ひよこ
おもしろい!"具体的に何をしてくれるの?"
ペンギン先生 ペンギン先生
例えば『Webサーバーのコンテナを常に3つ動かして』と指示すると、1つ落ちても自動で新しいのを起動してくれる。アクセスが増えたら5つに増やして、落ち着いたら3つに戻す、なんてことも自動だよ。
ひよこ ひよこ
おお、めっちゃ便利!Kubernetesがそれをやってくれるの?
ペンギン先生 ペンギン先生
そう、Kubernetesが代表格だね。他にもDocker SwarmやAmazon ECSなどがあるけど、今はKubernetesがデファクトスタンダード。『コンテナを3つ維持、CPU使用率80%超えたらスケールアウト、更新時はローリングアップデート』みたいな宣言をYAMLで書くだけで全部やってくれるんだ。
ひよこ ひよこ
Kubernetesって難しいって聞くけど、小さいチームでも使うべきなの?
ペンギン先生 ペンギン先生
コンテナが数個ならDocker Composeで十分だよ。Kubernetesは学習コストが高いから、明確にスケーリングが必要になってから導入するのが賢い。最近はAWS FargateやCloud Runのようにコンテナを投げるだけで勝手にスケールしてくれるサービスもあるよ。
ひよこ ひよこ
オーケストレーションの考え方ってコンテナ以外にもあるの?
ペンギン先生 ペンギン先生
あるよ!実はマイクロサービス間の処理フローを統制する「サービスオーケストレーション」もあるんだ。注文処理で「在庫確認→決済→配送手配」という一連の流れをオーケストレーターが制御する。対義語として「コレオグラフィ」があって、こちらはイベント駆動で各サービスが自律的に連携する方式。どちらにも一長一短があるよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「オーケストレーション」って出てきたら「多数のコンテナやサービスを自動で管理・調整する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Orchestration」 = 管弦楽の編曲、統合的な調整
💬 orchestra(オーケストラ)から派生。多数の楽器を調和させるように、複数のサービスを協調させる意味で使われる
← 用語集にもどる