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のインストールと使用方法と基本的なデータ型

推薦する

Vue3コンポーネントの開発詳細

目次1. はじめに2. コンポーネント開発1. コンポーネントの構成2. ヘッダーコンポーネントの開...

Linux環境でよく使われるMySQLコマンドの紹介

mysql コマンドを入力します: mysql -u+(ユーザー名) -p+(パスワード) mysq...

nginx/apache 静的リソースのクロスドメインアクセスの問題を解決する詳細な説明

1. Apache 静的リソースのクロスドメイン アクセスApache設定ファイルhttpd.con...

MySQL 使用仕様の概要

1. InnoDBストレージエンジンを使用する必要がありますCPU と IO のパフォーマンスが向上...

MySQL は重複データを削除して最小の ID ソリューションを維持します

オンラインで検索して重複データを削除し、ID が最小のデータだけを残します。方法は次のとおりです。 ...

ブログデザイン ウェブデザイン デビュー

私がデザインした最初の Web ページは次のとおりです。 私はこの業界に7年間在籍し、プログラミング...

Vue+nodeはオーディオ録音・再生機能を実現

結果: コードロジックを実装するのが主な部分であり、具体的なページ構造を一つ一つ紹介することはありま...

Docker インストール tomcat dubbo-admin インスタンス スキル

1. tomcatイメージをダウンロードする docker pull tomcat:8.5.29 2...

Vue ソング プログレス バーのサンプル コード

なお、これはvue-cliで作成したプロジェクトではありません。vue.jsを参照して記述したHTM...

Docker クリーニングの一般的な方法と問題点

大規模な開発に Docker を使用する場合でも、クリーンアップ戦略がなければ、ディスクがすぐにいっ...

Linux chkconfig コマンドの使用

1. コマンドの紹介chkconfig コマンドは、システム サービスの実行レベル情報を更新および照...

複数の値を返す MySQL ストアド プロシージャ メソッドの例

この記事では、例を使用して、MySQL ストアド プロシージャで複数の値を返す方法について説明します...

CSS スティッキーフッター実装コード

この記事では、CSS スティッキー フッターの実装コードを紹介し、共有します。詳細は次のとおりです。...

mysqlは2つ以上のフィールドがNULLであるレコードを見つける問題を解決します

コアコード /*-------------------------------- 2つ以上のフィール...

JS for ループで setTimeout を使用する 4 つのソリューション

目次概要解決策 1: クロージャ解決策2: 構造を分割する解決策3:解決策4: setTimeout...