サーバーレス アプリケーションのモダナイズ
Google Cloud Japan Team
※この投稿は米国時間 2021 年 9 月 4 日に、Google Cloud blog に投稿されたものの抄訳です。
サーバーレス分野のさらなるイノベーション推進
Google Cloud は先日、お客様がサーバーレス コンピューティング プラットフォームのエクスペリエンスをモダナイズし、ワークロードのニーズに応じて最新機能や新しいプロダクトにアップグレードするのに役立つ一連のリソースをリリースしました。最初のコンテンツは、最初期の Cloud プロダクトである Google App Engine のユーザーを対象としています。
App Engine は、流行語にもなった「サーバーレス」という言葉が生み出されるはるか前に、最初のサーバーレス プロダクトとして 2008 年にリリースされました。以降、App Engine は世界中の多くのお客様にご利用いただいています。Cloud チームは App Engine のリリースで満足することなく、追加のランタイムをサポートする App Engine のフレキシブル環境(2016 年)、マイクロサービスまたは FaaS / 関数ホスティング向けの Cloud Functions(2017 年)、新しい言語リリースをサポートする、オープン性を高めた第 2 世代の App Engine プラットフォーム(2018 年)、サーバーレス環境でコンテナ化されたアプリケーションを提供できる Cloud Run(2019 年)と、追加の機能やプロダクト リリースを次々と展開しました。充実度を増すプロダクト スイートとプラットフォームのオープン化の推進により、デベロッパーの選択肢はこれまでになく広がっています。
もともと App Engine に含まれていたサービスの中には、多くのお客様にご利用いただくうちに独立してスタンドアロンの Cloud プロダクトとなったものもあります。たとえば、当初 App Engine のタスクキュー サービスと呼ばれていたサービスは Cloud Tasks となり、データストア サービスは Cloud Datastore になりました。さらに、App Engine アプリをオンプレミスでも実行したいと希望しながらも、App Engine のサービスがこのプラットフォームでしか動作しないため、あきらめるユーザーもいらっしゃいました。こうしたさまざまな要因がきっかけとなり、独自のサービスがバンドルされる形態から、自由にサービスを組み合わせて使用できる第 2 世代の App Engine プラットフォームへと進化を遂げました。その結果、ユーザーの選択肢が広がり、アプリのポータビリティも格段に向上しました。Python 3 や PHP 7 などの最新の言語ランタイムのサポート、Node.js の導入もこのリリースで実現しています。
サーバーレス アプリのモダナイズのサポート
Python 2、Java 8、PHP 5、Go 1.11 のサポートがそれぞれのコミュニティで終了となりましたが、ユーザーの皆様に安心してご利用いただけるよう、Google Cloud ではレガシー ランタイムのサポートを引き続き長期にわたって提供することを発表しました。これには、Python 2 ランタイムの提供継続も含まれます。既存の環境も引き続きサポートされるため、今すぐ新しい環境に移行する必要はありませんが、デベロッパーからは、アプリケーションを最新の言語リリースにアップデートすることに関心が寄せられています。
Google Cloud は、Python 2 から 3、Java 8 から 11、PHP 5 から 7、Go 1.11 から 1.12 以降へとモダナイズするための一連の移行ガイドを提供しているほか、第 1 世代と第 2 世代のランタイムの機能をまとめたページも用意しています。しかし、バンドルされたサービスではなく、スタンドアロンの Cloud サービスやサードパーティのサービスを組み合わせて使用できるようになり、自由度が高まったことで、かえってわかりづらくなったと感じるユーザーもおられるでしょう。新しいプロダクトをリリースし、新たなユーザーにこれをご利用いただくことと、既存のユーザーの皆様が新しい機能を活用してアプリのモダナイズを進められるよう支援することは同じくらい重要です。そこで今年の初頭に、「Serverless Migration Station(サーバーレス移行ステーション)」動画シリーズ、そして対応するコードサンプルと Codelab チュートリアルの提供を開始しました。まずは Python と App Engine に焦点を合わせたコンテンツを提供しています。
移行モジュール
それぞれの「移行モジュール」では、いずれかのサーバーレス プラットフォームに関連したモダナイゼーション手法を 1 つ扱っています。従来の App Engine サービスからの移行、Cloud Datastore から Cloud Firestore へのサーバーレス データ ストレージ ソリューションのアップグレード、さらにはプロダクトを乗り換えて Cloud Run で App Engine アプリをコンテナ化するなど、さまざまなシナリオについて説明したモジュールを用意しています。
動画と Codelab(無料の自習型チュートリアル)で、具体的な移行のシナリオに沿って実践的な経験を積むことができるので、いざ自身のアプリケーションで同じようなアップグレードを実施する必要が生じた場合にもスムーズに対応できます。すべてのモジュールでは、ほぼ同じサンプルアプリを使用して、そのアプリを同じ機能のアプリに移行し、動作させることを目指します(必要に応じて別の機能を持たせることもあります)。現在利用できるモジュールは以下のとおりです(近日中にさらに追加予定です)。
すべての移行モジュール、動画(提供されている場合)、Codelab、サンプルのソースコードは移行モジュールのリポジトリから入手できます。これらのモジュール以外にも、ドキュメントの移行サンプルとコミュニティ参加型の移行サンプルのリポジトリも別に用意されています。Google Cloud では、既存のお客様と新規のお客様の両方に配慮し、ここにご紹介したようなさまざまなリソースを提供しています。これらをサーバーレス アプリのモダナイズに活用していただければ幸いです。
-デベロッパー アドボケイト Wesley Chun