最新の開発のベストプラクティス、特にマイクロサービス アーキテクチャを実装する場合のベストプラクティスには、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 関連ツール チェーンの使用に熟練しており、コンテナ化されたソリューションの計画、設計、実装に優れています。 |
<<: クラウド コンピューティング環境の主な課題を管理し、対処する方法
>>: サーバーレス環境でマイクロサービスを設計するにはどうすればよいでしょうか?
インターネットでお金を稼ぎたい個人ウェブマスターとして、私が毎日最も考えているのは、自分のウェブサイ...
多くの友人が私のウェブサイトに外部リンクを作成する方法をよく尋ねていることに気付きました。外部リンク...
更新されていない新しいサイトのスナップショットは、確かにウェブマスターにとって最も厄介なことですが、...
Fliphost は、openvz をベースとし、SSD ハード ドライブを搭載し、6 時間ごとにバ...
ビデオ監視会社は、クラウド移行の取り組みを妨げる特有の課題のために業務の近代化に苦労していますが、新...
周知のように、ウェブサイトの最適化と運用のプロセスは、戦略を実行するプロセスであるだけでなく、より重...
モバイルインターネットの急速な発展により、モバイル エントリが断片化する時代が到来しました。ユーザー...
まず、従来の IDC は当面消滅したり、クラウド コンピューティング IDC に完全に置き換えられた...
bigpowerhosting は比較的新しい企業で、主な事業は VPS と仮想ホスティングです。ロ...
リソースが限られている多くのウェブマスターにとって、SEO はウェブサイトのトラフィックを増やす鍵で...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますオリジナル...
前回ジュニアSEOERの基準を書いて以来、皆様からの評価と期待をいただいております。ここに感謝申し上...
いずれにせよ、クラウド インフラストラクチャはほぼすべての組織にとって重要なコンポーネントとしての地...
10年以上の開発を経て、クラウドコンピューティングは頂点に達しました。クラウド コンピューティングの...
fluidservers はアメリカのホスティング プロバイダーです (会社はアラバマ州に登録されて...