クラウド時代のアプリケーション移植【後編】
コンテナ技術「Docker」で実現するアプリケーション移植、知っておきたい5つの勘所
クラウド間でのアプリケーションの移植をサポートする選択肢としてコンテナを選んだ場合、コンテナの特徴を保持する必要がある。その手段を紹介する。
前編「コンテナ技術『Docker』がアプリケーション移植を得意とする理由」で、コンテナがクラウド間のアプリケーション移植に最適な理由を紹介した。しかし、移植には、厳格なアプリケーションバージョン管理と互換性のあるデプロイ管理といったコンテナの特徴を保持しなければならない。後編では、それらの特徴を保持するための5つの手順を紹介する。
まず第1に、単一のコンテナ管理戦略を採用する必要がある。Dockerは最も人気の高いコンテナアーキテクチャだが、他にもCanonicalの「LXD」といった選択肢がある。コンテナの移植は、クラウドとデータセンターを通じて同じコンテナアーキテクチャを使うことで実現される。つまり着手する前に、全ホスティングオプションで確実に機能する単一のコンテナ戦略を立てる必要がある。最も幅広く採用されているコンテナシステムのDockerはそうした理由から、自ずとアプリケーションの移植を望む場合の選択肢となる。
第2の手順として、デプロイを標準化するために付加的なコンテナツールを採用する必要がある。大規模なDockerデプロイは、ほぼ全てがコンテナの管理と通信のためにDocker管理ツール「Kubernetes」を使っているが、「Shipyard」も検討できる。開発担当者と運用担当者が連携してアプリケーション開発を進める「DevOps」のツールを使っている場合、自分のパッケージがコンテナのデプロイに対応していることを確認する必要がある。DevOpsのインフラ構成をコードで管理する「Infrastructure as Code」機能を使って環境に依存しないコンテナを作成しデプロイする。Docker管理ツール「Docker Compose」は、純粋なコンテナのデプロイに対応できるが、ほとんどのユーザーはすぐにはそこまでは到達しない。
第3に、コンテナセキュリティを体系化し、その仕組みを社内の全環境を通じて標準化する。コンテナは仮想マシン(VM)ほど安全ではない。パブリッククラウドにコンテナをデプロイする場合、セキュリティ対策に気を配るのであれば、公開コンテナサービスを使うよりも、専用サーバかVMを使ってコンテナシステムをホスティングすることを検討した方がいい。セキュリティを強化するのなら、Dockerにも独自の仕組みとして「Docker Content Trust」が登場した他、サードパーティーのセキュリティツールやブロックチェーン技術を利用するものなど多数存在する。アプリケーションの移植を追求するのなら、そうしたツールの採用には一貫性を持たせなければならない。
第4に、ログを移植可能な方法で一元化する。コンテナシステムはログが追跡できなくなりやすい。複数のクラウドやデータセンターを横断してデプロイしている場合はなおさらだ。「LogSpout」のようなツールを使えば少なくとも、ログを一元化し、何が起きているかを整理して参照できる。
最後に、「Flocker」のようなツールを使ってデータベースとボリュームを管理する。コンテナの移植は、データベースの利用や配置における相当の効率悪化につながることもあり、移植性が高まるほど、問題も大きくなりやすい。場合によっては、データベースへのアクセスを一元化するために、コンテナを使ってデータベースクエリサービスをマイクロサービスとしてホスティングしたいと思うかもしれない。だが、跨いでいるネットワークが多すぎて反応時間に多大な遅延を生じさせないよう注意しなければならない。
ITプロフェッショナルの多くは、アプリケーション移植を実現するためにこうした条件を全てコンテナに適用することと、同じ条件をVMに適用するのとそれほどの違いはないと気付くだろう。だが単純にVMあるいはIaaS(Infrastructure as a Service)と、マシンイメージを構造化して移植性を確保し、DevOpsツールを使ってデプロイプロセスを標準化できるだろうか。
バージョン管理とデプロイの規律は、IaaSやVMでのマシンイメージの移植とデプロイをしやすくさせるが、根底にあるホスティングの効率性に問題は残る。コンテナシステムと違って、ソフトウェアバージョン管理の厳格性を緩めても直接的な悪影響はない。だが一時的に大量のトラフィックが発生して起こる「クラウドバースト」を試みる場合や、別のプラットフォームにフェイルオーバーしようとする場合のみ、問題が生じるかもしれない。
ほとんどのエンタープライズクラウドユーザーにとってコンテナは、クラウド間の移植を問題なく実現するアプリケーションの開発に向けた前向きな1歩となるだろう。コンテナと強固なDevOpsを組み合わせ、クラウドリソースの定義と設定にInfrastructure as Codeを利用すれば、ホスティング場所に対するアプリケーションコンテナの透明性を大幅に高めることができる。そして、クラウドアプリケーションの耐久性と反応性を高め、維持費を削減することができるだろう。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
技術文書・技術解説
[Jamf Japan 合同会社] MDMだけでモバイルセキュリティは十分? 不足する対策を16項目でチェック -
事例
[Wrike Japan 株式会社] 世界的な家電メーカーが実践する「クリエイティブプロセス効率化」の方法とは? -
事例
[Wrike Japan 株式会社] 世界的テクノロジー企業に学ぶ、プロセス標準化とプロジェクト納品自動化の秘訣 -
事例
[Wrike Japan 株式会社] ソニー・ピクチャーズ テレビジョンに学ぶ、次世代サービスデリバリーのヒント -
事例
[Wrike Japan 株式会社] ソミック石川に学ぶ、ICT浸透後に直面した「工数管理」の課題と解決策
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Copilot」はなぜ放置される? “議事録要約止まり”を脱する処方箋
-
2
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
3
「Microsoft 365」が乗っ取られる 跡形もなくMFAを破る手口
-
4
AIが本番環境を削除し復旧に13時間 「暴走」ではなかったAWS事例
-
5
IT人材の42%が転職予備軍 辞めさせない組織の4つの共通
-
6
「Microsoft一択」で本当にいいのか 知らぬ間にライセンス費用が膨らむ真相
-
7
ANAが専用回線から移行した「NaaS」の全貌 ネットワーク準備が数カ月から数週間に
-
8
「データストレージの活用方法」に関するアンケート
-
9
VBAマクロ“原則ブロック”後に「Office」でマクロを実行する方法
-
10
「プログラマー不要論」にThe Linux Foundationが示した答え
ホワイトペーパーランキング PR
-
1
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
-
2
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
3
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
4
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
5
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
6
国税庁の次世代基幹システム「KSK2」稼働開始に向けて、対応すべき変更点とは?
-
7
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
8
ドラマで分かる、標的型攻撃メールの被害を受ける企業と回避できる企業の分岐点
-
9
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
10
少額減価償却資産が40万円未満へ拡大、令和8年度税制改正で押さえるべき変更点
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー