BT

あらゆるものがコンテナ上で動いているGoogle

| 作者: Carlos Sanchez フォローする 0 人のフォロワー , 翻訳者 徳武 聡 フォローする 0 人のフォロワー 投稿日 2014年6月15日. 推定読書時間: 3 分 |

原文(投稿日:2014/06/06)へのリンク

Googleはコンテナを使ってあらゆるものを動かしている。1週間に20億ものコンテナが起動している。

Google Cloud PlatformのエンジニアであるJoe Beda氏はGlueconでプレゼンを行い、同社のLinuxコンテナの使い方についてプレゼンした。氏によれば、Googleのあらゆるものはコンテナで動作している。同社は1週間に20億ものコンテナを起動している。秒間に3000。長期間動作しているコンテナを数えずに、だ。

Googleは2004年からコンテナ技術を使っており、2006年にcgroupsをリリース。そして昨年、Let Me Contain That For You (lmctfy)というオープンソースプロイジェクトを開始した。このプロジェクトの目的はGoogle版のオープンソースのコンテナスタックを開発することだ。このコンテナスタックは、LXCを置き換えるLinuxアプリケーションコンテナを提供する。コンテナによって、単一のマシン上で動いている複数のアプリケーションが利用しているリソースを分離することができる。アプリケーションは同一マシン上で分離して動作できるようになる。アプリケーションはコンテナ上で動作していることを確認できるはずなので、独自のサブコンテナを作成し管理することもできる。

GoogleのソフトウエアエンジニアであるRohit Jnagal氏はlmctfyについて次のように語っている

2007年から社内のリソース分離のニーズをlmctfyでまかなっています。これまで、lmctfyはGoogleのインフラの中に細切れになって混ざっていました。再設計している間、私たちはこのlmctfyのレイヤをきれいに取り出すことができました。そして、これを公開したら面白いのではないかと考えたのです。

lmctfyとLXCの主要な違いについても次のように語る。

  1. リソース管理API: LXC APIは名前空間をサポートするために作られ、ほとんど透過的にcgroupのサポートを公開する。lmctfyの場合、Googleはインテントベースのリソース構成を提供しようとしている。この場合、ユーザはcgroupsの詳細を知る必要はない。cgroupsのAPIは不安定で扱うのが難しいのだ。

  2. 優先順位: lmctfyはリソースの共有をサポートし、バッチの負荷でオーバーコミットしているマシンをサポートする。そのようなバッチはマシンが相対的にアイドル状態のときに実行することができるはずだ。すべてのアプリケーションには優先順位があり、レイテンシの要件が決まっている。lmctfyはcgroupの細かな点をすべて管理し、各タスクの要件を考慮する。

  3. プログラミング可能なインターフェース: lmctfyはGoogleのクラウドのアプリケーション管理の最も低い位置にあるブロックだ。ほかのツールやプログラムとともに動くように構築されており、より複雑なツールチェーンをこの上に構築できるように堅牢に作られている。

GoogleはGoogle Cloud Platformへコンテナを統合しようとしている。ノードコンテナマネージャはGoogleによってオープンソース化されている。これは、小さなエージェントであり、Pythonで書かれていて、YAMLのマニュフェストに従ってDockerのグループを管理する。Google Compute Engine上で動作するコンテナを管理するプレビューバージョンはすでに公開されている。コンテナマニュフェストと起動時のコンテナ作成をサポートする。Debian 7を使っており、Dockerのランタイムとノードコンテナマネージャを搭載している。

Dockerはlmctfyの利点を生かすことができるはずだ。というのもDockerバージョン0.9よりLXCがない環境でもコンテナを動かせるようになっており、すでにlmctfyのドライバが開発されているからだ。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

特集コンテンツ一覧

.NETの派生を理解する

Wayne Citrin 2018年7月18日 午前3時44分

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT