SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

最新イベントはこちら!

Data Tech 2024

2024年11月21日(木)オンライン開催

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

EnterpriseZine(エンタープライズジン)

EnterpriseZine編集部が最旬ITトピックの深層に迫る。ここでしか読めない、エンタープライズITの最新トピックをお届けします。

『EnterpriseZine Press』

2024年秋号(EnterpriseZine Press 2024 Autumn)特集「生成AI時代に考える“真のDX人材育成”──『スキル策定』『実践』2つの観点で紐解く」

翔泳社の本

ITインフラのキホン:3階層型システムを見てみよう【後編】


3.4.4 コンテナの歴史

 Docker登場以降、急激にコンテナが流行しましたが、コンテナとは何かそのメリットを紹介します。コンテナは「入れ物」や「容器」といった意味で、一言で言うと「リソースが隔離されたプロセス」です。

 1つのOS上で複数同時稼働可能で、それぞれ独立したルートファイルシステム、CPU/メモリ、プロセス空間等々を使うことができる点が、ハードウェアの仮想化である仮想マシン(VM)とは異なります(図3.22)。

図3.22 仮想マシンとコンテナ
図3.22 仮想マシンとコンテナ

 コンテナのルーツをたどると、1970年代にBSD(Barkley Software Distribution)UNIXやTCP/IP、viなどの開発者として有名なBill Joyが開発したchrootがルーツと言われています。

 1970年代はコンピュータは非常に高価で、本番環境と開発環境を用意するには高い費用が必要でしたが、1つのコンピュータで本番環境と開発環境を共存させると誤ってファイルを変更したり削除してしまったりするリスクがありました。

 この課題を解決するために生まれたchrootは、OSのルートディレクトリ以下の特定の階層以下へのアクセスをプロセスに許可する機能で、現在でもさまざまな分野で応用され利用されています。たとえば、Linuxのレスキューモード、FTPでユーザーごとのアクセス範囲限定、PostfixやBINDなどでのアクセス可能なディレクトリの限定などに活用されています。

 1990年代にFreeBSD jailが登場し、「あるディレクトリ配下をルートディレクトリに見せる」chrootの概念に加え、アプリケーションのプロセスも隔離できるようになりました。その後、Bill Joyの所属していたサン・マイクロシステムズは2000年代にはSolarisコンテナと呼ばれるコンテナ機能を提供していました(Oracle Solaris 11ではOracle Solarisゾーンと呼ばれています)。

3.4.5 Docker の登場

 その後も商用UNIXやオープンソースでコンテナ技術の開発は地道に続けられていましたが、2013年にファイルシステムとプロセスを分離する機能に加えて、ファイルシステムイメージのパッケージングとバージョニングができ、コンテナイメージをシェアできるDockerが登場したことでコンテナは一躍脚光を浴びました(図3.23)。

図3.23 Dockerの基本機能
図3.23 Dockerの基本機能

 2014年にGoogleは、Googleのすべてのサービス、そしてGoogleの社内で使われているツールもすべて、Docker登場以前からコンテナ型仮想化技術の上で実行されていると発表しています[※3]。

 Docker社は改名する前はdotCloud社で、2008年に言語中立なPaaSを構築するために設立しました。dotCloudのPaaSは開発したアプリケーションをクラウドにデプロイすると実行できるというものでしたが、アプリケーション周辺のフレームワークやライブラリなどのバージョンの不一致などでローカルでは動作したプログラムがクラウドでは動作しないといった問題が多発したため、元々クラウド内部の仕組みとして開発していたアプリケーション実行環境を自動構築して「Dockerイメージ」に固める技術を、クラウド以外の環境でも利用できるようにオープンソースとして公開しました。

 さらにDocker Hubと呼ばれるパブリックなレジストリで、誰でもDockerイメージをシェアできるようにしたため、爆発的な人気を得ました。仮想マシンと比較してDockerのメリットとしては、以下のような点があります。

  • コンテナはホストOSとOSカーネルを共有するため、コンテナの起動や停止が速い
  • ホストOSのカーネルを共有するため、VMだけを使う場合に比べて、1台のホストマシンではるかに多くのコンテナを実行でき、リソース集約率が高くなる
  • DockerはライブラリやフレームワークなどをDockerイメージに固めて共有できるため、ある人の環境では再現するが自分の開発環境では再現しないといった問題が起きにくくなり、効率的なバグフィックスが可能になる

 ※3 https://www.publickey1.jp/blog/14/google20.html

3.4.6 クラウドと仮想化技術

 ハイパーバイザーやコンテナなどの仮想化技術はGoogleやFacebook、Amazon.comなどの大規模Webサービスの裏側で利用され、AWS(Amazon Web Services)、GCP(Google Cloud Platform)、Azure(Microsoft Azure)などのクラウドサービスでは、仮想マシンサービス、コンテナサービス、Function as a Service(FaaS)[※4]などのサービスとして、またはそのほかのサービスを支える裏側の機能として利用されています(図3.24)。

図3.24 クラウドと仮想化技術
図3.24 クラウドと仮想化技術

 ※4 機能(Function)の実行環境がサービスとして提供されるもの。

絵で見てわかるITインフラの仕組み 新装版

Amazon  SEshop  その他


絵で見てわかるITインフラの仕組み 新装版

著者:山崎 泰史、三縄 慶子、畔勝 洋平、佐藤 貴彦 著、小田 圭二 監修
発売日:2019年06月19日
価格:2,618円(税込)

本書について

本書では、普遍的な常識をもとに、ITインフラという領域全体を、ミクロ、マクロの視点で、わかりやすいように絵(図)で説明します。ITインフラの常識(=勘所)をつかむことで、よりITシステムに対する理解が深まり、専門外または新しい技術に出会ったときにその本質を理解するための基礎力が身につくはずです。

この記事は参考になりましたか?

  • Facebook
  • X
  • Pocket
  • note
関連リンク
翔泳社の本連載記事一覧

もっと読む

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/13393 2020/11/19 17:48

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング