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

推薦する

CSV、Excel、SQL ファイルを MySQL にインポートするためのヒント

1. csvファイルをインポートする次のコマンドを使用します。 1.mysql> infile...

Mysql 複数データベースのバックアップ コード例

この記事は主にMysqlの複数データベースのバックアップのコード例を紹介します。この記事ではサンプル...

CSS 疑似要素と疑似クラスの魔法のような使い方についての簡単な説明

CSS は Web ページで非常に重要な役割を果たします。近年の CSS の発展に伴い、疑似要素/疑...

Centos7 システムでの MySQL マスター スレーブ同期構成スキーム

序文最近、高可用性プロジェクトに取り組む際には、データの同期が必要になっています。ノードが 2 つし...

JavaScript で charAt() を使用して、最も頻繁に出現する文字とその出現回数をカウントする方法を教えます。

前回は、JavaScript の charAt() メソッドの使い方を紹介しました。今日は、最も多く...

ServerManager の起動時にデータベースに接続できないエラーを解決する方法

Servermanager 起動時の接続データベース エラーmgrstart.batを実行しますエラ...

高度な JavaScript フロントエンド開発でよく使用されるいくつかの API の例の詳細な説明

目次ミューテーションオブザーバーAPI特徴インターセクションオブザーバーAPI例えば画像の遅延読み込...

Linux でユーザーをグループに追加する 4 つの方法の概要

序文Linux グループは、Linux でユーザー アカウントを管理するために使用される組織単位です...

Linux/Mac MySQL パスワードを忘れた場合の対処方法

Linux/Mac の MySQL パスワードを忘れた場合はどうすればいいですか?心配しないでくださ...

CSS で要素を垂直方向に中央揃えする 7 つの方法

【1】中央の要素の幅と高さを知る絶対値 + 負のマージンコードの実装 .wrapBox5{ 幅: 3...

Mysql SSHトンネル接続を使用するための基本的な手順

序文セキュリティ上の理由から、MySQL の root ユーザーはローカルにのみログインでき、外部ネ...

Mysqlトランザクション処理の詳細な説明

1. MySQLのトランザクションの概念MySQL トランザクションは主に、操作量が多く複雑度の高い...

MySQLデータベースを誤って削除した後にデータを回復するための手順

日々の運用・保守作業において、MySQL データベースのバックアップは重要です。ウェブサイトにとって...

CocosCreatorでJSZip圧縮を使用する方法

CocosCreator バージョン: 2.4.2 jszipの実践的なプロジェクトアプリケーション...

CSS を使用して物流の進行状況のスタイルを実装するためのサンプルコード

効果: CSS スタイル: <スタイル タイプ="text/css">...