Docker は次の「Linux」になれるか?

Docker は次の「Linux」になれるか?

Linux オペレーティング システムは過去 20 年間にわたってデータ センターに革命をもたらし、今日ではアプリケーション ホスティング プラットフォームの紛れもないリーダーとなっています。ミッションクリティカルな本番ワークロードを Linux 以外のものに展開することは想像しにくいです。

Docker によって Linux コンテナが普及したとき、それは数年前に始まったアプリケーションのパッケージ化、展開、ホスティングの革命に似ていました。それ以来、コンテナの使用は業界全体で飛躍的に増加し、日々増加し続けています。

重要なアプリケーションを Linux 以外のオペレーティング システムにデプロイすることは考えられないのと同様に、コンテナーについても同じことが言えます。つまり、Web スケールの将来のニーズ (セキュリティ、スケーラビリティ、プラットフォームの独立性、容易な移植性など) を満たすには、すべてのアプリケーションをコンテナーにする必要があります。これらのコンテナは、あらゆる重要なアプリケーションやワークロードを実行するための新しい「Linux」であり、これからもそうあり続けるでしょう。

コンテナ導入の傾向

Datadog が 2018 年 6 月に更新した調査によると、すでに 25% の企業が Docker を導入しており、残りの企業も急速に追いついている傾向にあります。詳細な調査データはこちらです。

コンテナとオーケストレーション

Kubernetes、OpenShift、Apache Mesos、Docker Swarm は、コンテナに対する優れたオーケストレーション サポートを提供し、数千のコンテナのプラットフォームまたはインフラストラクチャの管理を大幅に容易にします。オーケストレーション ツールによって提供される自動化機能の助けを借りて、1 人のエンジニアがコンテナ化されたアプリケーションの異種デプロイメントを管理できます。

Kubernetes は Docker コンテナのオーケストレーションの世界を支配しており、Google がそのオリジナルの作成者であり、CNCF が所有者です。 Kubernetes は、業界全体で最高のコミュニティ サポートと優れた適応性も備えています。

コンテナ化されたアプリケーションにオーケストレーション サポートを提供する機能の一部:

  • リソース使用率に基づく水平自動スケーリング。
  • クラウド インフラストラクチャと緊密に統合すると、アプリケーション インスタンスを無限に拡張できます。
  • アプリケーション インスタンスの自己修復。
  • オンラインアップグレード。
  • カナリアアップグレード。

コンテナとマイクロサービス

Kubernetes は、オーケストレーション ツールとして再びマイクロサービス展開の分野で優位に立ち、コンテナ ベースのマイクロサービスをホストおよび実行するための最も有名で人気のあるプラットフォームの 1 つとなっています。

識別されたすべてのマイクロサービスは、まず Docker コンテナに変換され、その後 Kubernetes プラットフォームに移動されて展開されます。これにより、迅速に展開され、ライフサイクル全体を通じて簡単に管理できるようになります。

コンテナベースのマイクロサービスは、シナリオ内でのスケーリングと自己修復が容易で、ワークロードの起動と提供が高速です。

従来とは異なるアプリケーションにおけるコンテナの採用

コンテナの導入に伴って、多くの驚くべきことが起こっています。かつてはコンテナで実行することは不可能だと思われていたアプリケーションが、現在ではコンテナに移行され、コンテナ化されたプラットフォームで使用できるようになりました。

データベース

数年前、データベースはコンテナ テクノロジの範囲外にあると考えられていましたが、現在では、コンテナ上で実行してデータベース レベルで WebScale 機能をサポートするように特別に設計および開発されたコンテナおよびクラウド ネイティブ データベースである NuoDB があります。

Oracle 12c は、Docker レジストリの公式 Docker イメージに事前構成された状態で利用できるようになりました。

私は、データベース レイヤーのコンテナー化に非常に期待しています。これにより、オンデマンドでデータベース (物理サーバーにデプロイ) をスケーリングする際の制限がなくなり、コンテナー内で実行され、ビジネス プロセス エンジンにデプロイされたデータベースが、必要に応じてアプリケーション インスタンスとともに簡単にスケーリングできるようになるため、アプリケーションの WebScale が容易になります。

通信業界におけるコンテナ化された通信ネットワークコンポーネント

通信業界では、プログラム可能なネットワークへの移行が加速しており、これにより、すべての CSP は従来の高価なハードウェア上でネットワーク機能を実行するのではなく、仮想化された方法ですべてのネットワーク機能を実行できるようになり、運用コストが大幅に削減されます。これにより、すべての CSP は、需要の増加時に完全に自動化された方法でネットワークを迅速に拡張できるようになります。しかし、コンテナが VM よりも優れていることはアプリケーションで実証されているため、業界では通信事業者の VNF でも同様の利点を実現したいと考えています。

通信業界では、SDN-NFV を使用したプログラム可能なネットワークへの移行が加速しており、これによりすべての CSP は、従来の高価なハードウェアではなく仮想化された方法ですべてのネットワーク機能を実行しながら、運用コストを大幅に削減できるようになります。これにより、すべての CSP は、需要の増加に応じて、完全に自動化された方法でネットワークを迅速に拡張できるようになります。ただし、アプリケーションの世界では VM よりもコンテナの方がメリットがあることが実証されているため、通信 VNF でも同様のメリットを得ることに業界全体で大きな関心が寄せられています。

こうした傾向から、アプリケーション レベルと仮想化ネットワーク レベルの両方で、通信業界がコンテナ化されたプラットフォームによって支配される日もそう遠くないでしょう。

コンテナベースのビッグデータプラットフォーム

ビッグ データの世界では、HortonWorks の HDP 3.0 データ プラットフォームの新しいバージョンでは、内部コンポーネント (YARN コンテナー、Web アプリケーション、HDP サービス) を実行するために Docker コンテナーが使用されるようになりました。 Hadoop クラスターは、最新の標準クラスター アプリケーションを完全にサポートする自己管理型クラスターであるため、ビッグ データ プラットフォームをコンテナー上で実行し、オーケストレーション ツール (クラスター内のクラスター!!) で管理できます。これは、以前は議論の的となっていたトピックでした。しかし、コンテナ化されたサービスの新しいバージョンがすでに存在するため、近い将来に Kubernetes プラットフォームで Hadoop クラスターを実行するようになるのも不思議ではありません。

クラウドとコンテナ

コンテナの人気が高まるにつれ、すべてのクラウド サービス プロバイダー (AWS、Azure、GCE、Oracle、OpenStack など) も、ネイティブ コンテナと Kubernetes オーケストレーション サービスを提供およびサポートする必要があることに気付きます。現在、ほぼすべてのクラウド プロバイダーが独自のネイティブ コンテナーおよびオーケストレーション サービス/プラットフォームを備えています。クラウド企業が提供するネイティブ コンテナ プラットフォームの例をいくつか示します。

  • AWS — KOPs
  • Google クラウド - GKE
  • Azure - Azure Kubernetes サービス
  • RedHat OpenStack - RedHat OpenShift
  • Oracle Cloud - Oracle Kubernetes エンジン

繰り返しになりますが、これは、組織が従来のオンプレミス データ センターを置き換えるためにクラウド インフラストラクチャに移行している場合でも、アプリケーションの展開と実行にはコンテナーが依然として好ましい選択肢であるという明確な傾向を示しています。

コンテナベースのプライベートクラウド展開

クラウドとコンテナについて話すとき、コンテナ上で実行されているクラウドはすでに存在します。

OpenStack はプライベート クラウド分野では明らかに勝者です。プライベート クラウド ホスティングの世界全体は OpenStack によって支配されており、世界中の組織にクラウド コンピューティングのパワーを提供しています。

ただし、現在では OpenStack の新しいバージョンをコンテナ化された方法でデプロイできます。これにより、コンテナ内でプライベート クラウド全体をデプロイして実行することが容易になります。

コンテナの採用が急激に増加し、ソフトウェア業界や製品分野全体で根本的な変化が起こっていることから、コンテナはさまざまなワークロードをホストおよび実行するための新しい Linux であり、今後もそうなるだろうと言うことがより現実的になってきました。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Linux で docker-compose を使用したソフトウェア構成の詳細な説明
  • Linux システムをバックアップする docker コマンドの詳細な説明
  • Linux でパッケージから Docker CE をインストールする方法の詳細な説明
  • Docker の基礎: Linux 名前空間のグラフィック説明
  • Linux に Docker をインストールして使用する方法
  • Linux 上で Docker コンテナを作成、一覧表示、削除する方法の概要

<<:  MySql 5.6.36 64 ビット グリーン バージョンのインストール グラフィック チュートリアル

>>:  TypeScriptのインストールと使用方法と基本的なデータ型

推薦する

nginxリバースプロキシを使用するときに長時間接続を維持する方法

・【シーン説明】 HTTP1.1 以降、HTTP プロトコルは永続的な接続 (長い接続とも呼ばれます...

Dockerイントラネット侵入FRP展開の実装プロセスの分析

1. 設定ファイルディレクトリを作成するcd /ホームディレクトリmkdir frp最終的なディレク...

docker createコマンドの使用方法

docker create コマンドは、イメージに基づいてコンテナを作成できます。このコマンドの効果...

ZabbixはPSK共有キーを使用してサーバーとエージェント間の通信を暗号化します。

Zabbix バージョン 3.0 以降、Zabbix サーバー、Zabbix プロキシ、Zabbi...

Windows 7 64 ビットに最新バージョンの MySQL サーバーをインストールする方法のグラフィック チュートリアル

最近、MySQL データベースを勉強していて、設定ファイルを頻繁に変更したため、MySQL データベ...

Mysqlはブール型の演算を設定します

Mysqlはブール型を設定します1. Tinyintタイプテストテーブルを作成し、blフィールドをブ...

Mybatis mysqlの削除操作では、最初のデータメソッドのみを削除できます。

バグ図のように、削除文とパラメータをデータベースにコピーして実行し、2つのデータを削除しようとしたの...

Linux で ss コマンドと zabbix を組み合わせてソケットを監視する方法の詳細な説明

目次序文1. ssコマンド2. Zabbix監視マシンの全体的なソケットステータス2.1. スクリプ...

DOCTYPEタイプの詳細な紹介

<br />通常、HTML では次の方法で DOCTYPE を宣言します。 <!D...

Mysqlチュートリアルでのグループランキングの実装例の詳細な説明

目次1. データソース2. データの総合順位1) 総合ランキング2) 同順位3) 同順位3. データ...

VMware15 の CentOS7 インストールの詳細なプロセスとよくある問題 (画像とテキスト)

1. インストールパッケージの準備VMware-player-15.0.4-12990004、非商...

XHTML CSSを使用して正式なブログを書く

ブログの正式名称は「Web log」で、中国語で「ネットワークログ」を意味します。後にブログに短縮さ...

Vue3のdefineComponentの役割についての簡単な説明

目次defineComponent オーバーロード関数開発実務defineComponent 関数は...

React の調整アルゴリズム Diffing アルゴリズム戦略の詳細な説明

目次アルゴリズム戦略単一ノードの差分配列ノードの差分キー値の使用要件アルゴリズム戦略React の調...

MySQL シリーズ データベース設計 3 つのパラダイム チュートリアルの例

目次1. データベース設計の3つのパラダイムに関する知識の説明1. デザインパラダイムとは何ですか?...