GAEとその料金について

現在、クラウドサービスにもニーズに合わせた様々なサービスが提供されています。特に開発分野におけるクラウドの活用機会はテレワークやリモートワークの推進によって年々高まっているといっていいでしょう。今回はそのクラウドサービスの一つGAEについて解説していきます。

GAEとは

GAEとは「Google App Engine」というGoogle社が提供する「Google Cloud Platform(GCP)」のサービスの一つになります。PaaS(Platform as a Service)といわれる、アプリケーションソフトが稼動するためのハードウェアやOSなどのプラットフォーム一式を、インターネット上のサービスとして提供するものです。プログラミング言語は主にPython、PHP、Java、Go、Node.js(JavaScript)、Rubyに対応しています。アプリケーションの作成と保守、トラフィック(データ量)とストレージの変化に合わせて拡張が可能で、アプリケーションをアップロードするだけで利用することが出来ます。

GAEには「スタンダード環境」と「フレキシブル環境」の2つの環境が用意されています。以下ではそれぞれ解説していきましょう。

スタンダード環境

スタンダード環境はGoogleが管理する環境内で指定した言語のアプリケーションをサンドボックス内で実行する環境です。サンドボックス環境はセキュリティで保護されていて、サーバーへのリクエストを複数のサーバーに分散。トラフィックによってサーバーを自動的にスケーリングしてくれます。そのため負荷が大きく、データ量が多い場合でもGoogleが提供するインフラによって確実にアプリケーションを実行させることが可能とされています。

スタンダード環境はインスタンスクラスが設定されていて、利用可能なリソースが決まります。インスタンスのメモリとCPUにも制限があり、ランタイムの世代によって異なるので注意が必要です。

サポートされているプログラミング言語はPython 2.71、Python 3.7、Java 8、Java 11(ベータ版)、Node.js 8、Node.js 10、PHP 5.5、PHP 7.2、PHP 7.3(ベータ版)、Ruby 2.5(ベータ版)、Go 1.9、Go 1.11、Go 1.12です。

フレキシブル環境

フレキシブル環境はスタンダード環境とは違い、GCE(Google Compute Engine)上の仮想マシンで※Dockerコンテナを実行してアプリケーションを実行する環境です。基本的な部分はスタンダード環境と同様ですが、実行環境がGCE上のDockerコンテナで行い、ランタイムや利用するインフラ、パフォーマンス等の環境をユーザー自身で自由に構築、カスタマイズできるという特徴があります。そのかわり、リクエストに対しては仮想マシンを常時起動する必要があります。

サポートされているプログラミング言語はスタンダード環境で指定されているものが主ですが、他のプログラミング言語で記述されたものも利用が可能です。

※dotCloud社(現Docker社)が開発した、非常に軽量なコンテナ型のアプリケーション実行環境です。

なおスタンダード環境で実行しているアプリケーションを、フレキシブル環境へ移行させることも出来ます。使用したい言語によって、スタートガイドがありますので利用を考えている場合は確認することをお勧めします。

GAEの導入コスト

GAEの導入コストですが、無料で始めることができるので実質的に導入コストはゼロです。ただし基本的に利用するごとに課金が行われる従量制となっています。スタンダード環境とフレキシブル環境で違いがあり、スタンダード環境のインスタンスには一日の無料割り当て分があるので、それらを超えない限りは無料で利用することが出来ます。また、インスタンスクラスに応じて一時間当たりの課金料金が設定されており、起動したインスタンスによって課金料金が異なります。対してフレキシブル環境では、利用することで料金が発生するので、アクセス数が多く見込まれ、デプロイするアプリケーションが数多く利用されることを想定したものが望ましいでしょう。

なお先ほども述べた通り、GAEは従量制となっているので料金設定が存在しません。料金に関する見積りはGAE公式サイトにて算出することが出来るのでうまく活用してみてください。

おわりに

GAEの解説については以上となります。利用する環境によって開発における自由度が異なるので、導入する場合はアクセスをどれだけ見込んでいるか、開発したいアプリケーションがどれだけのボリュームとなるのかを予想することで、導入をスムーズに行えるはずです。GAEを活用することで、コストを減らしつつ、自社の開発環境にマッチした環境を利用するようにしましょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

前の記事

Google Cloud Platformとは

次の記事

クラウドGCPでできること