マイクロコンテナは大型コンテナよりも優れていますか?

マイクロコンテナは大型コンテナよりも優れていますか?

最新の開発のベストプラクティス、特にマイクロサービス アーキテクチャを実装する場合のベストプラクティスには、Docker、Kubernetes、その他のコンテナ テクノロジの使用が含まれます。

コンテナは、企業がアプリケーションを展開および使用する方法を変えています。開発と配信の効率と移植性の向上は、企業がコンテナを使用する重要な理由です。コンテナ テクノロジーにより、開発者はオペレーティング システムや依存関係を気にせずにソフトウェアを実行できます。したがって、コンテナは、関連する構成とライブラリが組み込まれた正式な環境により、ソフトウェア アーキテクチャを大幅に簡素化します。

コンテナ化の2つの主要な指標

一見すると、これは単純に思えます。アプリケーションをコンテナにパッケージ化して実行すれば完了です。しかし、状況は常に理想的であるとは限りません。アプリケーションのパフォーマンスが低下したり、クラウド インフラストラクチャのコストが増加したりする可能性もあります。クラウドでメモリ フットプリントを拡張せずにアプリケーションを効果的に構築するには、パフォーマンスに密接に関連するコンテナーの2 つの重要なメトリックを理解する必要があります。

  • コンテナのメモリ消費量。
  • コンテナ イメージのサイズとそれがアプリケーションのパフォーマンスにどのように関係するか。

ソフトウェア アプリケーションに適切なアーキテクチャを選択することは、製品開発において最も重要なステップの 1 つです。特にマイクロサービス システムが普及している今日では、これを習得するのは簡単ではありません。より良いアプローチは、業界の革新的なプラクティスを採用して、アプリケーションが安全になり、今後何年も置き換える必要がなくなるようにすることです。この観点から、利用可能な最小のマイクロ コンテナを見つけることは、アプリケーションのコンテナ化変換の選択と展開プロセスにとって良い選択です。

マイクロコンテナと大型コンテナ: どちらのパフォーマンスが優れていますか?

コンテナの普及とマイクロサービスやクラウドに向けたソフトウェア構造の発展に伴い、大規模なコンテナでは継続的デリバリーのビジネス環境における多くの欠点が徐々に明らかになってきています。ソフトウェア業界では、最適化を通じて大規模コンテナの欠点を軽減するために懸命に取り組んでいます。これまで、コンテナ化を行う場合、アプリケーションを最初に実行したオペレーティング システムに対応するコンテナを使用していました。たとえば、アプリケーションが元々 Centos 上で実行されている場合は、Centos コンテナを使用してアプリケーション イメージを構築します。このアプローチは、安全で段階的な移行を実現するため正しいものです。コンテナ OS には、サーバーとして実行するために必要なすべてのコンポーネントがありますが、アプリケーションには不要になりました。したがって、コンテナ化の次のステップは、アプリケーションをスリム化してマイクロコンテナに移植することです。

マイクロ容器は、効率性を高めるために改良された最適化された容器です。ソフトウェア アプリケーションにさらなるスケーリング、分離、パリティを提供するすべてのファイルが引き続き含まれています。ただし、イメージ内に保持されるファイルの数が最適化された、改良されたコンテナーです。マイクロコンテナに残る重要なファイルは、シェル、パッケージ マネージャー、および標準 C ライブラリです。

マイクロコンテナと非配布の違い

一方、コンテナ分野では「Distroless」という概念が存在します。 Distroless をベースイメージとして使用することは、コンテナのセキュリティを保護するための優れた方法です。アプリケーションとそのランタイム依存関係のみが含まれます。 Distroless イメージは未使用のファイルをすべて抽出します。マイクロコンテナとディストロレスの概念の違いを強調する価値があります。マイクロコンテナには、システムを完全な状態に保つために必要な未使用のファイルがまだ含まれています。マイクロ コンテナーは通常のコンテナーと同じオペレーティング システムに基づいており、同じ機能をすべて実装しています。唯一の違いは、開発者による改良により内部ファイルが強化され、サイズが小さくなっていることです。マイクロコンテナには最適化された数のファイルが含まれているため、アプリケーションの実行に必要なすべてのファイルと依存関係が含まれますが、より軽量で小さな形式になります。たとえば、BellSoft Alpaquita の場合、マイクロコンテナは OpenJDK アプリケーションの起動に必要なすべてのファイルと、OpenJDK が実行される標準ツールのみをホストします。この小さなコンテナは BellSoft チームによって大幅に改良されており、その小さなサイズにより Alpine Linux よりも高いレベルのセキュリティが実現されています。まとめると、マイクロコンテナの主な特徴は次のとおりです。

  • サイズが小さいです。
  • 配信、ダウンロード、拡張の速度が向上。
  • 安全。マイクロコンテナは、大型コンテナに比べて安全性が大幅に向上しています。イメージから不要な追加ファイルを削除すると、外部からの攻撃の可能性を減らすことができます。

マイクロコンテナの選択

現在、最小限のコンテナであるベースイメージが数多く存在します。良い例は Debian Slim です。 Debian Slim は最も人気のある Linux ディストリビューションの 1 つであり、より大規模な Debian docker から生まれました。もう一つのよく知られたマイクロコンテナは Alpine Linux です。これら 2 つのユニバーサル ベース イメージには、大きなコンテナーなどのすべての内部コンポーネントが引き続き含まれており、ファイル サイズも改善されているため、パフォーマンスは比較的優れています。ユニバーサル ベース イメージは、サイズが縮小されているにもかかわらず、より大きなコンテナーと同じように動作します。 Distroless イメージは非常に異なり、通常はアプリケーションとそのランタイム依存関係のみを持ちます。 Distroless イメージは大幅に縮小され、パッケージ マネージャーなしと見なされますが、実際の目的と操作は異なります。マイクロコンテナに戻ると、さらに小さくすることができ、メトリックをさらに改善することができます。たとえば、BellSoft (OpenJDK の主要な貢献者) は Alpine Linux でこれを実行し、Alpine よりも小さい新しいイメージである Alpaquita Linux をリリースしました。より軽量かつ小型で、OpenJDK で完全に使用できます。 OpenJDK に統合された musl の移植版の作成者である BellSoft は、この強力な機能をさらに活用し、Alpine Linux を改良して、その上に Alpaquita Linux を作成しました。 Alpaquita Linux は、サイズが小さいだけでなく、タイムリーなアップデートと完全に使用可能な OpenJDK 標準ツールも保証されます。

要約する 

要約すると、マイクロコンテナはクラウドネイティブアプリケーションにとって明らかな利点があります。大きな容器は違います。彼らの価値は、より優れた普遍的な基本画像ソリューションを市場に提供することにあります。変革のさまざまな段階にある企業は、適切な選択と展開を行うことができます。

元のリンク:

https://dzone.com/articles/how-microcontainers-gain-against-large-containers

翻訳者について

51CTO コミュニティ エディターの Cui Yingfeng 氏は、1970 年代生まれで 10 年以上の職務経験を持つプログラマーです。長年にわたり、Java 開発、アーキテクチャ設計、コンテナ化などの関連業務に従事。 Java に精通し、Maven、Jenkins、その他の DevOps 関連ツール チェーンの使用に熟練しており、コンテナ化されたソリューションの計画、設計、実装に優れています。

<<:  クラウド コンピューティング環境の主な課題を管理し、対処する方法

>>:  サーバーレス環境でマイクロサービスを設計するにはどうすればよいでしょうか?

推薦する

cmivps 香港 VPS レビュー: 3 つのネットワークはすべてバックホールに cn2 回線を使用し、Windows をサポートし、トラフィックは無制限です

cmivpsは以前のモバイルcmi国際ラインを変更したようです。公式も大量のサーバーを追加しました。...

微博マーケティングの4大ブランド価値

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスデジタル時代の重要なマー...

Baidu Indexとあなたのウェブサイトの関係

ウェブサイトを作っている友人は百度指数について知っていると思いますし、ウェブサイトを作っていない友人...

ウェブサイトのスパムを識別して対処する方法

間違いなく、ウェブサイトの内部最適化にとって、スパムコンテンツはSEOに深刻な影響を与える要素です。...

「新しいインフラストラクチャ」は業界のデジタル化を加速させ、独自のクラウドは業界の変革の新たな段階を推進します。

2020年、新型コロナウイルス感染症の影があらゆる産業の発展に影響を及ぼし、不確実な環境下で企業は...

Baidu の SEO における手動介入から SEO 担当者の将来の最適化の道筋について議論する

2012 年 2 月 15 日、SEO コミュニティで非常にエキサイティングな出来事が起こりました。...

Bandwagonhost KVM VPS レビュー/bandwagonhost KVM VPS レビュー/ロサンゼルス/アジア最適化

BandwagonHost が KVM VPS をリリースしたことをご存知でしたか? bandwag...

hosteons: 50% 割引コード、年間 13 ドル、1G メモリ + 無制限トラフィック VPS、Alipay

Hosteons は新しいサーバーをリリースしました。OpenVZ 7 シリーズ VPS は 50%...

Apple iCloudがハッキングされる

海外メディアの報道によると、ハッカーらが欧米のオタクが集まるフォーラム「4chan」でハリウッド女優...

SEO担当者:ホームページを頻繁に更新すると罰せられますか?

月給5,000~50,000のこれらのプロジェクトはあなたの将来ですSEO は細かい点が多い仕事です...

megalayer: 新年の VPS 特別価格、199 元/年、フィリピン\シンガポール\香港\米国、無制限のトラフィック

Megalayer は 2018 年に VPS を全面的にアップグレードし、柔軟な構成 (必要な構成...

周紅毅が運用について語る: 優れたユーザー エクスペリエンスとは何でしょうか?

現代は経験がものを言う時代であると言っても過言ではありません。大量消費財を製造する人々は、今日では消...

上司は1000万をどう使うべきでしょうか?主流プロモーションチャネルの組み合わせ戦略

この記事では、市場における主流のマーケティングおよびプロモーション チャネルと、それぞれの特徴につい...

2014 年のブログ トラフィック統計分析

以下は、Google Analytics を使用した Moonlight Blog の 2014 年...