fbpx

Dockerアプリケーションとは? Docker Enterprise 3.0でマルチサービスアプリケーションを構築・共有・実行する方法 #docker

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

モダンなアプリケーションは多くの特徴に分けられます。さまざまな技術スタックやアーキテクチャで構成され、N階層からマイクロサービスまで、その間にさまざまなものがあります。アプリケーションのアーキテクチャに関わらず、個々のコンテナから、協調動作するコンテナ群を定義する新しい単位、すなわちDockerアプリケーションへの転換が焦点です。まず私達はしばらく前に、Dockerアプリケーションパッケージをご紹介しました。このブログ記事では、何がそれらのようなより高いレベルのオブジェクトの必要性を駆り立てているのか、どのようにDocker Enterprise 3.0はアプリケーションへ焦点を転換し始めたのかを説明します。

マルチサービスとマイクロサービス向けのスケーリング

2013年の設立以来、Dockerとその周囲で繁栄してきたエコシステムは、コンテナを実行するためのイメージを作成する、Dockerfileを中心としたワークフローとして構築されてきました。Dockerコンテナは、アプリケーションの個別のパーツを高速に切り替えたり、個別に効果的にスケーリングしたりできるようにすることで、マイクロサービスアーキテクチャの成長と人気を後押ししました。マイクロサービスの採用が進むと、単一のアプリケーションはもはや少数のマシン上ではなく、さまざまな開発チームが手分けしたいくつものコンテナに基づくことが課題となります。組織はもはや少数のコンテナを管理するのではなく、数千のコンテナを管理しています。アプリケーションにまつわるこの新しいオブジェクトは、企業が運用をスケールし、複数のチームがマイクロサービスについてどのように協調作業するかに対して明確な作業モデルを提供する手助けとなるものです。

同時に、組織は、Helm Charts、Kubernetes YAML、Docker Composeファイルを含むさまざまな設定フォーマットの登場を確認しています。技術が発展するにつれてこれらが混在することは組織にとってよくあることです。そしてアプリケーションはさらに分割されていくだけでなく、複数の設定フォーマットを抱えるようになっています。

Dockerアプリケーション は、複数の設定フォーマットを有するマルチサービスアプリケーションを構築・共有・実行するための方法です。これにより、アプリケーションのディスクリプション・コンポーネント・パラメータを単一の不可分な単位(ファイルかディレクトリ)にまとめて取り扱うことが可能となります。言ってみれば「コンテナのコンテナ」を構築します。

  • アプリケーションのディスクリプションは、アプリケーションの名前・バージョン・説明を含むメタデータのマニフェストを提供します。
  • アプリケーションのコンポーネントは、1つ以上のサービス設定ファイルで構成します。これはDocker Compose、Kubernetes YAML、Helm Chartの各ファイルを混在させることができます。
  • 最後に、アプリケーションのパラメータは、そのアプリケーションの設定を定義し、同じアプリケーションパッケージを異なるインフラ環境向けに調整可能なフィールド付きにすることができます。

DockerアプリケーションはCloud-Native Application Bundle (CNAB)仕様の実装です。これは元々Docker社、Microsoft社、Hashicorp社、Bitnami社、Codefresh社が共同開発したオープンソース標準で、今日では多くの企業が参画しています。

Docker Enterprise 3.0でのDockerアプリケーション

Docker Enterprise 3.0では、Dockerアプリケーションサービスの基礎を築き始めています。アプリケーションを定義する方法としてDocker Desktop Enterpriseが提供している「docker app」 CLIプラグインを使うことで、テストを始めることができます。それからセキュアなコラボレーションやCI/CDツールチェーンへの統合のために、それらをDocker HubやDocker Trusted Registry (DTR)にプッシュしましょう。その後で、NIST CVEデータベースに基づくバイナリレベルのパッケージスキャンを実行することもできます。最後に、パラメータ化した環境変数により、運用者はこれらマルチサービスアプリケーションのデプロイをさまざまな環境に簡単に実施することができ、デプロイ中に利用するポートのようなものを調整することもできます。

Docker Enterprise 3.0では、組織は個々のコンテナの運用を継続しつつ、より効果的なスケールのためにDockerアプリケーションへの転換を行う能力をも手にすることができます。

Docker Enterprise 3.0についてもっと学ぶには:


原文: Build, Share and Run Multi-Service Applications with Docker Enterprise 3.0

新規CTA