技術の変遷を解説
いまさら聞けないコンテナの歴史 「chroot」から「Docker」まで
「Docker」や「Kubernetes」の人気で注目を浴びるようになったコンテナ技術。実は仮想マシンに匹敵するほどの長い歴史がある。
コンテナ型仮想化技術(以下、コンテナ技術)の急速な進化により、ITインフラの動向が変化した。コンテナ技術を顧客に提供するベンダーの数も増加している。ただし2013年のコンテナ管理ソフトウェア「Docker」の登場以降は、コンテナ技術の歴史に大きな変化はない。
現在の仮想マシン(VM)の基となる技術が登場したのは、1960年代だといわれている。VM技術の登場で、複数のユーザーが1台のコンピュータを同時に利用できるようになった。その後数十年の間にVM技術の開発と普及が進んだ。最新のVM技術では、1台の物理マシンで複数のOSを稼働させることができ、それぞれ異なるOSを必要とする複数のアプリケーションのホスティングなど、多様な目的で使用されている。
コンテナ技術の歴史は、1979年に登場したUNIX OS「Version 7 Unix」の開発途中で生まれた、「chroot」というシステムコール/コマンドの開発で大きく進展した。chrootは、アプリケーションのファイルアクセスを特定のディレクトリ以下に限定することによる、コンテナ型のプロセス分離の起点となった。chrootによるプロセス分離の主な利点は、特定のプロセス内部の脆弱(ぜいじゃく)性が悪用された場合、そのプロセスが他のプロセスの脅威にならないといった、システムセキュリティの向上だ。
2000年代に入ると、コンテナ技術の開発と洗練化がさらに進んだ。Googleは2003年に、「Kubernetes」の基となったコンテナクラスタ管理システム「Borg」を導入した。Googleのプリンシパルソフトウェアエンジニア、ティム・ホッキン氏によると、BorgではLinuxにすでに備わっていた分離メカニズムを利用したという。
併せて読みたいお薦め記事
「コンテナ」についてもっと詳しく
「Docker」「Kubernetes」関連記事
「cgroups」から「LXC」、そして「Docker」へ
その後「プロセスコンテナ」という技術が開発され、2006年には「コントロールグループ」(cgroups)として結実した。cgroupsはプロセス間の関係に注目し、ユーザーのアクセス範囲を特定のアクティビティーとメモリ領域に限定した。さらにコンテナネットワークのセキュリティの基礎を提供する「名前空間」が開発され、ユーザーまたはグループのアクティビティーを秘匿化することが可能となった。
cgroupsのコンセプトは2008年1月にLinuxカーネルに吸収され、その後Linuxコンテナテクノロジー「LXC」が登場した。
ホッキン氏によると、2013年に登場したDockerは、使いやすいGUI(グラフィカルユーザーインタフェース)と集中管理のコンセプトで注目を集めた。Dockerを使うと、異なるOS要件を持つ複数のアプリケーションを、コンテナ内の同じOSカーネルを使って実行できる。そのためIT管理者やIT部門はDockerを使ってシステムを単純化し、リソースを節約することができた。
コンテナはVMと比べてリソース占有量が大幅に少なく、起動と停止が高速で、管理に必要なオーバーヘッドが少なくて済む。独立したOSや他のリソースをカプセル化する必要のあるVMとは異なり、コンテナは同一のOSカーネルを共有し、接続先リソースの場所に応じたプロキシシステムを使用して、必要なリソースに接続する。
ITコミュニティーでは、共有OSカーネルのセキュリティ問題に関して懸念が生じていた。コンテナの脆弱性は、適切な防御手段のない脆弱なエコシステムに起因していた。コンテナの歴史の初期における他の問題点は、コンテナが一般的にステートレス(状態を保持しない設計)のため、多くのエンタープライズアプリケーションにとって重要なデータの一貫性の欠如につながることだった。効率的なネットワークの構築や規制のコンプライアンス(順守)、分散アプリケーション管理への対処も問題となった。
2017年、コンテナ技術は再び急浮上した。Pivotal、Rancher Labs、Amazon Web Services(AWS)、Dockerなどのベンダーは、オープンソースのコンテナスケジューラ/オーケストレーションツールであるKubernetesのサポートを強化し、コンテナオーケストレーション技術の標準を確立した。Microsoftは同年4月、サーバOS「Windows Server」でのLinuxコンテナの実行を可能にした。これはWindowsベースのシステムでアプリケーションをコンテナ化し、既存システムとの互換性を維持することが可能になった点で、大きな進化だった。
コンテナベンダーは、ツールのアップデートや追加、買収、技術提携により、セキュリティと管理の問題に対処した。だが2018年時点で、こうした問題が完全に解決されているとはいえない。
まだ終わらないコンテナ技術の歴史
一般的にコンテナは、大規模なモノリシックアプリケーションよりも、分散型アプリケーション、特に小規模なマイクロサービスを組み合わせた「マイクロサービスアーキテクチャ」に基づくアプリケーションに対して、多くの利点をもたらす。独立した各マイクロサービスは、Kubernetesなどのオーケストレーションツールを使用することにより、他のマイクロサービスから分離してコンテナ化し、スケーラビリティを実現できる。
さまざまなパブリッククラウドやプライベートクラウドのベンダーが、DockerやKubernetesを使用したマネージドコンテナサービスを提供している。クラウドへのコンテナ導入をより合理的でスケーラブルにし、かつ容易にするためだ。
機械学習をはじめとする人工知能(AI)技術もまた、クラウド/オンプレミス双方で大企業の関心を集めている。こうしたAI技術により、エラー予測や自動アラート、障害対応、データ分析などの改善が期待できるからだ。
コンテナ技術の歴史は、まだ終わりを迎えてはいない。「Linuxカーネルは分離という点で、まだ完全ではなく、完全になることは決してない」とホッキン氏は指摘する。ただし、これは誰も問題の解決に未着手だということではない。「すでに解決策は見出されており、さらなる機能性が追求されている」と同氏は言う。
セキュリティのハードルはますます高くなり、マシンに対する信頼度は低下し、コンテナベンダーは淘汰(とうた)されて統合が進むとホッキン氏は予測する。次世代のコンテナはVMと同じように見え、提供する概念にも大きな相違はなくなる可能性がある。だが実際には異なる手法に基づいており、異なるトレードオフを伴う。
コンテナ技術がどのように進化しても、この点は変わらない。ガートナーの予測では、大企業によるコンテナの使用率は、2020年には50%に達する。これは2017年(20%)の2倍以上になる。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「Microsoft 365のセキュリティ運用」に関するアンケート
-
4
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
5
221人調査で分かった「情シス最大のストレス」は?
-
6
「Salesforceのテスト自動化ツール」に関するアンケート
-
7
「データストレージの活用方法」に関するアンケート
-
8
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
9
AIで人を減らした企業がもう心変わり 「AIブーメラン現象」の実態
-
10
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー