互換性の問題をどう回避するか
マルチクラウド環境でアプリケーションポータビリティーを実現する3つの方法
マルチクラウドの採用を進める際に、開発者はベンダー固有のサービスを利用することでアプリケーションポータビリティーを犠牲にしないように注意する必要がある。
プラットフォーム間のアプリケーションポータビリティーは、マルチクラウド戦略における主要な目標の1つだ。ポータビリティーの達成は、IaaS(Infrastructure as a Service)ベンダーの基本的なコンピューティング機能のみを使用する場合は比較的容易だが、ベンダー固有のサービスを追加するほど困難さが増す。
全ての主要なパブリッククラウドベンダーは、競争力を維持するために、データ分析、イベント処理、リレーショナルデータベースなどのWebサービスを追加することによって、基本的なIaaSを強化している。開発者はこれらの追加サービスをクラウドアプリケーションに利用することで、開発時間の短縮、コスト削減、特殊機能の提供といったさまざまなタスクを達成できる。
しかし、こういったWebサービスの利用にはリスクが伴う。クラウドベンダーはこれらのサービスを独自に実装しているため、特定ベンダーのWebサービスを実装したアプリケーションコンポーネントで、別ベンダーの似たようなWebサービスを利用することは困難な場合が多い。Webサービス自体が、異なるクラウドプラットフォーム間で任意に移行可能なわけではないため、情報が失われたり、データや機能の互換性の問題が発生したりする可能性がある。
そのようなサービスを使用する場合、アプリケーションの可搬性をコンポーネントごとに判断する必要がある。この問題は、マルチクラウド戦略で利用するベンダーの間だけでなく、クラウドと自社内のデータセンターの間にも存在する。ホスティングの境界を越えてフェイルオーバーやスケーラビリティを実現できないのはその一例だ。
併せて読みたいお薦め記事
マルチクラウドを夢見る管理者に
マルチクラウドの導入ハードルとは
互換性問題の解決
Webサービスの互換性問題は2種類ある。1つは、複数のベンダーが本質的に同じサービスを提供しているものの、APIが異なっている場合である。これは比較的小さな問題だ。面倒だが、アプリケーション全体のアーキテクチャには影響しないため、回避するのはそう難しくない。
もう1つの問題はより厄介で、クラウドベンダーがサービスをそれぞれ独自に構築している場合だ。最初の問題のように、API呼び出しを変更するだけではなく、アプリケーション設計全体の変更が必要となることもある。
さて、互換性の問題をどう回避すればよいのだろうか。解決策は3つある。
1.クラウドバースト、フェイルオーバーに備えたアプリケーションコンポーネントの分離
クラウドバーストまたはフェイルオーバーが起きると予想できるようなアプリケーションコンポーネントは、複数のクラウドに分離し、Webサービスを統合しないようにする必要がある。これが問題となる理由は、アプリケーションのフロントエンドコンポーネントにはWebサービスを使用するのが一般的なためだ。しかし、マルチクラウド化を推進するアプリケーションでは、Webサービスに依存する部分をポータブルまたはスケーラブルにすることは難しい。
2.ベンダー固有のWebサービス利用を回避
第2の選択肢は、クラウドベンダーのWebサービスより優れている、互換性が高くて一般的な業界標準ミドルウェアを利用することだ。例えば、パブリッククラウドサービスのほとんどでホスティング可能な、互換性のあるサードパーティー製品やオープンソース製品がある。ただし、これらの製品がクラウドインフラと必ずしも密に統合できるとは限らないため、スケーラブルなWebフロントエンドやデータベースなど独自のアーキテクチャモデルを開発する必要がある。
この方法を選択する場合は、オープンソースクラウドとコンテナ技術を慎重に評価し、「OpenStack」「Kubernetes」「Apache Mesos」「Marathon」のパッケージ化された実装を使用してオープンなWebサービスツールキットを構築できるかどうかを確認する。仮にパッケージに必要なものが全て含まれていない場合でも、マルチクラウド戦略のための普遍的なホスティングフレームワークとしては役に立つ。
3.アダプターの利用
最後の選択肢は、Webサービスの周辺機能としてアダプターを開発し、各アプリケーションと互換性を持たせる方法だ。同様のWebサービスを提供する複数のパブリッククラウドベンダーを、異なるAPIを使って利用する場合、アダプターパターン(互換性のないインタフェースを持つクラス同士を適合させるデザインパターン)を使用することにより、複数のAPIをアプリケーションが使用できる単一の共通APIに変換できる。
ベンダーとベンダーのWebサービスの相違点がAPIとデータモデルのみの場合、これは比較的容易だ。しかし、Webサービスにアーキテクチャの相違点がある場合は、それらを抽象化して、共通するアダプターのAPIで完全に表現できるようにする必要がある。設計する前に、特定の機能に関連付けられている全てのWebサービスAPIの詳細を確認することが重要だ。
マルチクラウド戦略における互換性問題を最小限にする3つの戦略には、それぞれ適した対象がある。大企業ではこれら3つの戦略全てを利用する必要があるかもしれない。しかし長期的に見れば、第3の選択肢が最善のアプローチである可能性が高い。クラウドベンダー間の競争は激化しており、各ベンダーが将来をどのように見ているかによって、Webサービス間の格差は次第に広がっていく。その格差を超える最も標準的な手法があれば、その手法こそが市場で普及するだろう。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[o9ソリューションズ・ジャパン株式会社] 「改正物流効率化法対策」徹底解説 総物流費を抑制するサプライチェーン戦略 -
製品資料
[o9ソリューションズ・ジャパン株式会社] 「サプライチェーン最適化」実践ガイド:効果的な意思決定を実現する秘訣とは? -
製品資料
[株式会社リンプレス] 非デジタル/IT人材を「自走するDX推進者」に変えるための育成ロードマップ -
市場調査・トレンド
[ワンアイルコンサルティング株式会社] AI時代の組織設計:「判断と責任」を人に残すための2つの原則とは? -
技術文書・技術解説
[ワンアイルコンサルティング株式会社] システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「完璧な設計」なのに3000万円溶けた AWSの失敗事例から学ぶ3つの教訓
-
2
パナソニックが国内製造26拠点のERPを「SAP S/4HANA」に統一 アドオン7割削減
-
3
「AIバブル」は崩壊するのか? 熱狂の後に来る“尻拭い”と4つの防衛策
-
4
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
5
守るべきは「開発者のフロー状態」 AIによる生産性改善の6施策
-
6
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
7
「データストレージの活用方法」に関するアンケート
-
8
全社標準「Copilot」にダメ出し? 現場の8割が不満を抱く“致命的な欠点”
-
9
「企業内サーバ環境の利用実態」に関するアンケート
-
10
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
ホワイトペーパーランキング 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ジャパンをフォロー