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

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

💡 コンテナ群を指揮する自動オーケストラ
📌 このページのポイント
オーケストレーションの仕組み オーケストレーター (コントロールプレーン) スケジューリング スケーリング ヘルスチェック ノード 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!
オーケストレーションは、多数のコンテナやサービスを自動的に管理・調整する技術です。Kubernetesに代表されるオーケストレーションツールにより、コンテナデプロイスケーリング、障害復旧が自動化され、大規模なシステム運用が実現可能になります。
📖 おまけ:英語の意味
「Orchestration」 = 管弦楽の編曲、統合的な調整
💬 orchestra(オーケストラ)から派生。多数の楽器を調和させるように、複数のサービスを協調させる意味で使われる
← 用語集にもどる