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

推薦する

React における ref の一般的な使用法の概要

目次Refsとは何か1. 文字列型参照2. コールバック参照React.createRef() 4....

数千万データを持つMySQLテーブルを最適化する実践記録

序文まずここで説明させてください。インターネット上では、Alibaba では 500 万のデータを異...

要素 el-button ボタンコンポーネントの使用の詳細な説明

1. 背景ボタンは非常によく使われており、Element のボタン機能は非常に包括的です。この記事で...

円形/扇形メニューを2分で実装する方法を教えます(基本バージョン)

序文このプロジェクトでは円形のメニューが必要です。オンラインで検索しましたが、適切なものが見つからな...

MySQL 5.7 共通データ型

——「MySQL in Simple Terms (第 2 版)」からのメモ数値型整数型バイト最小最...

MySQL データベース開発の 36 の原則 (要約)

序文これらの原則は実際の戦闘から要約されています。あらゆる原則の背後には血なまぐさい教訓があるこれら...

Vue での親子コンポーネント通信と、sync を使用して親子コンポーネント データを同期する

目次序文子コンポーネントは親コンポーネントにデータを渡す1. 親コンポーネントから子コンポーネントに...

Gojs がアリのラインアニメーション効果を実装

目次1. Gojsの実装1. 描画2. 破線の実装3. 点線を動かす2. 点線と点線アニメーションの...

Reactイベントメカニズムソースコード分析

目次原理ソースコード分析委任されたイベントバインディングすべてのサポートされているイベントを聴くネイ...

Vueルーティングナビゲーションガードの簡単な理解

目次1. グローバルガード1. グローバル前線警備2. グローバル解像度ガード3. グローバルポスト...

Vueプロジェクトのパッケージングと展開の実際のプロセスの記録

目次序文1. 準備 - サーバーとnginxの使用1. サーバーを準備する2. nginxをインスト...

Docker を使用して Nginx+Flask+Mongo アプリケーションをデプロイする

サーバーにはNginx、データベースサポートにはMongo、Python言語のWebフレームワークに...

MySQL 学習: データベース テーブルの 5 つの主要な制約を初心者向けに詳しく説明します

目次1. 制約の概念と分類2. 5つの制約の追加と削除2.1 制約を追加する6つの方法2.2 制約を...

Linux でリモート MySQL データベースを手動で展開する方法の詳細な説明

1. mysql をインストールします。次のコマンドを実行して、YUM ソースを更新します。 rpm...

Dockerコンテナイメージからコードを復元する手順

コードが失われ、コンテナ内で実行されているイメージから必要なコードを回復する必要がある場合があります...