フォーム読み込み中
2022年11月18日掲載
Alibaba Cloud ACK Oneを使って、ハイブリッドクラウド・マルチクラウドを実現してみました。本記事はその前編記事になります。
現在、日本市場ではAmazon Web Service、Microsoft Azure、Google Cloud、IBM Cloud、Oracle Cloud Infrastructure、Alibaba Cloudなど、インフラ基盤のクラウドベンダーが激戦区となっています。加えて、日本国内の30%近くはまだオンプレミスです。
ここに、いくつかの『もしもの話』があります。
全て夢物語のように聞こえますが、実はこれを実現するプロダクトサービスがいくつか実在しています。例えば、Google CloudのAnthos、RedHad のOpenShift、など、、そしてAlibaba Cloudからこれを実現するACK Oneプロダクトサービスが新たに登場したので、今回はこれを紹介します。
なお、ここでいうハイブリッド・マルチクラウドの定義は、“複数の Public Cloud やオンプレミスと組み合わせて、一元化したサービス基盤(共通基盤)として運用すること” を指します。
本記事はAlibaba Cloud ACK Oneで始めるハイブリッドクラウド・マルチクラウド記事の前編になります。後編記事もあわせてご覧下さい。
そもそも、なぜハイブリッドクラウド・マルチクラウドの考えが出たのか、これらはいくつかの所説がありますので、ここは著者なりの解釈をしてみます。
所説1 開発経緯
所説2 要件・ケイパビリティ
所説3 高可用性
所説4 マイクロサービス
所説5 契約上の制約
所説6 時代の変化
所説はさまざまですが、今のところ、クラウド・オンプレミス上のさまざまな課題を解決するために、ハイブリッド・マルチクラウドという選択肢が出来たこともまた事実です。
ハイブリッドクラウド・マルチクラウドアプローチとして、さまざまなアプローチがあり、著者が把握する限り、大きく2種類に分けられています。
ソフトバンクが提供するソリューションの一環に、SD-WANというネットワークサービスがあり、これを使ってハイブリッドクラウド・マルチクラウドを実現することができます。
また、OnePortという、オンプレミスやデータセンターとパブリッククラウドをシームレスに接続するネットワークサービスもあります。
このようなSD-WANやOnePortなどによるネットワークサービスによる異種クラウドやクラウドとオンプレミス接続アプローチがあります。これは基本的にそれぞれのインフラストラクチャやシステムが各環境上で完結した状態で接続・配置するアプローチになります。
上記、ネットワークプロダクトサービスを使ってそれぞれのインフラストラクチャやシステムを連結するパターンを紹介していますが、このパターンであれば、それぞれの環境上における各種作業を伴うため、運用保守や学習コストが生じてしまいます。統一された操作環境ではないため、構成や設定の自動化もできず、あまり生産的ではないです。このような異なる環境上でも、同じ構成や条件でアプリケーションをデプロイ・実行する方法があります。その方法がコンテナ・Kubernetesによるアプローチです。
Kubernetesであれば、異なるクラウドやオンプレミスでも、共通の手順で操作することができるため、クラウド・オンプレミス間の環境差分を吸収して、開発や運用の複雑化を抑制することが出来ます。
では、そのKubernetesの基盤となるインフラストラクチャが複数環境あり、それを連結しKubernetesを一貫サポートしながらフルマネージド運用するためにはどのような方法があるのでしょうか。その回答としてコンテナ管理プラットフォームで複数環境をサポートする方法があります。例えば、Google CloudならAnthos、Redhad OpenShift、OSSならRancher、Alibaba CloudならACK Oneなどです。今回はそのACK Oneを紹介します。
ACK Oneはフルマネージド型KubernetesのACKをベースとしながら、ハイブリッド・マルチクラウド 環境を提供し、一貫したアプリケーション環境や境界のないコンピューティング環境を実現する分散クラウドコンテナプラットフォームです。
ACK Oneは他のクラウド・オンプレミスでもKubernetesがあれば、ACK Oneに対象の Kubernetes クラスタを登録するだけで、他のクラウド・オンプレミスでもAlibaba Cloudのフルマネージド型Kubernetesサービス ACK(Alibaba Cloud Container Service for Kubernetes)をベースとしながら操作をすることができます。
Alibaba Cloud ACK Oneプロダクトサービスは次の機能を備えています。
一貫した管理
ACK Oneでは、クラウド、エッジ、データセンターに展開されたKubernetesクラスタを一元的に管理することができます。これにより、Alibaba Cloud標準のベストプラクティスに基づき、異なる環境でクラウドネイティブアプリケーションを管理する際、一貫したユーザエクスペリエンスを実現します。セキュリティ対策やコスト削減計画も一元的に実施できます。
自律で自動スケジューリング
ACK Oneでは、複数環境のシナリオにおいて、異なるテナントに対するジョブやジョブクォータのスケジューリングと分配を一元的に管理できます。これにより、リソースの利用率が向上し、異なる地域の異種データソース間でのデータ交換が可能になり、AIコンピューティングやビッグデータコンピューティングが加速されます。
データのバックアップとディザスターリカバリー
ACK Oneでは、データのバックアップ、リストア、移行を行うことができます。これにより、地域をまたいだクラスタの冗長化が可能となり、アクティブ・アクティブ・アプリケーション・アーキテクチャに基づくサービス継続性が確保されます。
セキュリティとコンプライアンス
ACK Oneは、ハイブリッドクラウドやマルチクラスターシナリオのアプリケーションに対してセキュリティポリシーを提供します。ACK Oneは、設定リスクやセキュリティの脆弱性を検出するための検査を実施します。
アプリケーション配信
ACK Oneは、地域やクラスタにまたがってアプリケーションを展開できる分散型アプリケーション配信システムを提供します。これにより、全地域で最も近いアクセスポイントからアプリケーションにアクセスすることができます。
トラフィック管理
ACK Oneでは、マルチクラスタおよびマルチリージョンシナリオにおいて、Alibaba Cloud標準のベストプラクティスに基づき、南北および東西のトラフィックを管理することが可能です。また、ACK Oneは、マイクロサービスへのトラフィックを管理するASM(Managed Service Mesh)モジュールも提供します。この機能は、Istioと互換性があります。
マーケットプレイス
この機能は、ACK Oneによって検証されたAlibaba Cloudサービスおよびクラウドネイティブコンポーネントを提供します。数回のクリックで、サービスやコンポーネントをリージョンやクラスターに導入できます。
ACK Oneは、現状下記四つのリージョンで利用することができます(2022年10月28日時点)
中国(香港)、シンガポール、インドネシア(ジャカルタ)、日本(東京リージョン)
ACK Oneはマルチクラスタ管理機能によって複数のMaster Instanceをサポートできるため、AWSやGCP、オンプレミス、他のAlibabaCloudアカウントなど複数の異なる環境にデプロイされたKubernetesクラスタをACK Oneで集約管理することが可能です。
ACK Oneに外部の Kubernetes クラスタを登録するだけで、Alibaba Cloud LogServiceおよびARMS、Prometeus、CloudMonitorなどで外部 Kubernetes クラスタのObservability運用を行うことが出来ます。負荷監視やイベント通知等、有事の際は迅速に「なぜそれが起きたのか」原因の深堀やNext Actionに結びつけるといった取り組みができます。
ACK OneはARMS Prometheus経由で外部 Kubernetes クラスタを含め全てのクラスタのコスト監視や管理、リソースがかかっている箇所などをリアルタイム可視化することが出来ます。
Cluster cost analysis
総じて、ACK Oneはハイブリッドクラウド・マルチクラウド接続が出来た「その先」を見据えて、ワークロードを全て統一管理・操作・運用したり、負荷監視やコストの見える化を実現することが出来ます。
ここでよくある質問なのが、「ハイブリッドクラウド・マルチクラウドはネットワーク接続のみ」でいいのでは?という疑問です。これらについて回答します。
上記説明していますが、異なる環境間をネットワーク連結・転送だけでは解決できないさまざまな課題があります。例えば、異なる環境間をネットワーク連結・転送したのち、それぞれの異なる環境をそれぞれ操作・監視したりスケーリング調整やコスト管理するのは苦労しますよね?それを現実的に解決するために、ACK Oneを使うという選択肢があります。
ACK Oneによって、異なる環境を統一で操作・運用・監視・管理したり、自動スケーリングや自動フェイルオーバー、自動バックアップ、コストの可視化ができるのは非常に大きいですね。
ACK Oneによって解決できることは多種多様とあります。ここでは1つのケースを説明します。
例えば、今使っているサービスがオンプレミスで、1つの巨大なモノリシックサービスだった場合とします。このサービスだと、「スケーリングが困難」「事業に応じて開発スピードが遅くなってしまう」「機械学習など新しい取り組みをしたくても、サービス分離が困難なことやサンクコストが発生してしまう」「分析基盤を構築したいが、余裕がない」などの問題があると思います。
この課題に対し、ACK OneおよびACKがあれば、これらの問題を解決することができます。
流れとして、次のStep-by-stepで進めます。
Step1:オンプレミス環境にて、コンテナ基盤として Kubernetes を導入します。既存サービス基盤はDockerfileによるコンテナイメージ化し、deployment.yaml ファイルを用意しながら、Kubernetes クラスタへスライドします。Kubernetes はOSSであり、無料です。
Step2:Alibaba Cloudアカウントを準備し、Alibaba Cloudのフルマネージド型KubernetesのACK、およびACK Oneを用意します。
Step3:事前にVPN Gateway、もしくはCloud Enterprise Networkを使って、オンプレミスとAlibaba Cloudリソースが接続できるようになったら、オンプレミスの Kubernetes クラスタをACK Oneへ登録します。これにより、Alibaba Cloud側でオンプレミスの Kubernetes クラスタを管理することができるようになります。
Step4:ACK Oneで Alibaba CloudのACKとオンプレミスのKubernetesクラスタをAMCというAlibabaが開発したkubectlコマンドラインツールで相互管理・運用することができるようになったので、この利点を次の通りに活かすことができます。
オンプレミス側のHWら物理リソースが不足している状況でも、Kubernetesクラスタを簡単に追加し、Alibaba cloudのサービスと統合しながら自動スケーリングしたり、データ分析や機械学習、新機能実装など開発スピードを落とさずに新しい取り組みできるのは非常に大きいですね。そのまま、IstioによるBlue/Greenルーティング制御によるデプロイ構成を付け加えたり、HTTP Headerによるルーティング、API GatewayをKongにしながら認証設定をしたりすることも出来ますし、総じてACK Oneによって開発・運用工数を抑えつつ、既存構成からの脱却・進化を図ることができます。
その他、ACK Oneによって解決できるケースでその他の説明は【後編】にて紹介しています。こちらも良かったら参考にしてみてください。
Alibaba Cloud ACK OneはKubernetesであれば、どのプラットフォームでも連携し、複数の異なる環境を統一で操作・運用・監視・管理することができます。そのうえ、異なる環境間でもリソースバランスを司りつつ自動スケーリングや、障害時は自動フェイルオーバー、自動バックアップ、コストの可視化ができるため、さまざまな新しい選択肢が生じます。現在ベータ版として無料利用することができるため、気になる方はお試しいただければ幸いです、コンソールを数回クリックするだけですぐにハイブリッドクラウド・マルチクラウドを実現することができます。
Special Thanks Bob.
条件に該当するページがございません