- ブログ
- Google App Engineって何?メリット・デメリットをわかりすく解説!
Google App Engineって何?メリット・デメリットをわかりすく解説!
GCPでは100種類を超える様々なクラウドサービスが提供され、その中に「App Engine」というPaaSサービスがあります。
「App Engineって具体的にどういうサービスなの?」という方向けに本記事では、「GCP、PaaSの概要」から「Google App Engineのメリット・デメリット」について解説していきます。
もくじ
GCPって何?
始めに「GCP」というサービスについて解説していきます。
GCPとは
GCPとはGoogle Cloud Platformの略で、Googleが提供するクラウドサービスの総称です。
具体的にはデータ分析、データベース、IoT、AI, 機械学習といった100種類を超える多種多様なサービスが提供され、私達がよく利用しているGmailやYoutube,Google ChromeなどもこのGCP上で機能しています。Google社が実際に自社サービスで利用している技術やインフラ環境が一般企業や個人開発者でも実現でき、効率的なWeb開発が可能となります。
Google Cloud Platformではサービス毎に無料枠が設けられており、料金体系は従量課金制のため気軽に利用することができます。
GCPはこちらの記事でも解説しています。
GCPのPaaS機能は?主な機能をわかりやすく紹介!
GCPのPaaS機能とは
GCPのサービスの中にはApp EngineやBigQueryなどといったPaaSサービスがあります。Googleが実際に自社サービスで利用しているインフラ、データベースなどのプラットフォームをPaaSサービスとして提供しているので、これらを利用することで開発前段階に必要なインフラ構築や開発後の運用保守などのコストを削減することができます。
GCPのPaaSについて、こちらの記事でも解説しています。
GCPのPaaS機能は?主な機能をわかりやすく紹介!
Google App Engineとは
前述の通り、ソフトウェア実行環境を提供するGCP PaaSサービスの一つ。Google App Engineを利用することで開発者はコードを書いてデプロイするだけなので、アプリケーションを実行するための「インスタンス数、OS、ミドルウェアの管理」がいらないことが特徴です。
Google App Engineには「スタンダード環境」「フレキシブル環境」の二つが用意されています。
スタンダード環境では、Googleが用意したサンドボックスに沿った言語バージョンで利用し、インフラ設定作業がほとんど不要ですぐに使い始められます。一方、フレキシブル環境では、特定のバージョンに縛られなかったりメモリやCPUなど細かな設定が可能でカスタマイズできる範囲が広いです。
それぞれの違いを理解して、用途に合った環境を利用しましょう。
Google App Engineのメリット・デメリット
ここからは、Google App Engineを導入することでどんなメリットとデメリットがあるのかをみていきましょう。
Google App Engineのメリット
ここからGoogle App Engineのメリットについて解説していきます。
自動スケーリングが可能
Google App Engine(GAE) の特徴の1つ目は、自動スケーリングをしてくれる点です。
通常、運用しているサービスが拡大したりアクセスが集中する場合サーバーへの負荷を考慮して
・ロードバランサーを用意し負荷分散させよう ・必要な台数分のサーバーを立ち上げよう |
などといった様々な準備が手動で必要となります。
しかし、Google App Engineを利用することで上記のような急激なリクエストを予測して事前に準備をしておく必要がなくなり、アクセス集中などが起こってもサーバーの負荷に応じて自動で最適にスケールしてくれるため、安定した通信を確保できます。
安定したインフラ環境が利用できる
Google App Engine の特徴の2つ目は、安定したインフラ環境が利用できる点です。実際に Google App Engineを利用している代表的なサービスGoogle Workspace(旧G Suite)では、99.9%の稼働率が保証されています。
参考:https://www.j-pcs.jp/business/list/googleworkspace#:~:text=最⾼の安全性,が保証されています。
Google App EngineではGoogle Workspace同様のサービスが利用できるため、
・サービスが一時的に利用できなくなった ・データが消えてしまった |
などと言った障害の心配がほぼなくなり、安定したインフラ環境が構築できます。
対応言語が豊富
Google App Engine(GAE) の特徴の3つ目は、豊富な開発言語に対応している点です。
Python , Java , PHP などサーバーサイドの開発でよく利用される開発言語が利用できます。具体的には、「スタンダード環境」の場合は Python、Java、Node.js、PHP、Ruby、Go の6つの言語に対応しており、「フレキシブル環境」ではさらに.NETや、独自に導入した言語環境にも対応しています。
自分の好みや目的に応じた開発言語を選択できることは大きなメリットでしょう。
Google App Engineのデメリット
次にGoogle App Engineのデメリットについて解説していきます。
インフラ構築の制限がある
デメリットは「用意されている環境しか利用できない」ことです。
あくまで App EngineはGCPのPaaSサービスであり、基本的には用意されているものから目的にあったものを選択することとなるので、サーバーの設定を自由に変更したり細かい設定をすることができません。そのため構築しているシステムベースで考えるより、Google App Engineの仕様に合わせたりする必要があります。
凝ったWebサイトなどを開発する際にはこれらがデメリットとなりますので、最適な考慮をして利用しましょう。
シンプルな開発にはApp Engineを
本記事では、「GCP、PaaSの概要」から「Google App Engineのメリット・デメリット」について解説してきました。
Google App Engineを利用すると、Google が提供する強力で安定したインフラ上で、スケーリングやバージョン管理などの細かい作業を一任しながら、アプリケーションを運用できます。あくまでGoogle App EngineはPaaSサービスなので、複雑なシステム開発の場合には弱い難点がありますが、その反面シンプルなWeb開発の場合には大いに役立つでしょう。
ぜひこれを機にApp Engineの活用を検討してみてはいかがでしょうか。