第一部:コンテナって何ができるの?日本の現状と展望

仮想化技術が進化を遂げるなか、注目を集めているのがコンテナ型の仮想化技術です。

日本ではまだ普及に至っていないものの、アメリカやヨーロッパ、中国を初めとした海外では、従来の「サーバー仮想化」に代わってスタンダードな技術となっています。

そこでコンテナとはどんなもので何をするものかや、日本での現状・展望について、Rancher Labsの新藤 洋介氏に伺いました。

Rancher×kagoya01

Rancher( Rancher Labs)について

カゴヤ・ジャパン株式会社 天野:
Rancher社(Rancher Labs)様の沿革や歴史についてお聞かせいただけますか。

進藤様:
弊社はアメリカのシリコンバレーで、クラウドの基盤サービスを企業に販売する会社として2014年に創業しました。当時のサービスを使えば、AWSやAzureのような仮想化環境を自分の会社の中に自前で作れる、 そういったサービスでしたが、その基準をデファクトスタンダードにすることができませんでした。

クラウドの戦いは終わったから、次にくるのはなんだと考え弊社が目を付けたのが、コンテナ型仮想化を実現するDocker(ドッカー)でした。そうしてコンテナを管理するプラットフォームである「Rancer(ランチャー)」を開発しました。

Rancher×kagoya02

天野:
Rancherは、2018年の3月に2.0が登場していますね。

進藤様:
はい、Rancher1.0ではコンテナのオーケストレーションツール(※)として、Kubernetes(クバネティス・クバネテス・クーベネティス)だけでなく、Mesos(メソス)やSwarm(スウォーム)など他のアプリケーションも使えるようにしていました。

しかしKubernetesが最も伸びており、数年先にはKubernetes一色になるだろうと考え、Rancher2.0ではKubernetesのみの対応に一本化しています。日本では、これからDockerが普及し、Dockerが導入されている企業がKubernetesを便利に使ってもらうためのアプリケーションがRancher 2.0なので、2世代先のサービスということになりますね。

Rancher×kagoya03

※オーケストレーションツール
コンテナにおいてオーケストレーションツールとは、アプリケーションの負荷状況においてコンテナの数を自動的に増減させるなど、コンテナを管理するシステムを意味する。もともとオーケストレーションツールとは、音楽の「オーケストラ」のように複雑なコンピューターシステムやミドルウェア、サービスなどの管理を制御し自動化するシステムをさす。

天野:
日本では、これからの技術ということですね。

Rancher社様が海外に進出されたのはいつ頃ですか?

進藤様:
ヨーロッパや中国は2014年、日本は2016年の9月なのでちょうど3年目ですね。

Rancher×kagoya04

天野:
アジアでは中国の方が早く進出しているのですね。

日本と比べ海外ではコンテナの普及は進んでいるのでしょうか?

進藤様:
はい。Kubernetesでコンテナを使うのはグローバルスタンダードになっているといってよいですね。たとえば中国では、市場規模で言うと日本の40倍程になっています。日本では著しく普及が遅れているのは否めないですね。

コンテナを使って開発するというのは世界的にはデファクトスタンダードになっていますが、日本でも去年からどんどん増えています。

私たちの身の回りにもKubernetesで構築されたものはいっぱいあるんですよ。たとえば、日本で最もよく使われているトーク&SNSアプリであるとか、日本を含め世界で数千万人のユーザーがいる位置情報ゲームアプリなどもKubernetesがインフラに使われています。

天野:
Kubernetesは、私たちの身近な存在になっているんですね。

天野:
Rancher様の沿革や概要についてはわかりました。

そのなかで進藤様のポジションや業務内容を教えていただけますか?

進藤様:
Rancher社の日本法人は現在2名体制で11月からさらに1名増え3名になるんですけれど、今年の4月までは1名体制で技術面からプリセールス、ポストセールスまで全て私が対応していました。

4月からは1名入って彼が技術面を100%受け持ってくれているので、現在は、それ以外の業務全てを担っています。

コンテナって何ができるの?

天野:
次に、そもそもコンテナとはどういうもので、何ができるのか初めての方でもわかるように教えていただけますでしょうか?

進藤様:
わかりました。

CD-Rはご存知ですよね?

天野:
はい、わかります。

進藤様:
CD-RにはOfficeであるとかWindowsであるとかを使うのに必要なものが一式入っていますよね。1枚のCD-Rにプログラムやデータを焼きこむわけですね。そうして、そのCD-Rを持って行って新しいパソコンにインストールすればソフトが使えるようになります。

コンテナとはCD-Rと同じようなものでして、全てのデータをCD-Rのように記憶させて持ち運ぶことができるんです。私たちは、それを「イメージ」と呼びます。

冷凍食品で言うと、お盆の上にご飯とオカズと味噌汁が全て配置されている状態のままで箱の中に入っていて、その箱をレンジで温めればすぐに食べられるというような思想性をもっているのがコンテナなんです。

これの何が良いかというと、まずレンジで温めるだけでよいということで効率がよいわけです。あとは可搬性ですね。お盆ごと持っていけば、このテーブルで食べることもできるし、別の部屋で食べることもできます。この可搬性を追求したのが、コンテナという仮想化技術を可能にするDockerなのです。

天野:
なるほど、コンテナを使うことによってイメージの持ち運びが簡単になり、それを実現するのがDockerということですね。

進藤様:
そうです。

この可搬性の何がよいかというと開発環境でも本番環境でも同じように動くということですね。開発環境では動いていても本番環境では動かないということがありますよね。

天野:
ありますね。たとえば自社で作ったパワーポイントのアニメーションが、お客様先の環境では動かないとか。

進藤様:
そんな感じです。

どの環境でも同じように動いて欲しい、という要望を実現するのがコンテナでありDockerなのです。従来では環境ごとの違いをなくすためにインフラの調整などが必要だったのですが、コンテナを使えばその必要がなくなります。

天野:
開発環境や本番環境の違いに悩んでいた開発者は、コンテナの登場を喜ぶわけですね。

進藤様:
その通りですね。だから開発環境として使う方が日本でも増えているわけですね。

天野:
では、DockerとKubernetes、Rancherの違いは何でしょうか?

いずれも「コンテナという仮想化技術を実現するのに必要なもの」であることは分かるんですが、具体的にはどんな違いや役割分担があるのでしょうか? Dockerでコンテナという仮想化を実現する技術として、KubernetesとRancherはなぜ必要になるのでしょうか?

進藤様:
いるか、いらないかという話で言うと、鰻丼にかける山椒みたいなもので必ずないといけないわけではありません。ただ、あると助かりますし、世界的にみれば『みんなが使っているから私も使う』みたいなところもあると思います。

天野:
具体的に、どう『便利になる』のでしょうか?

進藤様:
管理が簡単になります。大規模インフラであると、たとえばコンテナそのものが消えてしまうといったことがあるんですね。

天野:
コンテナが消えてしまっては大変ですね。

Rancher×kagoya05

進藤様:
はい。そのため仮に消えても困らないように、『こういう状態で常に5つのコンテナを走らせておく』というようなことをします。

そうして、そのうちの2個のコンテナが消えても自動的に5個に戻るようにする、といったコンテナの管理が、Kubernetesがあるとできるようになるわけです。

Rancher(ランチャー)の機能と役割

天野:
Dockerがコンテナという仮想化を実現し、Kubernetesはコンテナの自動管理を行うということは分かりました。それでは御社が開発したRancherには、どんな役割があるのでしょうか?

進藤様:
Kubernetes自体は便利なツールなのですが、高度なことがいろいろできるかわりに概念や仕組みの理解など難しいことが多いんです。それをグラフィカルなGUIで、視覚的に簡単に操作できるようにしようというのがRancherのバリューです。

Rancherは、それがないからと言ってKubernetesが使えなくなるわけではありません。けれど、それがあればみんなが使いやすいという意味で効率性や利便性をあげることができます。

Kubernetesを使うためには、今まではエンジニアがCUIでコマンドを打ち込んで操作していました。ただRancherユーザーの企業には、パート主婦の方がRancherを使いAIのプラットフォームを管理している、というような例もあるぐらいです。

天野:
それはすごいですね。

進藤様:
はい、そういう風に誰でも使えるようにする、全員が潤うというのがRancherが重要視しているバリューです。

天野:
そういった意味で、利便性や効率を上げることができるということですね。RancherのUIは、日本語にできるのでしょうか

進藤様:
はい。1.0の頃からきれいな日本語のUIがあります。

天野:
それでは、Rancherの管理画面を使うためのトレーニングはありますか?

進藤様:
はい、それもあります。ハンズオンの機会も昼の部・夜の部とわけて行っています。

天野:
トレーニングも用意されているのであれば、コンテナやKubernetesを使ったことがない方でも始めやすいですね。

Rancherは、勉強すればすぐに使えるようになりますか?

進藤様:
Kubernetesの概念自体を勉強する必要はありますが、簡単に使えるツールと考えていただいて結構です。

Rancher×kagoya06

コンテナやコンテナを管理するためのKubernetesは、今やサーバー仮想化にかわりグローバルスタンダードな技術となっています。そして、RancherはKubernetesを簡単に使うために、非常に有効なソフトウェアです。日本でも、今後普及すると想定されるこれらの技術は注目です。

次回はRancherを搭載したKAGOYAコンテナサービスの魅力に迫ります。
>第二部:Kubernetes + Rancher構築済KAGOYA「コンテナサービス」の魅力

コンテナサービス

人気記事ランキングトップ10

カテゴリ一覧

新着記事Pick Up!