なぜなにTutum - いまTutumをオススメする12の理由
※このエントリは実はDocker Advent Calendar 2015 の1日目のエントリだったんだよ!
おはこんばんちわ!ytnobodyです。最近はすっかりDockerおじさんとなってしまいましたが、僕がdockerコンテナを管理するのに使っているTutumについて、改めて紹介しておきたいと思います。
DockerとTutumの関係性
Dockerが世に出回って結構な月日が経ちましたが、webアプリ開発者の観点から見た時に、コンテナのデプロイ及び管理を行う仕組みとして決定打といえるプロダクトはこれまでありませんでした。
ところが数週間前、DockerがTutumを買収してコンテナアプリケーションの稼働管理サービスを充実 | TechCrunch Japan というニュースが報じられました。 これはDocker自身が、従来のコンテナ管理/デプロイ手法について不足を感じており、それに対する適切なソリューションとしてTutumに目をつけた、ということだと思います。
元々Tutumはこれまでもdocker composeの下地となる技術へのコミットや有用なイメージの公開などを通して、Dockerとは非常に密なつながりを持ち続けてきました。
そしてつい先日、とうとう Dockerが「Container as a Service」展開へ。IaaSモデルやPaaSモデルはコンテナの展開にとって適切ではないと。DockerCon Europe 2015 - Publickey というニュースで、Tutumのエンタープライズ向けとも言える「Docker Universal Control Plane」が明らかになりました。
そもそもTutumとは?
Tutumについて大まかに説明すると、「dockerコンテナを任意のIaaSやサーバにデプロイし、管理するサービス」となります。
dockerコンテナの管理という目的であれば、他にもkubernetes(k8s)を使った方法や、fleetとetcdを組み合わせる方法などもあるようですが(興味のある方はそちらについても調べてみると良いかと思います)、僕は断然Tutumをオススメします。
理由その1:ダッシュボードがわかりやすくてカッコイイ
まず、このダッシュボードをみてください。
どう見てもかっこいいです。フラットデザインでクリーンな印象を与えてくれますね。そして一つ一つのボタンやタブについて必ずシンプルな説明とアイコンが記載されています。多少英語の知識が必要ですが、一目見ただけで何をするボタンなのかが直感的にわかりますね。
また、Welcomeタブをクリックすると、初心者でもわかりやすいように、ステップバイステップでツアーが見れるようになっています。
このように徹底したUXへのこだわりと利用を諦めさせない努力の結果として、初心者でも躓きにくいと僕は感じました。
理由その2:Private Registryがついてくる
dockerを使っていると、そのうち自分用のイメージを作るようになると思います。そのうちに、作ったイメージをどこからでもデプロイできるように大抵は「Docker Hub」で公開することになるわけですが、なんらかの理由で「公開できない」イメージが手元に出来上がった時、Private Registryを自前で運用することを考えることでしょう。
ところがPrivate Registryの運用は思いのほか手間がかかり、dockerコンテナでのデータ永続性の確保が比較的煩雑であることから、早々に諦めてしまう人もいるのではないでしょうか。
そんな人にもTutumはオススメです。なぜなら、自分で構築・運用しなくてもよい、フルマネージドなPrivate Registryがついてくるのです。こんな楽なことは自前ではまずありえないですよ。
理由その3:dockerに関わるコマンドを覚えなくてもとりあえず使える
基本的にWebダッシュボードだけで全ての操作が可能ですので、コマンドの類を覚える必要がありません。
強いて挙げるならば、自分でイメージを作るためにDockerfileの文法とdocker buildの使い方くらいは覚えないといけないですけど、おそらくこれらもそのうちエコシステムができるんじゃないかと思います(勝手な予想)。
理由その4:フルマネージドである
k8sやfleet+etcdはサーバにインストールして利用するツールですので、自分で面倒を見る必要がありますし、何か問題が発生したら自分で解決する必要があります。
しかしtutumはフルマネージドなサービスですので、問題が出た時にはtutumのエンジニアチームが対応に当たりますし、ユーザ側の設定などに問題がある場合は適切なアドバイスを受けることができます。
理由その5:簡易的なモニタリングが可能
webダッシュボードに、このような簡易的なモニタリングツールがついてきます。
コンテナのパフォーマンスを知りたい時に、ちょっとした目安にできて便利です。
理由その6:SSHとサヨナラできる
webダッシュボードに、このようなターミナル機能がついています。
このおかげで、コンテナにsshdを同梱する必要は無くなりました。
理由その7:ロードバランシング機能がある
サービスにアクセスするためのTCPポートを固定にしてから複数のノードへコンテナをデプロイすると、サービスに「entrypoint url」というものが付与されます。
これは各コンテナにリクエストをロードバランシングしてくれるURLでして、コンテナの数を動的に増減させても滞りなくリクエストを捌いてくれます。
また、サービスに属するコンテナを複数のIaaSやオンプレを跨いでデプロイしてあった場合にも当然対応してくれます。
理由その8:Tutum Stackで簡単に構成管理ができる
Tutum Stackというのはいわばdocker composeと同等の機能なのですが、それをwebダッシュボードから利用できます。
従って、コンテナの構成管理はyamlファイルたった一つだけで完結します。
理由その9:IaaS/オンプレ両方で利用できて足回りを選ばない
「Bring Your Own Node(通称BYON)」という機能を活用することによって、IaaSだけではなく、オンプレでも利用可能です。
仕組みとしてはいたって簡単で、webダッシュボードから払い出されたワンライナーを対象サーバで実行すると、goで書かれたtutum-agentがインストールされ、webダッシュボードから管理ができるようになるというものです。
この機能のおかげで、例えばさくらのVPSやノートPC(ただしx86_64アーキテクチャCPUの物に限る)などをDocker Hostとして利用することができますし、オンプレしか利用できないシーンでもクラウドの手法でコンテナの管理が可能となります。
理由その10:APIとツールキットがある
TutumにはAPIおよびコマンドラインツールがありまして、webダッシュボードで可能なことは一通りCLIでもこなせる、という状況です。
これによってプログラマブルなコンテナの管理が可能となっております。その気になればAWSのようにオートスケーリングも可能でしょう。
理由その11:コミュニティが活発でTutumのコアメンバーがやたらフランク
Tutumにサインアップすると、slackチームへの参加が可能となります。
基本的に英語でのコミュニケーションとなるのですが、Tutumの開発メンバーをはじめCEOのボルハ・ブルゴス(Borja Burgos)やCTOのフェルナンド・メイヨー・フェルナンデス(Fernando Mayo Fernández)、そして各国の熱心なTutumユーザたちが集っており、特にコアメンバーは紳士的かつフランクで質問などにもフランクに答えてくれます。
理由その12:しっかりとしたサポートとナレッジベース
オンラインでのサポートが驚くほどしっかりしています。サポートホームには、よくある質問や今話題のトピックなどがずらりと並んでいます。ここに並んでいない質問がある場合は「新規トピックを作成」することでサポートを受けることができます。
そしてサポート実績の蓄積からできているナレッジベースは内容が濃く検索性も高いので、これから本気で使い始める人にもオススメできます。
まとめ
Tutumは簡単便利で応用が利く、とてもクールなサービスでオススメです!
お知らせ
そんなTutumについてもっとDeepにカジュアルに語り合おう、という集まり「Tutum Night Tokyo」を、来る12/15(火) 19:30 に開催することになりました!
こちらのzusaarから参加登録できますので、皆様のご参加をお待ちしております!