Apache Mesos

データセンター内の多数のマシンを1つのリソースプールに抽象化するクラスタマネージャ。UC Berkeleyの研究プロジェクトとして始まり、NSDI 2011の論文「Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center」で発表された。GoogleのBorgやFacebookのTupperwareといった先行のモノリシックなクラスタ管理システムに学びつつ、対照的にモジュラーな設計を採ったのが特徴。2013年6月にApacheのTop-Level Projectになった。 #infrastructure

Two-level scheduling

Mesosの設計の核。Mesos本体(master)はスケジューリングの全権を持たず、「リソースオファー」だけを行う。masterが各フレームワークに空きリソース(CPU・メモリ)を提示し、それを使ってタスクをどこに配置するかはフレームワーク側のスケジューラが決める、という2階層の分業になっている。

sequenceDiagram participant A as Agent(各マシン) participant M as Mesos Master participant F as Framework<br/>(例: Marathon) A->>M: 空きリソースを報告 M->>F: リソースオファー<br/>(node1: 4CPU/8GB ...) F->>F: どこに何を置くか決定 F->>M: タスク起動要求 M->>A: タスクを起動

これにより、性質の異なるワークロード(バッチ処理・長時間稼働サービス・cronジョブなど)が同じクラスタを共有でき、フレームワークごとに最適なスケジューリング戦略を実装できる。

フレームワーク

Mesos単体ではコンテナやサービスは動かせず、上に載せるフレームワークが必要。

  • Marathon — 長時間稼働サービス用。「Mesosがデータセンターのカーネルなら、Marathonはinit/upstartデーモン」と説明された
  • Chronos — 分散cron
  • Spark — のちのApache Spark。NSDI 2011のMesos論文自体の中で、Mesos上に構築した新フレームワークの実例として登場している

盛衰

2010年代半ば、コンテナオーケストレーションの主導権をDocker Swarm・Kubernetesと争った。TwitterやAirbnbなどでの大規模採用で知られたが、競争はKubernetesの勝利に終わる。

  • 商用化を担ったMesosphere社は2018年からDC/OSにKubernetesサポートを追加し始め、2019年8月には社名をD2iQ(Day Two IQ)に変更してKubernetes中心の事業へピボットした
  • 2021年4月、活動低下を受けてApache Atticへの移行が提案・投票されたが、このときはコミュニティの反対で一旦回避された
  • 2025年8月に正式にretireし、同年10月にAttic移行が完了。以後リポジトリはread-onlyで、リリースもセキュリティパッチも提供されない

出典

作成日時: 2026-08-14 08:20 / 更新日時: 2026-08-14 08:25