クラウド時代のアプリケーション移植【後編】
コンテナ技術「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
-
製品資料
[o9ソリューションズ・ジャパン株式会社] 「改正物流効率化法対策」徹底解説 総物流費を抑制するサプライチェーン戦略 -
製品資料
[o9ソリューションズ・ジャパン株式会社] 「サプライチェーン最適化」実践ガイド:効果的な意思決定を実現する秘訣とは? -
製品資料
[株式会社リンプレス] 非デジタル/IT人材を「自走するDX推進者」に変えるための育成ロードマップ -
市場調査・トレンド
[ワンアイルコンサルティング株式会社] AI時代の組織設計:「判断と責任」を人に残すための2つの原則とは? -
技術文書・技術解説
[ワンアイルコンサルティング株式会社] システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
1200万円のSaaS導入を回避 スギ薬局「運用費10万円」のAIエージェント構築術
-
2
「完璧な設計」なのに3000万円溶けた AWSの失敗事例から学ぶ3つの教訓
-
3
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
4
LLMの「過学習」、正しく説明している文章はどれ?
-
5
「AIバブル」は崩壊するのか? 熱狂の後に来る“尻拭い”と4つの防衛策
-
6
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
7
パナソニックが国内製造26拠点のERPを「SAP S/4HANA」に統一 アドオン7割削減
-
8
守るべきは「開発者のフロー状態」 AIによる生産性改善の6施策
-
9
高額な「AI PC」を一般従業員も使えたら? 費用のハードルを一気に下げる方法
-
10
「RAGの利用」に関するアンケート
ホワイトペーパーランキング PR
-
1
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
2
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
3
生成AIで文書活用を進めるには? 効率化と安全性をどう両立する
-
4
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
5
DX/AI投資の壁を突破、現代の最高財務責任者が直面する課題と克服のヒント
-
6
「Google Workspace」活用事例34選、先進の生成AIによる組織変革の全貌
-
7
「人員を増やす」という選択肢はない 情シスが負の連鎖から抜け出すには?
-
8
Linuxのスキルを証明する“激推し”の認定資格はこれだ
-
9
「問題が深刻化しやすいプロジェクト管理」から脱却する方法とは?
-
10
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー