【ノマド】

Nomad とは?

💡 コンテナもVMもバッチも、何でもまとめてスケジューリングする遊牧民
📌 このページのポイント
Kubernetes vs Nomad 機能比較 Kubernetes コンテナ専用 多数のコンポーネント構成 サービスメッシュ内蔵 巨大なエコシステム 学習コスト→高い vs Nomad コンテナ+VM+バイナリ+Java 単一バイナリでシンプル Consul/Vaultと連携 HashiCorpエコシステム 学習コスト→低い 用途に応じて使い分け → レガシー混在環境ならNomadが有力候補
Kubernetes vs Nomad の機能比較図
ひよこ ひよこ

Nomadってkubernetesと何が違うの?オーケストレーターっていうのは同じだよね?

ペンギン先生 ペンギン先生

どちらもワークロードのスケジューリングと管理をするオーケストレーターだけど、大きな違いが2つあるよ。まずNomadはコンテナ以外も管理できること。そしてKubernetesよりずっとシンプルなこと。etcdAPI serverも不要で、単一バイナリで動くんだ。

ひよこ ひよこ

コンテナ以外も管理できるってどういうこと?

ペンギン先生 ペンギン先生

NomadにはTask Driverという仕組みがあって、Dockerコンテナはもちろん、普通のバイナリ実行、Javaアプリ、QEMU仮想マシン、さらにはWindowsIISまで管理できるよ。レガシーなアプリをコンテナ化せずにそのままオーケストレーションできるのは大きなメリットだね。

ひよこ ひよこ

シンプルって言うけど、機能が足りなくならないの?

ペンギン先生 ペンギン先生

Nomad単体ではサービスディスカバリシークレット管理の機能はないけど、ConsulやVaultと組み合わせることで補完するんだ。Kubernetes風に言うと「Kubernetesのスケジューラ部分だけを独立させた」イメージだね。必要な機能を必要な分だけ組み合わせる思想なんだよ。

ひよこ ひよこ

じゃあ、どんなときにNomadを選ぶといいの?

ペンギン先生 ペンギン先生

Kubernetesの学習コストや運用負荷が重すぎるチーム、コンテナ化できないレガシーアプリがある環境、あとは大規模バッチ処理が多い場合だね。特にCI/CDのランナーやデータパイプラインのジョブスケジューリングにはNomadが向いているよ。

ひよこ ひよこ

大規模にも使えるの?小さい会社向けってわけじゃない?

ペンギン先生 ペンギン先生

実はNomadは100万コンテナのスケジューリングベンチマークで好成績を出しているし、Circleや Robloxなど大規模サービスでの採用実績もあるよ。HashiCorpのツール群はすべて同じ設計思想で作られているから、Consul+Vault+Nomadの組み合わせは、Kubernetesエコシステムに匹敵する統合環境を構築できるんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Nomad」って出てきたら「Kubernetesよりシンプルな、何でも動かせるオーケストレーター」と思えればだいたいOK!
📖 おまけ:英語の意味
「Nomad」 = 遊牧民・放浪者
💬 場所を選ばず自由に移動する遊牧民のように、あらゆる環境であらゆるワークロードを動かせるという意味が込められているよ
← 用語集にもどる