多くの場合、組織はマイクロサービスをAWSやAzureなどのプラットフォーム上で稼働させようとします。しかし、パブリッククラウドでは提供できないパフォーマンスやグローバル展開などを必要とする場合や、オープンクラウド環境では利用できないカスタム機能を必要とする非常に限定的な用途もあります。
こうした課題をどう乗り越えればよいのでしょうか。プライベートクラウドを自社で構築する方法もありますが、その場合は運用や保守に対応しなければなりません。あるいは、ハイブリッドクラウドを利用することもできます。これにより、柔軟性の向上、コスト管理の改善、ディザスタリカバリ計画の簡素化が可能になります。
ハイブリッドクラウドアーキテクチャのソリューションを利用すれば、すべてを自社で管理することなく、パブリックおよびプライベートのインフラストラクチャーを活用できます。ただし、ITに関する多くの事柄と同様、ここにも万能なアプローチはありません。
関連記事:AIでクラウド管理を改善する9つの方法
ハイブリッドクラウドアーキテクチャとは?
ハイブリッドクラウドとは、基本的に2つ以上の異なるクラウドコンピューティング環境を統合し、企業の生産性と拡張性を高めるものです。ハイブリッドクラウドモデルを利用する企業は、オンプレミスのハードウェア、パブリッククラウド、サードパーティーのクラウド間で、サービスを中断することなくワークロードを迅速に移動できます。
また、いずれかのデータセンターに障害が発生しても、ITチームはアプリケーションをオンライン状態に維持できます。こうした利点から、企業は他のモデルよりもハイブリッドクラウドアーキテクチャを採用するようになっています。
例えば、従来のモノリシックなクラウドアーキテクチャでは、すべてのリソースが1か所に集中しています。事業を拡大したり、インフラストラクチャーをスケールアップしたりするには、新しいサーバーを導入し、新しいストレージシステムを構築する必要があり、コストも時間もかかります。
サービスメッシュとは?
サービスメッシュとは、マイクロサービス間のトラフィックのルーティング、監視、管理を行うサービス群です。これは、大規模なスケーリングを含む、今日のITにおける最大の課題を解決するために必要とされる、新しい方法論、アーキテクチャ、ソフトウェアツールの1つです。
サービスメッシュは、アプリケーションの可用性とパフォーマンスを高く保つのに役立つため、クラウド環境へのデプロイで成果を上げています。サービスメッシュは、アプリケーションと、ロードバランサーやファイアウォール、データベースなどの基盤インフラストラクチャーコンポーネントとの間に位置します。これらのコンポーネントとアプリケーションの間に抽象化レイヤーを提供するため、各コンポーネントを個別に設定するのではなく、1つのインターフェースから管理でき、運用が容易になります。
関連記事:主要なマネージドサービスプロバイダー
マルチクラウドサービスメッシュとは?
マルチクラウドサービスメッシュは、異なるクラウドプロバイダー上で稼働するアプリケーション間のトラフィックをルーティングする集中管理方式です。このメッシュにより、マイクロサービスがどこに、どのような組み合わせでデプロイされているかにかかわらず、相互に通信できます。
マルチクラウドサービスメッシュは、開発者がアプリケーション全体だけを意識し、どこで稼働しているかを意識せずに済む抽象化レイヤーを提供します。ITプロフェッショナルにとっては、サービス間の多数の個別ポイントツーポイント接続を管理せずに、ハイブリッドクラウドアーキテクチャを構築しやすくなります。
サービスメッシュはハイブリッドクラウドアーキテクチャとどのように連携するか
サービスメッシュとは、ハイブリッドクラウドアーキテクチャに不可欠なデータ転送レイヤー上に構築された、インテリジェントなルーティングや監視機能など、リアルタイムのツール群です。物理インフラストラクチャーの一部にとどまらず、Kubernetes環境のコンテナやベアメタルサーバーとも連携します。
複数のサイトに分散したマイクロサービス間の通信を管理し、データベースやキャッシュなどのステートフルなリソースを調整して、障害に対するデータの耐障害性を高めます。ただし、ハイブリッドクラウドアーキテクチャ内で運用する場合、システム内のすべてのサービスを把握し続けることは困難です。
さらに、追加のキャパシティーが必要になった場合や別のコンポーネントに障害が発生した場合、各コンポーネントを個別に特定して対処しなければならないため、トラブルシューティングに時間がかかることがあります。サービスメッシュを使えば、クラスターで稼働するすべてのサービスを可視化できます。これにより、ITチームは問題を特定し、エンドユーザーに影響が及ぶ前に解決できます。
ハイブリッドクラウドアーキテクチャにサービスメッシュを実装するには?
サービスメッシュは、ハイブリッドクラウドアーキテクチャ上に実装します。社内のプライベートデータセンターとインフラストラクチャー・アズ・ア・サービス(IaaS)プロバイダーの双方にある仮想マシン(VM)上で、ネットワークサービスのコンポーネントを実行します。
システムのアーキテクチャ設計によっては、VMを複数のIaaSプロバイダー間で複製したり、企業のITインフラストラクチャー内にある複数のデータセンター間で複製したりできます。
サービスメッシュを利用する利点の1つは、アプリケーション間のトラフィックをセグメント化してセキュリティーを高められることです。これにより、単一障害点を減らし、可用性を向上できます。例えば、ハードウェア障害などが原因で1台のVMが停止したとします。その場合でも、同じクラスター内の他のVMまで停止するかどうかを心配する必要はありません。それぞれが固有のIPアドレスとインスタンスを持つ独立したエンティティーだからです。
アプリケーションが稼働し続ける限り、サービスメッシュも稼働します。また、各インスタンスは冗長化のために個別に設定されるため、すべてが同時に障害を起こす可能性は低くなります。
ハイブリッドクラウドアーキテクチャを利用すれば、需要に応じたリソースのデプロイをより柔軟に行えます。例えば、ピーク時にあるリージョンのサーバーへアクセスするユーザーが急増しても、リソースを長距離にわたって転送する必要を気にせず、迅速にスケールアップできます。
関連記事:クラウドコストを最適化する9つの戦略
サービスメッシュのメリットとは?
ハイブリッドクラウド(マルチクラウド)を利用すると、企業はオンプレミスのITインフラストラクチャーとパブリッククラウドプロバイダーを組み合わせられます。このアーキテクチャにより、次のことが可能になります。
- コストを管理する。
- クラウドロックインのリスクを軽減する。
- 俊敏性によってイノベーションを加速する。
- クラウド間でワークロードを移動し、運用オーバーヘッドを削減する。
ハイブリッドクラウドサービスメッシュは、ハイブリッドまたはマルチクラウド環境にあるサービスに、サービスディスカバリー、ルーティング、ロードバランシングを提供します。特に、複数のパブリッククラウドプロバイダーにまたがってデプロイされるアプリケーションに適しています。アプリケーションの変更や設定の更新を行わなくても、異なる環境間でトラフィックが円滑に流れるよう支援するためです。
ハイブリッド環境やマルチクラウド環境の管理に伴う一般的な課題を一部回避しながら、上記の多くのメリットを企業が享受できるようにします。
サービスメッシュのデメリットとは?
ハイブリッド環境におけるすべてのリスクを排除することはできません。特定の環境に固有のリスク(物理的な場所など)がある一方、異なるベンダーのインフラストラクチャーをまたいで作業する必要がある場合に発生するリスクもあります。例えば、ハイブリッドクラウドアーキテクチャを利用する場合、データをバックアップし、リージョン間で複製する戦略を用意することが重要です。
そのための自動化された方法がなければ、あるリージョンが停止したり、障害や災害によってアクセス不能になったりした場合、ビジネスが危険にさらされる可能性があります。また、どのアプリケーションやワークロードが稼働しているかを把握しておくことも重要です。例えば、ワークロードがオンプレミスにあるにもかかわらず、パブリッククラウドでホストされている他のサービスへのアクセスを必要とする状況は避けたいものです。
適切なネットワーク接続がなければ、サービスは本来の形で相互に通信できません。さらに、一部のハイブリッド環境では、アダプターやゲートウェイなどの追加ソフトウェアコンポーネントが必要になります。これらが複雑性を高め、システムにセキュリティー上の脆弱性をもたらす可能性があります。
サービスメッシュアーキテクチャを使ったハイブリッドマルチクラウドの導入
クラウドサービスの台頭により、企業は新たな段階へと進みました。しかし、俊敏性と柔軟性が高まる一方で、複雑性も増しています。企業は、効率性を高め、リアルタイムのインサイトを獲得し、顧客により優れた総合的な体験を提供するため、ハイブリッドマルチクラウドアーキテクチャを採用するようになっています。
サービスメッシュアーキテクチャを使ってハイブリッドマルチクラウドを導入すれば、複数のリージョンやアプリケーションにわたって顧客の期待に応えられます。同時に、需要に応じてITリソースをスケールアップまたはスケールダウンすることも可能です。サービスメッシュアーキテクチャを導入すれば、パフォーマンスや可用性を損なうことなく、開発・テスト用と本番用のワークロードにハイブリッドマルチクラウド環境を活用できます。