基本的なレベルでは、これはオンプレミスのデータセンターでレガシー・アプリケーションをホストする企業が、パブリッククラウド・サービスでいくつかのAPIを呼び出すだけのことです。ただし、この基本的な実装は、ハイブリッドクラウド・インフラストラクチャーの最適な主力ユースケースではありません。
ハイブリッドクラウドの潜在能力を最大限に引き出すには、クラウドをInfrastructure-as-a-Service(IaaS)、Platform-as-a-Service(PaaS)、Software-as-a-Service(SaaS)機能に活用し、オンプレミス、プライベートクラウドとパブリッククラウド、エッジ環境の組み合わせでアプリケーションをホストし、ロックインのないマルチクラウド・アプローチの柔軟性を確保する必要があります。設計パターンと考慮すべき主な要素を理解することは、このようなハイブリッドクラウド・アーキテクチャーの設計に伴う複雑さを解消するのに役立ちます。
近年のハイブリッドクラウド・アプローチでは、一部のサービスをオンプレミス・インフラストラクチャーからパブリッククラウドまたはプライベートクラウドに移行することが一般的で、これらのサービスは相互に通信します。新しいアプリケーションがパブリッククラウドでホストされるように構築された場合でも、従来のサービス指向アーキテクチャー(SOA)に準拠していました。
しかし現在では、マイクロサービス・ベースのアーキテクチャーがハイブリッドクラウド・モデルの中核をなしています。マイクロサービスとは、アプリケーションを小さなコンポーネントまたはサービスに分割して簡単にデプロイメントできるようにするアプローチです。これらのマイクロサービスは、独自の技術スタックを持ち、マイクロサービスとその依存ライブラリーを含む軽量の実行可能ファイルであるコンテナにデプロイされているという点で、SOAのサービスとは異なります。
コンテナはマシンのオペレーティング・システム(OS)カーネルを共有するため軽量であり、各コンテナにはマイクロサービスとその依存関係のみが保持されます。すべてのOSの依存関係は、コンテナが存在するハードウェアから共有されます。この仮想化により、マイクロサービスをオンプレミスまたはクラウド環境に独立してデプロイできるようになります。また、マイクロサービスはその自己完結性によってSOAとは大きく異なるもので、クラウド・リソースを最適化するための弾力性と柔軟性が最も重要となるクラウド・デプロイメントにより適しています。
あらゆる環境でプロセスを分離するためのパッケージ・モデルとしてのコンテナ化は、新しい概念ではありませんが、2013年にコンテナ・エンジンとしてDockerが登場したことで、汎用的なパッケージ構造が生まれました。さらに、Kubernetesのようなコンテナ・オーケストレーション・プラットフォームは、ハイブリッドクラウド環境全体にわたってDockerやOpen Container Initiative(OCI)標準に準拠するその他のコンテナのデプロイメントを自動化します。
コンテナ化の出現により、ハイブリッドクラウドのメリットを真に活用できるようになり、ワークロードの容易な移植性と、選択したクラウド環境でのサービスの自動デプロイメントに焦点が移りました。
数年前、ハイブリッドクラウド・アーキテクチャーに関する議論では、各ワークロードをどのクラウド環境またはオンプレミス環境で実行すべきか、そしてこれらの異なる環境を相互に通信させるにはどうすればよいかが、話題の中心でした。基本的には、ホスティングの場所と物理的な接続が依然として大きな考慮事項でした。
例えば、機密データを扱うアプリケーションはプライベートクラウド上でホストされます。あるいは、モダナイズが困難なレガシー・アプリはオンプレミスに存在し続けることになります。一方、組織は拡張性を必要とするアプリをパブリッククラウド環境にリフト・アンド・シフトします。次に、仮想プライベート・ネットワーク(VPN)トンネルやメッセージ・ストリームなどのチャネルを確立し、環境間の通信を促進します。
これらは依然として考慮すべき重要な要素ですが、コンテナ化のパラダイムにより、焦点は物理的な場所と接続から、ある環境から別の環境にワークロードをシームレスに移動する柔軟性に移行しました。したがって、アプリケーションをプライベートクラウドでホストするかパブリッククラウドでホストするかは、厳格に決定する必要はありません。この戦略が機能しない場合、コンテナとしてパッケージ化されたワークロードを環境間で移動したり、スケールアップやスケールダウンしたり、異なる環境で同じサービスのインスタンスを実行したりすることも簡単です。
こうしたすべての結果、高い性能、リソース効率、コスト削減を実現する、最新の可用性と柔軟性に優れたアーキテクチャーが実現しました。
ハイブリッドクラウド・アーキテクチャーの設計と実装では、企業のビジネス目標、現在の技術的環境、デジタル・トランスフォーメーションの目標、セキュリティーの考慮事項など、多くの要因を考慮する必要があります。複数のハイブリッドクラウド・ソリューションを備えたこのようなアーキテクチャーはすぐに複雑になる可能性があるため、運用ツールを活用して、一元化されたシームレスでスケーラブルなクラウド管理を実現することが重要です。ここでは、ハイブリッドクラウド戦略を策定する際に考慮すべき要素をいくつか紹介します。
ほとんどの組織にとって、ハイブリッドクラウド・コンピューティングのアイデアは、アプリケーションのモダナイゼーション、つまりオンプレミスからクラウドへの移行から始まります。これを実行するにはいくつかの方法があります。
エンタープライズ運用チームは、環境全体で一貫性のあるクラウド運用エクスペリエンスを提供する統合コントロール・プレーンを通じてクラウド環境を管理します。これは、ワークロードのスケジュール作成とオーケストレーション、継続的インテグレーションとデプロイメント(CI/CD)パイプライン、ロギング、テレメトリー、フェデレーション・セキュリティーなどのコア・クラスター管理機能をサポートします。
目標は、個々のクラウド・サービス・プロバイダー(CSP)とランタイムの基盤となる複雑さをアプリケーション・チームから抽象化し、運用チームが企業内のワークロードを管理するための共通のインターフェースを提供することです。
統合コントロール・プレーンの利点のいくつかを次に示します。
集中型APIゲートウェイやサービス・メッシュなどのアーキテクチャー・パターンにより、ルーティング、サービス間通信、セキュリティー、レート制限、オブザーバビリティーなどのクラウド機能を透過的に管理できるようになります。
APIゲートウェイは、すべてのリージョンにまたがる統一されたフロント・ドアとして機能し、以下を含む「North-South」トラフィック機能を処理します。
一方、サービス・メッシュは、サービス依存関係間の「East-West」トラフィックを処理します。
例えば、Istioは、クラウド管理者によって提供される定義済みの構成に従ってサービス間の通信を制御する、オープンソースのサービスメッシュ・レイヤーです。Kubernetesオーケストレーション層のサイドカーとして機能し、プログラマーや管理者には見えない形でコンテナと連携して動作します。
ハイブリッドクラウド・アーキテクチャーの複雑さには、エンドツーエンドのセキュリティーと保護を確保するために、さまざまな層での多層アプローチが必要です。
IBM Cloud、Amazon Web Services(AWS)、Microsoft Azure、Google CloudなどのCSPは、サービス・レベル契約(SLA)ごとに、境界層でのすべての呼び出しを認証・承認する責任を負い、エンタープライズ・アプリケーションの周囲にファイアウォールを構築します。これには、サービス拒否からの保護や、一般データ保護規則(GDPR)や医療保険の相互運用性と説明責任に関する法律(HIPAA法)などのプライバシー規制の遵守が含まれます。
オンプレミスのインフラストラクチャーでは、すべてのAPIエンドポイントを保護するAPIゲートウェイを使用して境界セキュリティーを実現できます。データセンターの外にあるWebサービスまたはモバイル・アプリケーションからの呼び出しはすべて、APIゲートウェイを介して検証およびルーティングする必要があります。
クラウド・コンピューティング環境には、サービス・メッシュで定義された制御ポリシーと、オーケストレーション・プラットフォームによって公開されるAPIの形で、追加のセキュリティー層が含まれています。これらのポリシーにより、安全な呼び出しのみがKubernetesノードに転送され、さらにそこからマイクロサービスに転送されるようになります。
また、環境を異なる論理セキュリティー・セグメントに分割して、各サービスとワークロードのアクセス制御ポリシーを定義するマイクロ・セグメンテーションの概念を使用して、環境内で実行されるサービス間のセキュリティー・レベルを構築し、区切ることができます。最後に、暗号化ポリシーは、追加のデータ保護層として機能します。
単一のクラウド・リージョンでは、アベイラビリティー・ゾーンにはネットワーク内のすべてのノードを接続する専用のファイバー・ネットワークがあるため、企業は帯域幅が無制限でネットワークレイテンシーが低い高可用性アーキテクチャーを構築できます。ただし、リージョン間や複数のクラウド・プロバイダー間の通信はパブリック・インターネットを介してルーティングされるため、高遅延と潜在的な障害という代償を伴います。
ハイブリッドクラウド・アーキテクチャーでは、基盤となるプロバイダー間でのデータ交換には次の3つのパターンがあります。
これらのオプションは転送速度、レイテンシー、信頼性、SLA、複雑さ、料金体系の点で異なるため、ネットワーク接続層を設計する前に制約とメリットを比較検討することが重要です。
ハイブリッドクラウドとは、ワークロードをある環境から別の環境に移行でき、任意のクラウド上で動作するアプリケーション開発プラットフォームを利用できることを意味します。真にクラウドネイティブであるためには、特定のテクノロジー、プラットフォーム、さらにはCSPに強く依存することなく、企業が市場の変化に柔軟に対応できる必要があります。
オープンソース・アーキテクチャーによってこの統一された開発アプローチが可能になり、その実装に使用されるテクノロジーに関係なく、開発者が基盤となるインフラストラクチャーを管理できるようになります。オープンソースはもはや、費用対効果のためにそれを使用するニッチで独占的なオーディエンスが存在するわけではありません。その豊富な機能と品質、コミュニティー・ベースの開発により、現在では主流となり、中心的な役割を担っています。
Red Hatの「The State of Enterprise Open Source」レポートによると、セキュリティーのような繊細な分野においても、オープンソース・ソフトウェアは優れた選択肢として認識されています。企業がオープンソースに対して意識的なバイアスを示す最大の理由は、クラウドネイティブ・アーキテクチャーのセキュリティー、品質、サポートです。
詳細については、JJ Asghar氏の記事「Cultivating Careers, Communities and Companies with Open Source(オープンソースでのキャリア、コミュニティー、企業の育成)」をご覧ください。
IBM Cloud ハイブリッド・クラウド・ソリューションは、アプリケーションとデータの両方に柔軟性と移植性を提供します。Linux、Kubernetes、コンテナはハイブリッドクラウドスタックをサポートし、Red Hat OpenShift と組み合わせることで、オンプレミスとクラウドのリソースを接続する共通のプラットフォームを構築できます。
IBM Cloudで構築されたハイブリッドクラウド・ソリューションの詳細をご覧ください。
独自のハイブリッドクラウド・ソリューションの構築を開始するには、IBMidにサインアップしてIBM Cloudアカウントを作成してください。
フルマネージドRed Hat OpenShiftプラットフォームをぜひお試しください。ニーズに合わせたスケーラブルで安全なソリューションにより、開発とデプロイメントのプロセスを加速できます。
拡張性、モダナイゼーション、シームレスな統合をITインフラストラクチャー全体にわたって最適化するように構築されたIBMのハイブリッドクラウド・ソリューションで、デジタル・トランスフォーメーションを合理化しましょう。
IBMのクラウド・コンサルティング・サービスで新しい機能にアクセスし、ビジネスの俊敏性を高めましょう。ハイブリッドクラウド戦略や専門家とのパートナーシップを通じて、ソリューションを共創し、デジタル・トランスフォーメーションを加速させ、パフォーマンスを最適化する方法をご覧ください。