最新の開発のベストプラクティス、特にマイクロサービス アーキテクチャを実装する場合のベストプラクティスには、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 関連ツール チェーンの使用に熟練しており、コンテナ化されたソリューションの計画、設計、実装に優れています。 |
<<: クラウド コンピューティング環境の主な課題を管理し、対処する方法
>>: サーバーレス環境でマイクロサービスを設計するにはどうすればよいでしょうか?
国内のデータセキュリティ問題が注目される中、海外のドメイン名市場で大量のドメイン名が盗まれたことが2...
itldcはどうですか?ニュージャージー州セコーカスにある itldc の VPS はいかがでしょう...
日本はネットワーク事情が発達しているため、市場には日本のクラウドサーバーを提供する事業者が多数存在し...
アリババグループは当初、今年第4四半期にIPOを完了する予定だったが、同社が希望する「二重株式構造」...
ライブストリーミング電子商取引が失敗することはますます容易になっています。 5月28日、ウェイ・ヤー...
最近よく聞くのは、誰かのウェブサイトがブロックされた、誰かのウェブサイトが復旧した、百度がまたおかし...
コンテンツ1. 実際には、「コア」という言葉には統一された基準はなく、コアである必要すらありません。...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています企業ウェブ...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますネットワー...
COVID-19パンデミック後、モバイルゲームの収益の減少により、世界のモバイルアプリケーション全体...
月収10万元の起業の夢を実現するミニプログラム起業支援プランBaidu Webmaster Plat...
医療業界のインターネットマーケティングに関しては、Chenchen は特に感動していると思います。な...
7月11日夜、アリババクラウドは金融グレードの分散アーキテクチャソリューションのアップグレードを発表...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますSEO テ...
クラウドベースのワークロードとアプリケーションをオンプレミスの施設に移行する場合は、計画を立て、開始...