twitter icon   twitter icon   rss icon

Linux.com Japan

Home ニュース Linux.com Exclusive CoreOS 共同創設者 Alex Polvi が語る: コンテナ、Rocket と Docker の比較ほか

CoreOS 共同創設者 Alex Polvi が語る: コンテナ、Rocket と Docker の比較ほか

原文は 1 月 30 日に掲載されました。原文へのリンクはこちらです。

Alex Polvi CoreOS

ここ数年、 CoreOS は Google クラスの大規模サーバー デプロイメント向けに設計された新しい Linux ディストリビューションを作った企業として、ある種の「悪名」を得てきました。同社の好運の星は、CoreOS の主要コンポーネントである Linux コンテナの普及と共に上昇してきました。そして彼らのオープン ソース コンポーネントは、分散コンピューティングの最前線の企業によって幅広く採用されています。

例をあげると、今週 CoreOS は etcd 2.0 をリリースしました。これは、数百の企業やプロジェクト (Kubernetes、Apache Mesos、Cloud Foundry など) が運用する分散システムにおける主要オープン ソース コンポーネントの初めての安定バージョンです。そして先週、CoreOS は Rocket の新バージョンとその App Container (appc) 仕様書をリリースしました。今はどちらもバージョン 0.2.0 です。

CoreOS の共同創設者で CEO である Alex Polvi は言います。「インフラストラクチャ運用の新しい世界は希望にあふれています。それは、一部はコンテナで、一部は分散システムという手法です。これは間違いなくインフラストラクチャ運用の新しい方法であり、この新しい方法は企業が現在のやり方と対比しながら、将来どのようにするかということに根本的に影響します。」

このエンタープライズ IT に対する新しいアプローチはまだ明確ではありませんが、業界における新しい役割を形作っており、Polvi はこれを「分散 DevOps」と呼んでいます。

Polvi は、 2月 18 日 ~ 20 日にサンタローザで開催される Linux Foundation の招待者限定の Collaboration Summit において、コンテナと分散コンピューティングがいかにエンタープライズ IT を変えているかについて、およびその変化に関与している現在進行中の主要オープン ソース プロジェクトや企業の概要について説明します(お申し込みはこちら)。

以下の Q & A プレビューにおいて、彼はコンテナとエンタープライズ IT について語り、CoreOS のコンテナ ランタイム Rocket を Docker と比較し、CoreOS の商用化戦略におけるオープン ソースの役割を説明し、最後に Collaboration Summit の基調講演の事前予告をしてくれています。

Linux.com: CoreOS を始めるにあたり、あなたを駆り立てたコンピューターの展望とはどのようなものでしたか? どのような困難を乗り越えたいと考えていたのですか? 

Alex Polvi: 2013 年 1 月に共同創設者の Brandon Philips が当時の仕事を辞め、私の会社が買収されたとき、私たちは、ミッションに大きな意味があり、商業的な影響力が大きいプロジェクトを探していました。インターネットのセキュリティを根本的に改善するために何ができるかを探っていたのです。

この命題で得られた洞察は、セキュリティはいかにソフトウェアをアップデートできるかという点にかかっているということです。ソフトウェアをより堅固で安全なものにするのは可能ですが、完璧なソフトウェアは存在しません。私たちは自ら自動的にアップデートできるサーバーを作ろうと言い始めました。それはサーバに対する現在の考え方とはまったく異なります。これが機能すれば、セキュリティ、信頼性、パフォーマンスなど、最新のソフトウェアを利用することで得られる多くの価値を人々が享受できると考えました。

私たち自身がまるでコンテナ OS のように思えるかもしれませんが、私たちがやっていることはすべてこのミッションに要約されます。私たちはコンテナを大事にしていますが、それは皆さんが次のような方法でサーバーを利用するのを手助けできるようにするためです。OS を自動アップデートするには、アプリケーションをそのベース OS から切り離す必要があり、それらが一緒に結び付いていてはできませんそこで私たちはコンテナで行います。アプリケーションを一揃いのユニットとしてパッケージすることで、アプリケーションに不具合を発生させることなくベース OS をアップデートすることができます。

昨年は Linux コンテナにとって激しく変化した年でした。このテクノロジーの出現はエンタープライズ IT にどのような変化をもたらしましたか? 

Polvi: 新しい未来に向けて興奮と希望があふれており、人々はそのまわりの新プラットフォームに投資を始めています。しかし、Docker の出現以前にこれを利用していた既存のサービス プロバイダー以外には、大々的にプロダクション向けに適用しているようすは見られません。

要するに、インフラストラクチャ運用の新しい世界は希望にあふれていると思いますが、それは、一部はコンテナで、一部は分散システムという手法です。この新しいインフラストラクチャのスタイルには、たくさんの分散システムのテーマがあります。たとえば Kubermetes や Mesos などは、コンテナ エコシステムと手を取り合って動作します。なぜならそれが重要なコンポーネントだからです。

これは間違いなくインフラストラクチャ運用の新しい方法であり、この新しい方法は、企業が現在のやり方と対比しながら、将来どのようにするかということに根本的に影響します。

セキュリティは上がりますか? 

Polvi: そうですね、もしも弊社の製品を使っていれば (笑)。私は自信過剰でそう言っているのではなく、私たちがインターネットのバックエンドの安全確保に誠実に注力しているからです。このミッションを果たすことができなければ企業として失敗してしまいます。私たちは単にソフトウェアを動作させて使いやすくするだけでなく、セキュリティに対して真摯にできる限りの力を注いでいます。さまざまなセキュリティ テクノロジーの多くが非常に使いにくいことを多くの企業が認識し始めています。セキュリティに真剣に取り組む時期がきました。

コンテナはエンタープライズ IT に変化をもたらしましたが、その中に、企業がすべてを考え直していることも挙げられますよね? 

Polvi: そうです。実際のところ、私が伝統的な「IT システム管理」と呼んでいるものから「分散システム管理」へと移行しています。システム管理における「DevOps」に似た新しい業界用語と言えるかもしれません。私にとって分散システム管理は、一部はコンテナで、一部は分散システムという手法です。まったく違うやり方ながら、Google のサーバー インフラストラクチャで始めて登場しました。今ではこれらのモデルは Google 以外でも利用されています。

分散システム管理とは基本的に Web スケール IT を意味していますか? 

Polvi: そうです。まだ業界全体で採用されている用語はありません。Google が万人のためにサーバーを運営しているのに似ています。問題は、Web スケールというと大企業だけが行うべきことのようですが、このモデルはあらゆる規模の企業のあらゆるサービス領域に適用できます。

今年、コンテナはどのようになりますか? 

Polvi: 初めて本当にプロダクションに適用できるレベルのコンテナは、Docker が成熟し、私たちが作っているテクノロジーが完成するまでには準備できると思いますし、Canonical などの他の企業もコンテナ関連のものを作っています。2015 年には使いやすいコンテナが登場すると思います。あくまで私の予測ですが。

Rocket についてはいかがですか? Rocket とは何ですか? そしてなぜ必要なのですか? 

Polvi: Docker の初期の頃 (今もなお急速に成長していますが)、Docker は多くの既存プラットフォームに組み込まれ、Amazon Web Services や Google Cloud、Mesos などのようにコンテナを追加するプラットフォームを作る企業にとっては素晴らしいコンポーネントでした。Kubernetes は特にコンテナ向けのプラットフォームとして作られました。

より最近では、Docker 自体がプラットフォームとなり始めており、既存プラットフォームと競争することになります。そのこと自体はまったく問題ありません。企業としてプラットフォームを作りたいのであればビジネスとして意味のあることであり、十分に理解できます。問題は、私たちがプラットフォームを作る上でどうしてもちょっとしたコンポーネントの存在が必要であるという点です。

私たちは、そのような既存プラットフォームを使っている人々がより簡単にコンテナを利用できるように手助けしたいのです。したがって、Rocket は Docker がもともと持っていたちょっとしたコンポーネントという設計となっており、既存プラットフォームにコンテナを追加するツールとなっています。

コンテナの設計上重要なコンポーネントを考慮していた時、あるセキュリティ問題を修正することに着目しました。Docker のアーキテクチャでは、非常に取り扱いにくいセキュリティ上の困難を引き起こします。ですから Rocket はセキュリティの課題が整理されたもともとの Docker だと考えていただけると良いでしょう。

Docker がリリースされた時、一番画期的だったのはアプリケーションのポータビリティ (可搬性) という発想でした。違う環境で動作できるアプリケーション パッケージング フォーマットが初めて登場しました。Docker は Amazon や Google で利用されています。どちらもソフトウェア アプリケーションを一貫して利用でき、これはすばらしいことです。本当に見事です。初めてクラウド プラットフォームの間にオープン ポータビリティが可能になりました。

問題は、Docker はそれらのフォーマットがどのようなものなのかに関して仕様を明記していなかったため、サードパーティ ツールをその周辺に組み込むことができませんでした。基本的に、Docker を利用するには Docker を実行しなければならないのですが、私たちはよりオープンなモデルを求めていました。

App Container 仕様書 (appc 仕様書) の中で、私たちはコンテナがどういうもので、コンテナが扱うことのできるランタイムがどのようなものであるかを定義しているので、この上にさまざまなツールを構築してアプリケーション コンテナを実行できます。私たちは Rocket と呼ばれるコマンドライン ツールを作りましたが、それは私たちのアプリケーション コンテナ ランタイムです。これは App Container の初めての実装で、昨年 12 月に発表されて以来、他にも同様のものが続いています。

私が今まで Rocket に関して読んできた記事の多くはセキュリティに関するもので、ポータビリティに関するものではなかったように思います。

Polvi: 3 つの重要課題は、セキュリティ、部品として利用することの容易さ、そしてオープン スタンダード (App Container に関連したもの) です。これらはそれぞれ独立したものとして発展してきています。アプリケーション コンテナの仕様として GitHub/Appc という GitHub リポジトリがあります。また CoreOS 下には Rocket がありますが、これが私たちが行った App Container の実装です。私たちは App Container をコンテナの HTTP にしようと考えています。HTTP は誰も所有権を主張せず、何にでも利用されています。

商用化アプローチはどのようなものですか? 

Polvi: ソフトウェア製品を市場に出す際に 2 つの異なる方法があります。

1 つは、純粋にオープン ソースであるオープン ソース コンポーネントです。これはオープンで中核的なものなのでエンタープライズ バージョンはありません。弊社のオープン ソース コンポーネントはすべて自由に利用でき、いかなるプロジェクトにも組み込めるようにしています。私たちの世界貢献はそれらを作ることです。そこが世界の未踏の地と認識し、新しい方法でインフラストラクチャを運用できるようになることを目的として作っています。

商用サイドでは、私たちのオープン ソース コンポーネントを使用する商用ソフトウェア製品を販売しています。まだ業界用語がないこの新しい方法でインフラストラクチャを運用できるようにする大胆な製品群を販売しています。

製品の 1 つは CoreUpdate で、ユーザーがアプリケーション構築に集中することができるよう「ローリング アップグレード(複数のサーバーが設置された環境で、全体を停止することなく、1 台ずつサーバーをアップデートする)」を支援します。自ら作りたいユーザー向けにオープン ソースバージョンもありますが、商用バージョンではオープン ソース バージョンの一番良い部分をパッケージにし、残った部分は Managed Linux と呼んでいるもので対応します。これには CoreOS の基盤、自動セキュリティ アップデート、コンテナのためのパッケージ マネジャー、およびプロフェッショナル サポートが含まれます。

これ以外に Enterprise Registry があります。これはソフトウェア レジストリで、企業の Docker コンテナを共有したりダウンロードししたりし、それぞれの環境下で使うことができます。これもオープン ソース バージョンという選択肢がありますが、企業が業務用に使用したい場合に購入することができる商用バージョンも作りました。企業がオープン ソースから組み立てなくても済むように、エンタープライズ バージョンとして同様の製品をこれからも製品ラインに追加していきます。

Linux とオープン ソースは CoreOS の精神にどのように適合していますか? 

Polvi: Linux とオープン ソースは私たちの中核部分にあります。Brandon と私はオレゴン州のオープン ソース関連の研究所で初めて会い、Kernel.org、Drupal.org、Apache.org などの大規模な OS プロジェクトの運営を手伝っていました。私は Mozilla Foundation で早期に Mozilla に移動し、そこから自分の会社を始めました。Brandon は Linux カーネルの開発者でした。

私たちがすることはすべてオープン ソースに対して友好的です。私たちは常ににアップストリーム Linux カーネルに貢献し、メインライン カーネルにパッチを送っています。私たちはメインラインを利用し、特殊なパッチは施していません。なぜなら必要なパッチはすべてメインラインに組み込んであるからです。私たちは生粋のオープン ソース人間です。これからもオープン ソースに取り組み、未踏の地を埋める独立企業であり続けながら、なおかつその独立性と革新を支えるために商用のソフトウェアも持ちたいと考えています。

ところでインターネットを一変させるものを実際に作っているそうですが。

Polvi: そうだと良いのですが。それは夢です。素晴らしいチームでオープン ソース テクノロジーに取り組み、その周りに独立したビジネスを作ることができれば他にいうことはありません。

来月の Collaboration Summit の基調講演ではどのような話をしますか? 

Polvi: 私が一番話したいことはインフラストラクチャにおいて出現しているすべてのこと、および私たちのプロジェクトと他のプロジェクトとの違いについてです。また、いろいろなオープン ソース プロジェクトについて触れ、それらがコンテナや分散システムに関連しながら、どのように商用化されているか、またどのように展開するかについて予測します。Kubernetes、Docker、Mesos の違いについても話したいと思います。Docker のプラットフォームと Docker のコンテナ、Rocket とそれに関連して私たちが取り組んでいることなどです。私たちはコンテナの動きの真っただ中にいるので、コンテナの状況をすべて説明します。これはオープンソースと商用化努力の非常に興味深いバランスです。皆さんに最新情報をお届けできれば幸いです。

Linux Foundationメンバーシップ

30人のカーネル開発者

人気コンテンツ

  1. Today's Linux 2017/05/15 2017年 5月 14日
  2. Today's Linux 2017/05/16 2017年 5月 15日
  3. Today's Linux 2017/05/17 2017年 5月 16日
  4. Today's Linux 2017/05/18 2017年 5月 17日
  5. Today's Linux 2017/05/19 2017年 5月 18日

Linux Foundationについて

Linux Foundation はLinux の普及,保護,標準化を進めるためにオープンソース コミュニティに資源とサービスを提供しています

 

The Linux Foundation Japan

サイトマップ

問い合わせ先

サイトに関するお問い合わせはこちらまで

Linux Foundation Japan

Linux Foundation

Linux Training

提案、要望

Linux.com JAPANでは広く皆様の提案、要望、投稿を受け付ける予定です。

乞うご期待!