Computer Weekly製品導入ガイド
クラウドネイティブアプリを支えるコンテナ技術群
エンタープライズアプリケーションを構築するためのコンテナベースプラットフォームの構成要素を解説する。
コンテナ技術を用いることで、高度に差別化されたアプリケーションとサービスを、より迅速に、より良い品質で構築して地理的なリーチを拡大し、魅力的なカスタマーエクスペリエンスを創出できる。
コンテナ技術は、ソフトウェアデリバリーの高速化、絶大なスケール、耐久性の強化、柔軟性の向上、導入オプションの拡大を約束する。これにより、瞬く間にデジタルビジネストランスフォーメーションの重要な要素になった。エンタープライズアプリのインフラや、開発スタイルおよびアーキテクチャに関する全てが変わりつつある中で、コンテナはそれぞれの分野で重要な役割を果たす。
インフラプラットフォームの基盤はオンプレミスとクラウドの両方で、仮想マシン(VM)からコンテナサービスへと移行している。開発者は用途に合った小さなアプリのコンポーネントを、APIを通じて使うことを望む。開発スタイルは、真の継続的インテグレーションと継続的デリバリー(DevOps)へと加速し、アプリアーキテクチャは複数の層を持つ一枚岩から、アジャイル性の強いマイクロサービスの集合体へと移行している。
全体像
エンタープライズアプリケーションのためのコンテナベースプラットフォームを構築するためには、さまざまな機能と、それが互いにどう組み合わさるかに関する総合的な観点が求められる。エンタープライズアプリのプロフェッショナルは、コンテナネイティブまたは統合型プラットフォームパターンのいずれを使っているかを問わず、コンポーネントを選んでシームレスに組み立てなければならない。コンテナアプリケーションプラットフォームの参照アーキテクチャは、それぞれコンポーネント化された特定の技術機能を備える8つの層から成るものと定義できる。
コンテナネイティブパターン用のオープンソースオプションの多くは、組み立て用に1つの(あるいは複数の)機能コンポーネントに重点を絞っているのが普通だが、統合型パターンのためのオプションは一般的に、コンテナエンジン、コンテナオーケストレーション、外部インテグレーションおよび運用管理層をまとめて組み込んでいる。
第1の層のコンテナエンジンは、土台となる実行環境を提供する。この環境は、Docker、App Container、Open Container Initiativeといった主要コンテナイメージの、定義済み構成ファイル形式をサポートする必要がある。この環境は、「runC」「Docker」「containerd」「rkt」「cri-o」といったコンテナランタイムをサポートするだけでなく、「runV」「Clear Containers」「LXD.17」といったVMのランタイムもサポートしなければならない。次にこの環境は、コンテナイメージとインスタンスのために、標準的な構築、移動、実行の一連の業務を遂行できる必要がある。
これは、構成ファイルからのイメージ構築から、リポジトリーでのイメージのタグ付けまで幅広い。
主要機能
2番目の層のコンテナオーケストレーションは、エンタープライズでの普及の鍵を握る機能を実現する。「Apache Mesos」や「Marathon」といった高可用性をサポートするタスクスケジューリングコンポーネントは、アプリケーション運用のための効率的で安定したリソース使用を保証する。「Docker Compose」や「Topology and Orchestration Specification for Cloud Applications」(TOSCA)といったアプリ構成管理コンポーネントでは、サービスの構造とアプリの構成を単純化できる。「etcd」のようなサービス発見・設定管理コンポーネントでは、コンテナインスタンスを横断するサービスの登録と発見ができ、ストレージとサービス構成の参照が可能になる。
「Docker Swarm」や「Fleet」などのコンテナクラスタ管理コンポーネントは、クラスタメンバー管理、障害が起きたコンテナインスタンスの検出と復旧、カスタムイベントの伝達を担う。コンテナネットワークコンポーネントの「Docker Networking」「Weave Net」「Canal」などは、抽象化された統合型ネットワーク機能を提供する。「Fuxi」のようなコンテナストレージ管理コンポーネントはコンテナのデータ量を管理する。この層の全機能をカバーしているのは、「Kubernetes」など少数にすぎない。
多様な使い方
「Next」は外部インテグレーション層で、多様な使い方を想定した広範なサポートを実現する。ビッグデータインテグレーションコンポーネントは、「Apache Hadoop YARN」や「Apache Spark」のような主要ビッグデータフレームワークを支援し、それぞれ独自のスケジューラを使いながら、コンテナのパワーを活用してクラウドにおけるパフォーマンスを最大限に引き出す。メッセージ待ち行列インテグレーションコンポーネントは、「Apache Kafka」のようなサードパーティーメッセージ待ち行列・ストリーミングプラットフォームをコンテナ環境にデプロイする。IaaSインテグレーションコンポーネントは、「OpenStack」などのIaaSプラットフォームにコンテナオーケストレーションを取り入れる助けになる。
4番目の運用管理層は、運用やメンテナンスプロセスの合理化を目的とする。「Logstash」「OpenTracing」「Fluentd」といったコンテナモニターデータ収集コンポーネントは、コンテナの監視、分散環境におけるAPI呼び出し、統一された形でのデータ収集を行う。「Prometheus」や「Elasticsearch」のようなメトリックスストレージ、分析・通知コンポーネントは、常駐型のデータモデル計量法を使って収集したデータを分析し、通知を送信する。管理ポータルコンポーネントの「Kibana」や「Grafana」は、運用管理用に分析結果の次元ダッシュボードを提供する。
次に来るコンテナインフラ層は運用環境の順応性を高める。コンテナOSコンポーネントの「Red Hat Enterprise Linux Atomic」や「VMware Photon OS」などは、コンテナ化されたアプリの実行をサポートする無駄のないOS機能を提供する。「ESXi」「KVM」「Hyper-V」といった汎用(はんよう)ベアメタルハイパーバイザーは、仮想化やクラウド導入のための汎用コンポーネントで、物理サーバ上でハードウェアリソースプールのための仮想化を実現する。
統合コントロールと価値共同創出
コンテナイメージ管理層は、統合型のコントロールと価値の共同創出を保証する。プライベートイメージリポジトリーコンポーネントは、一元化された拡張性の高いコンテナイメージの管理、発見・配信、変更管理機能を提供。企業は「Docker Registry」や「CoreOS Quay Enterprise」といったコンポーネントをオンプレミスに導入することも、「Docker Cloud」や「Google Container Registry」「Amazon EC2」「Container Registry」のようなクラウドベースサービスで使うこともできる。「Docker Store」や「CoreOS Quay」といったパブリックイメージマーケットプレースコンポーネントは、コンテナイメージ共有のために、評判インジケーターの付いた信頼できるプラットフォームを提供する。
最後から2番目の層は、エンドツーエンドのセキュリティを守るコンテナセキュリティに関連する。この層は、コンテナインフラからコンテナ運用管理とイメージ管理に至る完全な技術スタックと、イメージ作成からランタイム実行(イメージ署名と認証、役割ベースのアクセス管理、セキュリティポリシー管理、エンタープライズLDAPインテグレーションを含む)に至る全コンテナライフサイクルの守りを固める。
例えば「Docker Content Trust」は、イメージタグのクライアントサイド署名および認証を徹底させ、「CoreOS Clair」はコンテナランタイムの脆弱(ぜいじゃく)性を静的に分析する。
アプリケーションライフサイクル高速化
最後の層となるDevOps自動化は、アプリケーションライフサイクル高速化を実現する。この層は、コンポーネントの他の層への導入簡略化を支援するだけでなく、既存のクラウド環境やDevOpsツールと連携させて、シームレスなコラボレーションを保証する。例えば「Docker Machine」は主要クラウドサービスプロバイダー上のバーチャルホストにDocker Engineをインストールでき、管理機能を実現する。
エンタープライズアプリケーションのプロフェッショナルは、それぞれの層について、ビジネスニーズに照らした機能範囲を評価しなければならない。ビジネスニーズを技術条件に当てはめる役割を主導し、各コンポーネントがそうしたニーズに対応できる能力を見極める必要がある。例えば、もし大規模Webアプリケーションが実績のある5000ノード以上のクラスタ管理機能を必要とする場合、KubernetesよりもMesosの方が適しているかもしれない。だが、KubernetesプロジェクトにはGitHubで9億5000人以上が貢献し、Mesosより活発なエコシステムを提供している。
本稿はForresterのチャーリー・ダイ、デイブ・バートレッティ両氏による報告書「Vendor landscape: container solutions for cloud-native applications」より抜粋。
Copyright © ITmedia, Inc. All Rights Reserved.
Computer Weekly日本語版
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣 -
製品資料
[サイボウズ株式会社] AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
2
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
3
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
4
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
5
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
-
6
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
7
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
8
情報漏えいはなぜ繰り返されるのか 今すぐ見直すべき「境界」
-
9
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
10
【漫画付き】ひとり情シス協会が明かす、RAG導入でしくじる企業「2つの共通点」
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
5
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
6
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
9
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー