はじめに

突然ですが、MesosMarathon、あるいは Docker をご存知でしょうか。

これまではサーバを用意して、それぞれのサーバに役割を設定して利用してきました。 しかし、幾つかのサーバを用意し、その上で必要なアプリケーションを必要な数だけいつでも動かせればよいのでは、 というクラスタリングによる管理を行うことが最近増えています。

そのためのツールの一つが、Mesos+Marathonと、Dockerの組み合わせです。

今回は、実際にMesos+Marathon+Dockerの環境を動かしてみることに重点を置いていますので、 個々のツールの詳しい説明は割愛します。

とりあえず動かしてみましょう!!

Mesos + Marathon

Apache Mesos (http://mesos.apache.org/) は、与えられたタスクをリソースに空きがあるスレーブ上で実行する機能を担っています。 Mesos単体ではタスクの死活監視、再起動等の機能はないため、Marathonを併用します。

Marathon (https://mesosphere.github.io/marathon/) は、与えられたタスクを、設定に従ってMesosに実行指示を出します。 また、幾つかの監視方法で個々のタスクが正しく動作しているか確認したり、必要に応じて再起動などを行います。

Docker

Docker (https://www.docker.com/) は、最近流行りのコンテナ型仮想化技術の一つです。実行したいアプリケーションの環境を、 Docker Imageと呼ばれるイメージにまとめて、いつでもどこでも実行できるようになっています。

Mesosと組み合わせることで、タスクをDockerで管理でき、 デプロイするアプリケーションもイメージとして簡単に作成、管理することができます。