8つの実際のDockerシナリオ

8つの実際のDockerシナリオ

[編集者注] Flux 7 では、簡素化された構成、コード パイプライン管理、開発効率の向上、分離されたアプリケーション、サーバー統合、デバッグ機能、マルチテナント環境、迅速な展開など、Docker の一般的な実際の使用シナリオが 8 つ導入されています。 Dockerについて話してきました。 Docker をどのように使用し、どのような状況で使用するのでしょうか?おそらくこの記事が役に立つでしょう。ご連絡が必要な場合は、コメントを通じてご連絡ください。

数週間前、私たちは Docker を中心とした最大のテクノロジー カンファレンスである DockerCon に参加しました。これは、Docker オープン プラットフォームが自分のラップトップで実行されているか、データ センターの仮想マシンで実行されているかに関係なく、Docker オープン プラットフォーム上で分散アプリケーションを構築、配信、実行することに関心のある開発者や実務者を対象としています。私たちもこのカンファレンスに参加しましたが、Docker のシステム統合パートナーである Flux7 もゲストスピーカーとして参加しました。

弊社 CEO の Aater Suleman がクライアントの 1 社とともにプレゼンテーションを行いました。 DockerCon は楽しかったのですが、カンファレンスでは Docker の基本部分に重点が置かれすぎていて、Docker のユースケースが無視されているように感じました。そこで、この記事では、Docker の実際の応用事例をいくつか紹介し、共有したいと思います。

Docker の使用シナリオについて説明する前に、まず Docker ツールの特別な点について見てみましょう。

Docker は、追加のオーバーヘッドがほとんどない軽量の仮想化を提供する、非常に優れた機能です。

まず第一に、Docker によってもたらされる仮想化機能を享受しながら、それがもたらす余分なオーバーヘッドを心配する必要はありません。 2 番目に、仮想マシンの場合よりも、同じマシン上にはるかに多くのコンテナを作成できます。

Docker のもう 1 つの利点は、コンテナを数秒以内に起動および停止できることです。 Docker の創設者である Solomon Hykes 氏は、かつて純粋な LXC 上で Docker が実現するものを紹介しました。行って見てください。

以下は、私がまとめた Docker の使用シナリオの一部です。これらは、Docker を活用して、オーバーヘッドの少ない一貫した環境を作成する方法を示しています。

1. 構成を簡素化する

これは、Docker が推進する Docker の主な使用シナリオです。仮想マシンの最大の利点は、ハードウェア設備上でさまざまな構成のさまざまなプラットフォーム (ソフトウェア、システム) を実行できることです。 Docker は追加のオーバーヘッドを削減しながら同じ機能を提供します。実行環境と構成をコードに入れてデプロイすることができます。同じ Docker 構成をさまざまな環境で使用できるため、ハードウェア要件とアプリケーション環境間の結合が軽減されます。

2. コードパイプライン管理

前のシナリオは、コード パイプラインの管理に非常に役立ちます。コードは、開発者のマシンから本番環境への最終的な展開まで、多くの中間環境を経由する必要があります。中間環境ごとに若干の違いがあります。 Docker は、開発から起動まで一貫した環境をアプリケーションに提供し、コード パイプラインを大幅に簡素化します。

3. 開発効率の向上

これにはいくつかの追加の利点があります。Docker は開発者の効率を向上させることができます。より詳細な例を見たい場合は、DevOpsDays Austin 2014 または DockerCon での Aater のプレゼンテーションを参照してください。

さまざまな開発環境において、2 つのことをうまく実行したいと考えています。まず、開発環境を本番環境にできるだけ近づけたい、そして、開発環境を迅速に構築したいと考えます。

理想的には、最初の目標を達成するためには、本番環境でのサービスの動作状態を監視するために、各サービスを個別の仮想マシンで実行する必要があります。しかし、毎回ネットワーク接続が必要になるのは望ましくありませんし、再コンパイルするたびにリモートで接続するのは非常に面倒です。ここで Docker が特に優れた働きをします。開発環境のマシンは通常、比較的小さなメモリを持っています。以前、仮想化を使用していたときは、開発環境のマシンにメモリを追加する必要がよくありました。現在、Docker では数十のサービスを簡単に Docker で実行できます。

4. アプリケーションを分離する

前述の開発効率を向上させるシナリオなど、1 台のマシンで異なるアプリケーションを実行することを選択する理由は多数あります。

多くの場合、2 つの点を考慮する必要があります。 1 つはサーバーを統合してコストを削減することであり、もう 1 つはモノリシック アプリケーションを疎結合された個々のサービスに分割することです (訳者注: マイクロサービス アーキテクチャ)。疎結合アプリケーションがなぜそれほど重要なのかを理解したい場合は、Google と Amazon を比較した Steve Yege のこの論文をご覧ください。

5. サーバー統合

仮想マシンが複数のアプリケーションを統合するために使用されるのと同様に、Docker のアプリケーション分離機能により、Docker は複数のサーバーを統合してコストを削減できます。複数のオペレーティング システムのメモリ フットプリントがなく、未使用のメモリを複数のインスタンス間で共有できるため、Docker は仮想マシンよりも優れたサーバー統合ソリューションを提供できます。

6. デバッグ機能

Docker は、必ずしもコンテナ専用ではないものの、コンテナに適用可能なツールを多数提供しています。コンテナのチェックポイント、バージョンの設定、2 つのコンテナ間の違いの表示など、バグのデバッグに役立つ多くの機能を提供します。これに関する説明は、「Docker が世界を救う」という記事でご覧いただけます。

7. マルチテナント環境

Docker のもう 1 つの興味深い使用例は、マルチテナント アプリケーションです。この場合は、重要なアプリケーションの書き換えを回避できます。このユースケースの具体的な例の 1 つは、IoT アプリケーション向けの高速で使いやすいマルチテナント環境の開発です。このマルチテナント コードベースは非常に複雑で扱いが難しく、このようなアプリケーションを再計画するのは時間がかかるだけでなく、お金の無駄にもなります。

Docker を使用すると、テナントごとにアプリケーション層の複数のインスタンスの分離された環境を作成できるため、シンプルであるだけでなく、コストも低くなります。もちろん、これはすべて、Docker 環境の起動速度と効率的な diff コマンドによるものです。

このシナリオの詳細については、こちらをご覧ください。

8. 迅速な展開

仮想マシンが登場する前は、新しいハードウェア リソースを導入するには何日もかかっていました。仮想化テクノロジーにより、この時間が数分に短縮されます。 Docker は、オペレーティング システムを起動せずにプロセス用のコンテナーを 1 つだけ作成することで、このプロセスをさらに数秒に短縮します。これはまさに、Google と Facebook の両社が重視する機能です。

再起動のオーバーヘッドを気にすることなく、データセンター内のリソースを作成および破棄できます。通常、データセンターのリソース使用率はわずか 30% です。 Docker を使用して効果的なリソース割り当てを行うことで、リソースの使用率を向上させることができます。

<<:  あなたの IT 部門は適切なクラウド スキルを持っていますか?

>>:  ゲームのスムーズさは実は Huawei Cloud の努力によるものだとは思わないかもしれません。

推薦する

周紅毅:優秀なプロダクトマネージャーになるにはどうすればいいでしょうか?

今日、ユーザー エクスペリエンスという用語は、企業全体の研究開発、プロモーション、マーケティング業務...

企業がクラウドサービスを最大限に活用するための4つの方法

クラウドコミットメントの支出は、クラウドコストの上昇という状況において異なる考え方を生み出す可能性が...

#黒5# gcorelabs: 専用サーバー、30% 割引、香港/韓国/日本/ロシア極東の 41 のデータセンターなど...

gcorelabs は、今から 12 月 6 日まで、ブラック フライデー プロモーションを開始し、...

ゲームCP注目!文化省の新しい規制:小道具の内容は公開する必要があり、抽選のルールは厳しく規制される

12月5日夜、文化部は「オンラインゲームの運営を規制し、イベント中およびイベント後の監督を強化する通...

マルチクラウドデータ管理における適切なバランスを見つける方法

今日、IT リーダーは、クラウドベースおよびデータ駆動型のインフラストラクチャを構築する際に、リソー...

SEOロングテールキーワードについてどれくらい知っていますか

みなさんこんにちは、warsion です。今日は SEO トラフィックを増やす上で重要な要素であるロ...

検索エンジン最適化オンサイトおよびオフサイト最適化戦略マニュアル

Baidu の最近のパフォーマンスと自分のウェブサイトの詳細な分析に基づいて、Baidu のオンサイ...

ウェブサイトのSEO最適化が成功して収益を上げたあと、ウェブマスターが次にすべきことについての簡単な議論

最近、あるウェブマスターとチャットをしました。彼のウェブサイトの1つは、約3年間オンラインになってい...

Fatcow - 年間 9 ドルのホスティング / 無料ドメイン名 / 年間 20 ドルの更新料

この割引コードは初回使用時のみ有効です。75 ペンスは年間 9 ドルの支払いに相当します。更新価格が...

オンラインとオフラインのブランドのための 5 つのマーケティング戦略

さまざまなタイプのブランドが、さまざまな形態のストリートファイトを行っています。 01 2012年か...

bitaccel-1g メモリ/60g ハードディスク/1T トラフィック/月額 3.5 ドル

Bitaccel は設立から 9 か月運営されています。現在、ダラス、ニューヨーク、ロサンゼルスにそ...

vpdime-$7 ハイエンド VPS/6g メモリ/4 コア/10G ポート/30g SSD

今日は、3年前に非常に人気があった商人から得た「言葉では言い表せない」役立つ情報を皆さんにお伝えしま...

WeChat 7.0.7 内部ベータ版がリリース、ミニプログラムの評価が正式に「登場」?

WeChat 7.0.7 がリリースされました!昨日、WeChat は Android バージョン ...

アップグレード時にクラッシュします。K8s には LTS バージョンが必要です。

著者 |ヤン・ジェン制作 | 51CTO テクノロジースタック (WeChat ID: blog) ...

クラウド コンピューティングにとって継続的な可用性が重要なのはなぜですか?

今日、ほぼすべての企業組織が何らかの形でクラウド コンピューティングを使用しています。これらの取り組...