仮想化ツールについて最近学び始めたばかりの場合は、コンテナに関する技術的な議論が仮想マシン (VM) に関する議論とどう違うのか疑問に思うかもしれません。コンテナはクラウドネイティブ開発において主要な力となっているため、コンテナとは何か、また何ではないのかを理解することが重要です。コンテナと VM はそれぞれ異なる独自の特性を持っていますが、どちらも IT 効率を高め、アプリケーションの移植性を提供し、DevOps とソフトウェア開発ライフサイクルを強化するという点で似ています。 仮想化の仕組み仮想化とは、ソフトウェアを使用してコンピューター ハードウェア上に抽象化レイヤーを作成し、単一のコンピューターのハードウェア要素を複数の仮想コンピューターに分割するプロセスです。 使用されるソフトウェアはハイパーバイザーと呼ばれ、複数のオペレーティング システムを並行して実行し、同じ物理的なコンピューティング リソースを共有できるようにする小さなレイヤーです。ハイパーバイザーをデータセンター内の物理コンピューターまたはサーバー (ベアメタル サーバーとも呼ばれます) で使用すると、物理コンピューターはオペレーティング システムとアプリケーションをハードウェアから分離できるようになります。その後、複数の独立した「仮想マシン」に分割することができます。 仮想マシンとは何ですか?仮想マシン (VM) は、仮想化されたコンピューティング環境を構築するために使用されるテクノロジーです。これらは長い間存在しており、クラウド コンピューティングの第一世代の基盤と考えられています。 つまり、仮想マシンは物理コンピュータのエミュレーションです。 VM を使用すると、チームは 1 台のコンピューター上で複数のオペレーティング システムを搭載した複数のマシンを実行できます。 VM は、ハイパーバイザーと呼ばれる軽量ソフトウェア レイヤーを使用して物理コンピューターと対話します。ハイパーバイザーは VM を相互に分離し、VM 間でプロセッサ、メモリ、ストレージを割り当てます。 VM は、仮想サーバー、仮想サーバー インスタンス、仮想プライベート サーバーとも呼ばれます。 コンテナとは何ですか?コンテナは、仮想化を処理するための軽量で俊敏な方法です。ハイパーバイザーを使用しないため、リソースのプロビジョニングが高速化し、新しいアプリケーションをより早く利用できるようになります。 コンテナ化では、仮想マシン全体を起動する代わりに、単一のアプリケーションまたはマイクロサービスを実行するために必要なすべてのもの (および実行に必要なランタイム ライブラリ) をパッケージ化します。コンテナには、すべてのコード、その依存関係、さらにはオペレーティング システム自体も含まれます。これにより、デスクトップ コンピューター、従来の IT インフラストラクチャ、クラウドなど、事実上どこでもアプリケーションを実行できるようになります。 コンテナは、オペレーティング システム (OS) 仮想化の形式を使用します。つまり、ホスト オペレーティング システムの機能を利用してプロセスを分離し、CPU、メモリ、デスクトップ領域へのアクセスを制御します。 コンテナは数十年前から存在していますが、一般的な見解としては、コンテナ化されたアプリケーションを構築、展開、管理するためのオープンソース プラットフォームである Docker の導入により、2013 年に現代のコンテナ時代が始まったと考えられています。 Docker、Docker コンテナ、Dockerfiles (コンテナ イメージのビルド ファイル) について詳しく学び、コンテナ テクノロジーの進化に伴い過去 10 年間にエコシステムがどのように進化してきたかを学びます。 コンテナと VM: 違いは何ですか?従来の仮想化では、ハイパーバイザーが物理ハードウェアを仮想化します。その結果、各仮想マシンにはゲスト オペレーティング システム、オペレーティング システムの実行に必要なハードウェアの仮想コピー、アプリケーションとその関連ライブラリおよび依存関係が含まれることになります。異なるオペレーティング システムを搭載した仮想マシンを同じ物理サーバー上で実行できます。たとえば、VMware VM は Linux VM の隣で実行でき、Linux VM は Microsoft VM の隣で実行できます。 コンテナーは、基盤となるハードウェアを仮想化するのではなく、オペレーティング システム (通常は Linux または Windows) を仮想化します。これにより、個々のコンテナーには、アプリケーションとそのライブラリおよび依存関係のみが含まれます。コンテナは、仮想マシンとは異なり、すべてのインスタンスにゲスト オペレーティング システムを含める必要がなく、ホスト オペレーティング システムの機能とリソースを活用できるため、小型で高速、かつポータブルです。 仮想マシンと同様に、コンテナを使用すると、開発者は物理マシンの CPU とメモリの使用率を向上させることができます。ただし、コンテナはさらに一歩進んで、アプリケーション コンポーネントをより細かいレベルでデプロイおよび拡張できるマイクロサービス アーキテクチャも実現します。これは、個々のコンポーネントが負荷に対処するのに苦労しているために、モノリシック アプリケーション全体をスケーリングしなければならない場合の魅力的な代替手段です。 なぜコンテナなのか?VM を使用する理由はまだたくさんありますが、コンテナはマルチクラウドの世界に適したレベルの柔軟性と移植性を提供します。開発者が新しいアプリケーションを作成する場合、そのアプリケーションを展開する必要がある場所をすべて把握していない場合があります。現在、組織はプライベート クラウドでアプリケーションを実行しているかもしれませんが、明日は別のプロバイダーのパブリック クラウドにアプリケーションを展開する必要があるかもしれません。コンテナ化されたアプリケーションは、現代の IT のさまざまなソフトウェア環境を処理するために必要な柔軟性をチームに提供します。 コンテナは、継続的インテグレーションと継続的デプロイメント (CI/CD) の実装を含む自動化と DevOps パイプラインにも最適です。 マルチクラウドコンテナの管理コンテナには多くの利点があり、数え切れないほど多くのユースケースに最適な選択肢ですが、いくつかの課題も伴います。大規模なエンタープライズ アプリケーションは多数のコンテナーで構成される場合があり、コンテナー管理はチームにとって深刻な問題を引き起こします。何がどこで実行されているかを知るにはどうすればよいですか?セキュリティやコンプライアンスなどの主要な問題にどのように対処すればよいでしょうか?アプリケーションを一貫して管理するにはどうすればよいですか? |
>>: Kubernetes セキュリティ戦略: データ ウェアハウスを保護し、ハッカーを阻止する
[51CTO.com からのオリジナル記事] クラウド コンピューティング テクノロジーに関しては、...
長い間、ウェブマスターはウェブページの動的な動作を実装するために JavaScript を使用するこ...
もうすぐクリスマスですか?プロモーションをしている人たちは怒り始めているのでしょうか?ちょっとクレイ...
dwidc(大王データ、付加価値通信事業ライセンス:クラウドライセンス/IDC/ISP/CDN:B1...
AITはcom/net/org/biz/info/usで初年度登録料2.99ドルを提供しています。同...
[[374276]]この記事はWeChatの公開アカウント「bugstack」から転載したもので、著...
Dogyun の韓国 VPS (クラシック VPS シリーズ) が、最新のハードウェア構成と低価格で...
metrabyte は、タイの VPS とタイのサーバー (レンタル + ホスティング) のほか、タ...
インターネットの急速な発展に伴い、わが国には5億人近くのインターネットユーザーがおり、これは国内人口...
hostfactor.eu は 2001 年に設立された会社です。公式 Web サイトには、ISO ...
中国のホスティングブランドであるGeek Hostは、2010年にWordPressブログ向けの仮想...
MeanServers は 年に設立された新しいビジネスです。主なビジネスには、仮想ホスティング、V...
SEO という言葉は、今日ではあまりにも多くの解釈がなされ、誤解されすぎています。現状では、初心者が...
Bao 先生は、私が今まで出会った SEO について書いている人の中で、最も真剣な人です。彼の真剣さ...
他のウェブサイトと同様に、アリババのホームページの改訂は毎回、もつれと闘争の洗礼である。判断と選択は...