仮想化の簡単な歴史、Dockerの理解、仮想マシンの原理

仮想化の簡単な歴史、Dockerの理解、仮想マシンの原理

初期の頃は、物理マシンでは通常 1 つのオペレーティング システムのみが実行され、ほとんどのアプリケーション (データベース、Web サーバー、Web サイトなど) は 1 つのユーザー ニーズのみを解決するために使用されていました。

[[275028]]

つまり、pet.com と food.com という 2 つのアプリケーションを展開する必要がある場合、一般的な方法は 2 台の物理マシンを使用し、各物理マシンに個別のデータベース、Web サーバー、および Web サイトを展開することです。


リクエスト負荷が増加すると、アプリケーションの水平拡張を実現するために新しい物理マシンを追加する必要があります。一般に、ユーザー アプリケーションと物理マシンの間には 1 対 1 の対応があります。

この容量拡張方法を使用すると、新しいアプリケーションを展開する前に、新しいマシンの準備が整うまで数日かかる場合があります。ピーク時の要求の圧力に対処するために、通常、アプリケーションの展開には過剰な数の物理マシンが使用され、全体的なリソース使用率が低下します。つまり、当時はインターネットサービスを提供するのに非常に費用がかかったのです。

アプリケーション仮想化(例:仮想ホスト)

アプリケーションと物理マシンが 1 対 1 しか対応できないという問題を解決するために、Web サーバーやデータベースなどの基本層アプリケーションでは、論理的な分離機能、つまり 1 つの基本層で複数のユーザー アプリケーションを同時にサポートできる機能が提供され始めました。 Web サーバーの世界では、これは仮想ホストと呼ばれ、Web サーバーはドメイン名に基づいて複数の Web サイトを提供できます。データベース分野では、単一のデータベース サービスで、完全に分離された複数の論理データベースを提供できます。

アプリケーション仮想化テクノロジーに基づいて、論理的に分離された複数のユーザー アプリケーションを同じ物理マシン上に展開できます。


おもしろい事実: 1990 年代後半、Apache は仮想ホスティング機能を利用して Netscape の Netscape Enterprise Server を打ち負かし、Web サイト サービス市場を独占しました。

単一アプリケーション単一物理マシン モデルと同様に、要求負荷が増加すると、水平拡張を実現するために複数の物理マシンを追加する必要がありますが、複数のユーザー アプリケーションを 1 台の物理マシンに展開できるようになりました。

同時に、データベースなどの一部のアプリケーションでも、より高度な水平スケーラビリティを実現するためにクラスタリング機能の使用を試み始めています。これらのテクノロジーはリソースの使用率を向上させますが、プログラムのアーキテクチャと展開の複雑さも大幅に増加します。開発者にとって、この時点でアプリケーションのデプロイとスケーリングを行うのは少し複雑すぎます。

つまり、当時のインターネットサービスは複雑かつ脆弱だったのです。

仮想マシン

サーバー分野で Linux がますます普及するにつれて、オペレーティング システムの仮想化が徐々に発展し、単一の物理マシン上で複数のオペレーティング システムを同時に実行できるようになりました。この新しいモデルでは、物理マシン上の各アプリケーションは独自のオペレーティング システムとランタイム環境を持つことができます。


注: 技術的に言えば、仮想マシン技術は 1960 年代に IBM によって開発されました。しかし、Linux (そしてある意味では Windows) がオペレーティング システムの仮想化の概念を普及させたと言っても過言ではありません。

この新しいモデルは、リソースの使用率を最大化するだけでなく、論理的な分離を通じてアプリケーション アーキテクチャを大幅に簡素化します。しかし、仮想マシン時代の最も革新的な成果は、AWS が主導するクラウド コンピューティング ビジネスです。

この新しいサービスにより、開発者は最も得意とするソフトウェアに集中できるようになります。少数のハードウェアおよびネットワークの専門家に、ソフトウェアの実行をサポートするインフラストラクチャの構築と拡張の責任を負わせます。

ソフトウェア インフラストラクチャがますます複雑になるにつれて、アプリケーションは従来の 3 層モノリシック アーキテクチャからマイクロサービス アーキテクチャへと徐々に移行しています。この時点で、スケーラブルなマイクロサービス システムの設計、展開、管理方法は比較的複雑になり、基盤となるクラウド コンピューティング インフラストラクチャに大きく依存するようになります。

容器

その後、人々はかなり古い Linux の機能を使用してプロセスをオペレーティング システムのさまざまなリソース サブセットに「ボックス化」し、仮想化の次の章であるコンテナ化が誕生しました。コンテナ技術の急速な発展は、現在では広く普及している Docker コンテナによって主に牽引されてきました。

コンテナ化テクノロジーを使用することで、物理マシンの時代には数日、仮想マシンの時代には数分かかっていた作業が、わずか数秒で完了し、ハードウェア リソースもほとんど消費しなくなりました。


コンテナ化技術により、サービスの粒度が大幅に向上し、リソースの使用率が向上し、複雑なアプリケーションのソフトウェア アーキテクチャが最適化され、開発環境と本番環境のランタイム統合が実現しました。ただし、多数の新機能の導入により、サービスの展開と管理の複雑さという課題も生じます。サービスの拡張には、基盤となる仮想マシンの容量を拡張するために、クラウド コンピューティング ベンダーが提供する特定の方法に依拠する必要があります。コンテナをいつ作成し、どこにデプロイするかも非常に複雑な問題です。

コンテナ化技術が有用であることは間違いありませんが、その真の価値を実現するには他の技術の支援が必要であると思われます。

クベネフィット

Kubernetes が誕生し、コンテナ化技術が直面する問題を解決しました。 Kubernetes は、完全でスケーラブルな大規模システムを記述、管理、実行するための標準的で環境に依存しない方法を提供するコンテナ ベースのサービスです。


これまで、サービスの開発環境、プレプロダクション環境、本番環境は大きく異なっていました。 Kubernetes は、大規模でスケーラブルな完全なシステムをシンプルで標準化された形式で記述および実行する新しいアプローチを採用しており、マイクロサービス システムの構築と管理にかかるコストを大幅に削減します。

これらの重要な技術的マイルストーンは、継続的な進化と相互の重ね合わせによって達成され、通常は相互に連携して使用されることに留意することが重要です。技術的な観点から見ると、技術革命は破壊的な破壊ではなく、進化の結果です。たとえば、コンテナは通常、仮想マシン上で実行されますが、仮想マシンはオペレーティング システム上で実行される必要があり、オペレーティング システムは物理マシン上で実行されます。

まとめると、仮想化技術がどのように進化してきたかがわかります。


技術的な観点から見ると、Kubernetes は以前のテクノロジーの進化に基づいており、破壊的な新テクノロジーではありませんが、ビジネスの観点からは革命的な価値を生み出しています。

私は通常、さまざまな新しいテクノロジーに対して非常に慎重です。なぜなら、ほとんどの場合、それらは短命に終わるからです。しかし、Kubernetes は、それぞれの分野でかつて Linux、仮想マシン、Git がそうであったように、堅固な基盤テクノロジーになりつつあります。

つまり、Kubernetes はおそらく、クラウド アプリケーション開発組織が現在行うことができる最も安全な投資であり、正しく適用すれば、アプリケーションの開発と配信の速度と品質を大幅に向上させることができます。

<<:  クラウド バックアップとクラウド ストレージとファイルの同期と共有の違いは何ですか?

>>:  クラウドネイティブアプリケーションが未来である理由

推薦する

消費者がすぐに注文できるようにするためのマーケティング戦略をいくつか共有する

従来の考え方では、ユーザーがサイトの製品ページに長く滞在すればするほど、コンバージョン率が高くなると...

ウェブサイトのSEOは必ずしも静的である必要はない

国内では、多くの「SEO 専門家」が顧客の Web サイトに対して最初に行う診断結果は、ページを静的...

ウェブサイトのトラフィックを無駄にせず、セカンダリマーケティングのためのいくつかのソリューションを実行する方法

ウェブサイトはどうすればオンライン マーケティングをうまく行うことができるでしょうか? 今日の最大の...

これらの10の小さな実験に頼って、JVMの3つの主要なパラメータタイプを数秒で理解します。

[[343690]]著者 |悟空兄弟ソース | Wukong チャット アーキテクチャ (ID: P...

2018 年に推奨される安価なアメリカの VPS トップ 10

どの米国の VPS が優れていますか?米国で良い評価を得ている VPS プロバイダーはどれですか?初...

Justhost: モスクワ データライン データセンターの無制限トラフィック VPS の簡単なレビュー

多くの人が justhost をよく知っているはずです。使用したことがある人は、基本的にその選び方を...

ウェブサイトの最適化における無駄な動作を排除し、ウェブサイトの最適化効率を向上させる方法

現在、多くのウェブマスターは、ウェブサイトの最適化で目標を達成できていないと感じています。ウェブマス...

Kubectl-iceプラグインは、クラスタコンテナの構成情報をより強力に表示します。

この号では、POD で実行中のコンテナの構成情報をすばやく表示できる実用的な Kubectl プラグ...

hostyun の月額 18 元の香港 VPS (米国ネイティブ IP、100M 帯域幅、AMD 5950X) の簡単なレビュー

Hostyunは最近、香港のクラウドデータセンターに「[Hong Kong AMD-Puhui]」と...

Vultr クラウド サーバーはどうですか?マイアミデータセンタークラウドサーバーの簡単なレビュー

中国人は米国西海岸に集まるのが好きなので、時には中央下部や南東部などを選択することも検討できます。V...

GG 最適化 2 - パッセージ メソッド ガイドの最適化

インターネット上には、Google 検索エンジン最適化 (以下、GG 最適化) に関する技術的な投稿...

ウェブサイト構築の究極の目標は、ウェブサイトの利益ポジショニングです

1. 収益性の観点から運用上の問題を考えます。収益はウェブサイト運営の原動力です。どのような種類のウ...

企業ウェブサイトの重要性とは?次の点に気を付けることが答えです

関連性はウェブサイト計画の最優先事項になっていると思います。多くの場合、私たちは常に外部リンクを使用...

新規消費者ブランドのためのKOLマーケティングの6つの成功原則

華西子、王宝宝、ベビーケア、ウブラス、ルルレモンなど、数多くの新しい消費者ブランドの台頭は、間違いな...

locvps: 日本ソフトバンク VPS (200M 帯域幅) - 40% オフ、香港クラウド VPS、30% オフ。最低 31 元から

locvps では、今後 2 か月間 (7 月~ 8 月) の特別割引プロモーションを開始します。各...