クラウド エコシステムを正常に機能させて、アプリケーションをモダナイズする
Takayuki Yorikane
Application Modernization Specialist, Google Cloud Japan
Google Cloud が提供する、GKE を基盤とした Anthos がリリースされたのは、今から約 1 年半前となる 2019 年 6 月です。我々は、これまでに 5 度のマイナー アップグレードを含め、多くの機能のリリースと改善を行ってきました。これらのリリースには、Google Cloud での機能提供だけでなく、様々な環境のサポートも含まれています。
Anthos サポート環境の軌跡
これまでの Anthos がサポートする環境を振り返ってみると、以下のようになります。
2019 年 6 月
ハイブリッド Kubernetes 基盤となる、GKE On-Prem が GA
2020 年 7 月
マルチクラウド Kubernetes 基盤となる、GKE on AWS が GA
2020 年 8 月
他社のマネージド Kubernetes 環境で Anthos の機能を利用できる Anthos attached clusters(Amazon EKS、Azure Kubernetes Service をサポート)が開始
2020 年 12 月
ハイパーバイザ レイヤに依存しない、ベアメタル版 Anthos が GA
最初に GKE On-Prem がリリースされ、Google Cloud とオンプレミス環境の両方で GKE 基盤を構築できるようになりました。これにより、クラウド移行の準備として、オンプレミス環境でアプリケーションのモダナイズを進めることができるだけでなく、クラウドへ移行することだけを正とするのではなく、オンプレミス環境を活用した企業戦略も選択することができます。
そして今年の春に GKE on AWS の発表がありました。多くのお客様が Google Cloud と他社クラウドの両方を利用されていますが、Kubernetes クラスタの運用コストや、バージョンの統一などが運用上の懸念点として考えられます。GKE on AWS は、Google が提供するスクリプトを利用し、Amazon EC2 上に Google マネージドな Kubernetes を構築します。
一元管理してクラスタのバージョンを統一しておくことで、AWS プロダクトと連携したい場合は GKE on AWS クラスタ、Google Cloud プロダクトと連携したい場合は GKE クラスタにアプリケーションを展開する、といったことも柔軟に選択可能です。
Anthos attached clusters は、既に Amazon EKS や Azure Kubernetes Service を運用していて、クラスタの移行が難しい場合に有用です。GKE 以外で稼働する Kubernetes クラスタを Google Cloud へ接続することで、Kubernetes クラスタをコンソールから一元管理できます。また、ポリシー管理、サービス メッシュといった後述する様々な Anthos の機能も利用できます。
最後に、今月一般提供されたベアメタル版 Anthos ですが、GKE On-Prem のように、ハイブリッド クラウドとして利用することが可能です。また、ベアメタル版の特徴として、エッジ環境での利用が挙げられます。先月公開された MLB での活用方法のように、レイテンシを追求するユースケースの場合、同期処理はベアメタル版 Anthos で行い、大規模な分析処理は非同期でクラウドにデータを送って行うような構成が可能です。
Anthos が提供する機能
Anthos の機能の多くは OSS をベースに開発されています。Google Cloud 以外への環境で Google マネージドな基盤や機能を利用できるとともに、OSS を代替機能として採用することも可能となっています。環境に縛られずに最適な機能を選択出来ることで、クラウド エコシステムが正常に機能する、と Google Cloud Infrastructure の Senior Vice President である Urs Hölzle は考えています。
2020 年 12 月現在、Anthos が提供する機能は大きく分けて 10 コンポーネントあり、各機能によってアプリケーションのモダナイゼーションを加速します。
Anthos clusters(Kubernetes 基盤)
Ingress for Anthos(ハイブリッド負荷分散)
Migrate for Anthos(コンテナ マイグレーション)
Multi-cluster management / Connect(マルチクラスタの管理、UI)
Anthos Config Management(ポリシー管理)
Anthos Service Mesh(サービス メッシュ)
Logging and Monitoring(ハイブリッド、マルチクラウドのロギング、監視)
Cloud Run for Anthos(サーバーレス)
Binary Authorization(コンテナ イメージの検証)
Kubernetes apps on Cloud Marketplace(Cloud Marketplace から Anthos clusters へのデプロイ)
さらに、Anthos コンポーネントを利用して、ハイブリッド環境で Google Cloud の AI が利用できる Speech-to-Text On-Prem や、マルチクラウド環境で BigQuery を利用したデータ分析基盤が構築可能な BigQuery Omni などがあります。Anthos が Google Cloud プロダクトと連携することで、既存プロダクトそのものが複数の環境へ展開できます。
Google は OSS の採用や貢献に積極的に取り組んでおり、Anthos が提供する機能についてもこの文化に根付いています。機能を提供するだけでなく、クラウド エコシステムを正常に機能させる最適な選択が、こういったサービス開発に繋がっています。
Anthos でクラスタの運用負荷を軽減する
Kubernetes クラスタの運用で考慮すべき点として、災害復旧(DR)やバージョンのアップグレードがあります。Ingress for Anthos を利用すると、リージョンを跨いだクラスタ間でのトラフィック分散を実現でき、マルチクラスタにおける災害復旧やアップグレードが管理しやすくなります。
災害復旧(DR)
Ingress for Anthos を適用したクラスタは、単一 IP でマルチ リージョンの稼働ができ、一番近い GKE クラスタへトラフィックが流れます。もし、特定のリージョンで障害が起きてしまった場合は、他クラスタへトラフィックを適切にフェイルオーバーするため、サービスの可用性を高めます。
Kubernetes クラスターのアップグレード
Kubernetes は、セキュリティ パッチ適用などのために、定期的にクラスタのアップグレードを行う必要があります。Ingress for Anthos を利用することで、マルチクラスタでトラフィックを分散させることができるため、クラスタのアップグレード時に、片方のクラスタをドレインさせてトラフィックを遮断しつつ、サービスを落とすことなくマルチクラスタのアップグレードを行うことができます。VM ベースのアプリケーションをコンテナ化する
オンプレミス環境や、他社クラウド、または Compute Engine 上で動いている VM ワークロードをコンテナ化し、GKE へ移行するメリットは多くあります。しかし、アプリケーションの中身を変更し、コンテナ化させることが難しいケースもあります。
Migrate for Anthos を利用すれば、アプリケーションの変更をすることなく、VM ワークロードをコンテナ化し、GKE で稼働させることができます。GKE でアプリケーションを稼働させることで、コンテナのスケーリングや、Kubernetes の宣言的な管理ができるなど、VM で行っていた運用をモダナイズすることができます。
Google による研究で得られた知識で、アプリケーションをモダナイズする
Anthos の効果をさらに高めるために、お客様のシステムを診断し、それに沿った形でアプリケーションをモダナイズするプログラムとなる Google CAMP があります。これは、先月行われた Google Cloud Next ‘20: OnAir で発表されました。
Google Cloud の製品の多くは、実際に Google のサービスで培った知識を基に開発されており、Anthos も例外ではありません。Google が実践する、マイクロサービスや SRE を取り入れるための最適な方法が Anthos を使った開発手法となります。
Anthos の機能をお試しください
Anthos は従量課金での利用が出来るため、使った時間だけの支払いに抑えられます。まずは少量のワークロードに対してインストールしてみるのがおすすめです。Google Cloud への Anthos サンプル デプロイについては、Marketplace から簡単にインストール可能です。Google Cloud での利用はもちろんですが、ハイブリッド、マルチクラウド、そしてベアメタル版 Anthos についてもぜひ試してみてください。
また、アプリケーション開発者として Anthos での開発方法を試してみたい場合は、Anthos Developer Sandbox をお試しください。これは、Google アカウントをお持ちの方なら誰でも無料でご利用いただけます。ローカル環境の Kubernetes や Cloud Run Emulator 上でコンテナ アプリケーションを稼働でき、実運用における開発もイメージしやすくなります。
- Application Modernization Specialist, Google Cloud Japan, Takayuki Yorikane