Containers & Kubernetes

Migrate for Anthos でアプリをモダナイズする

GCP Anthos migrate.jpg

※この投稿は米国時間 2019 年 12 月 10 日に、Google Cloud blog に投稿されたものの抄訳です。

 完璧なクラウド環境では、Kubernetes と Istio で実行されるコンテナにすべてのアプリケーションをホストすることで、コンテナのポータビリティやリソース使用率の向上だけでなく、高度なアプリケーション管理、ネットワーク、セキュリティ機能を備えた堅牢なオーケストレーション プラットフォームのメリットを受けられます。新しいアプリケーションを開発している場合にはこれらを簡単に実現できますが、既存のアプリケーションでこうした機能を利用するのは難しいことがあります。

クラウドへの移行対象であるアプリケーションが長年使用されてきた場合は、アプリケーション コードをクラウド ネイティブなものに書き換えるだけの知識を持つ社員がいないことがあります。そうでなくても、書き換えに膨大な時間がかかるため大きな負担を強いられることになるかもしれません。もう一つの方法は、Compute Engine などの仮想マシン(VM)ホスティング プラットフォームにリフト&シフトすることですが、VM を維持する手間はなくなりません。既存のアプリを完全にモダナイズできなくても、コンテナと Kubernetes のメリットが得られるのは長所になります。

Migrate for Anthos とは

Migrate for Anthos を利用すると、既存のアプリケーションをコンテナにカプセル化するサービスによって、アプリケーションを迅速かつ簡単にモダナイズできます。物理サーバーや既存の VM を Kubernetes コンテナに移行すると、基盤となるアプリケーションを書き換えることなく、ポータビリティやリソース使用率の面で大きなメリットが得られます。Migrate for Anthos は Google Kubernetes Engine(GKE)向けに構築されているため、クラウド内のマネージド Kubernetes 環境によるスケーリングと柔軟性のメリットも自動的に受けられます。Migrate for Anthos はこのほど一般公開されました

Migrate for Anthos を使用したアプリケーションの変換は 2 段階で行われます。まず、アプリケーションの汎用コンテナ ラッパーを作成し、完全な VM 環境で実行されているように見せます。次に、Kubernetes クラスタで Migrate for Anthos ソフトウェアを起動し、コンテナ化されたアプリケーションを実行します。詳しくは、こちらのドキュメントMigrate for Anthos による Compute Engine から Kubernetes Engine への移行をご覧ください。

名前が示すとおり、Migrate for Anthos は Anthos GKE で動作します。ただし、GKE 単体で Migrate for Anthos を使用することもできます。必要なのはアプリケーションと、Migrate for Anthos ソフトウェアを実行する GKE クラスタのみです。 

Migrate for Anthos を使ってみる

Migrate for Anthos はさまざまなワークロードで動作しますが、すべてに対応しているわけではありません。特に得意とするのは、レガシー アプリケーション、スタンドアロン アプリケーション、モノリシック アプリケーションの移行です。モダナイゼーション プロセスを開始するにあたり、アプリケーションと Migrate for Anthos を併用すべきかどうかを判断していただくための質問事項をいくつかご紹介します。

1. アプリをクラウド化する必要があるか?

クラウドはその性質上、地域特有の要件反映や法令順守など、オンプレミス環境の一部の特性に対応できない場合があります。クラウドが各アプリケーションで動作するかどうかを確認するには、完全な移行の計画を練るのが一番です。計画を作成することで、グローバル ネットワークの実現やリソースの容易なサイズ変更など、クラウド サービスを特徴づけるメリットの恩恵を受けられる一連のアプリケーションを特定できます。その後、クラウド内のアプリをテストし、ビジネスニーズに合うかどうかを確認して概念実証を行ってください。

2. アプリを Kubernetes で処理する必要があるか?

アプリケーションをコンテナ化すると、ワークロード管理が簡素化され、スケーラビリティ(スケールアップとスケールダウン)が向上し、ホストの使用率が増加します。Kubernetes はコンテナをオーケストレートし、GKE はノードのアップグレードを処理します。一方、Istio などのアドオンを使用すると、アプリケーションから独立してネットワークやセキュリティのポリシーを管理できます。

このようなメリットにより、コンテナは常に適切な方法であると考えるのは簡単ですが、VM を使い続けることが理にかなっている場合もあります。厳密なハードウェア要件、特殊なカーネル モジュール、ライセンス制約により、コンテナでの実行が困難なため、そのメリットがなくなる可能性があります。

3. アプリの移行で Migrate for Anthos を使用する必要があるか?

アプリやワークロードをクラウドに移行すると、コンピューティング リソースの実行場所が変わりますが、これをコンテナをモダナイズする機会と捉えることもできます。Migrate for Anthos(または Migrate for Compute Engine)を使用すると、クラウドでワークロードをすばやく取得でき、
ダウンタイムがあらかじめ最小限に抑えられるので計画を立てやすくなります。 

とはいえ、Migrate for Anthos ラッパーを使用しても、アプリケーションそのものは変わりません。最新のプラットフォームがレガシー アプリケーションのメリットを上回らない場合もあり、ビジネスニーズを満たすには書き換えるしかない場合もあります。また、ライセンス要件をはじめとする特定の VM サービスが Migrate for Anthos で動作しないことがあります。

Migrate for Anthos は、より大規模な移行作業の第一歩にもなります。アプリケーションを GKE に移行したら、各要素を手動で書き換えることで、モノリシック アプリを徐々にマイクロサービスに分割できます。移行作業を分散すれば、クラウドをより早く利用できるようになり、モダナイズするための時間を増やせます。

次のステップ

モダナイゼーションを成功させるには、完全な移行計画の作成、ワークロードのテスト、ワークロードのモニタリングから始めます。小さなワークロードを選んでお試しください。Migrate for Anthos でモダナイゼーションのメリットを実感していただけるでしょう。

移行のためにさまざまなワークロードをテストする際は、こちらのドキュメントをぜひご確認ください。また、移行プロセスに関する今後のブログシリーズにもご注目ください。最初のブログでは、Compute Engine インスタンスをモダナイズして GKE でホストする方法について説明しています。


- By プロダクト マネージャー Xiaowen Xin、ハイブリッド アプリケーション モダナイゼーション担当 Yuri Grinshteyn