- TOP>
- Google Cloud Platform の基礎知識>
- PaaSのメリットとデメリット
PaaSのメリットとデメリット
昨今のクラウドサービス上ではPaaSの利用は当たり前になっています。
しかしながら全てPaaSにすればいいのか? というとそれは少し違います。
ここでは、一般的なPaaSの利用におけるメリット、デメリットについて紹介します。
昨今のクラウドサービス上でのWebサービスの開発ではPaaSの利用が増えています。
クラウドサービスが幅広く使われるようになった当初は主にIaaS(GCPだとGCE、AWSだとEC2)のサービスがメインに使われていました。
一つの例として以下のようなサービスの利用の変化の流れをご紹介します。

今回は利用が進むPaaSの利用についてIaaSと比較しながらよく耳にするそのメリット、デメリットについて紹介します。
開発されるサービスによってベストな方法は様々だと思いますが、使用できるところはPaaSを利用して運用負荷を下げる事がより良い選択の一つだと考えます。
ただし、PaaSのサービスは各クラウドサービスによりサービス内容(仕様)が異なる為、きちんとサービスの仕様を把握したうえで使う、組み入れることが大事です。
PaaS利用のメリット
・インフラ設計・管理の必要がない
環境を整えるためのインスタンス、OS、データベースや各種ミドルウェアのインストールが必要ないため設計・管理に要する負
荷やコストを削減することができます。
また、冗長構成やバックアップもGUI上で簡単に設定できるため構築・運用面負荷を下げる事ができます。
・開発に集中できる
GAE(Google App Engine)を例にすると、インフラ環境を全てクラウドサービス側で提供されるため、エンジニアは開発に集中で
きます。
また、従来はインフラエンジニアがインフラ環境を用意してからその環境を利用する事が出来る為、環境の準備に要する時間が
発生していましたがその必要はもうなく、すぐに開発を開始できる環境が提供されます。
Google Cloud SQLを例にすると、ミドルウェア(MySQL、PostgreSQL)までをクラウドサービス側でマネージドした(管理された)
サービスとして提供されています。
その為、ユーザー側でミドルウェアのインストール、パッチの適用、冗長構成やバックアップの設定等を細かくユーザー側で
設定・管理する必要がありません。
IaaSと比較すると、IaaSではユーザー側が考慮し、実施しなければいけない多くの事がマネージドサービスとして提供されるた
め、ユーザー側の負荷が大幅に軽減されます。
PaaS利用のデメリット
・自由度が限定される
インフラ環境の準備の手間が省ける一方で、特別な製品をインストール出来ないや設定に制限があったり、監査ログの取得に対
応していないケースもあるためセキュリティ要件を満たせない場合がある。また、障害発生時の一次対応で対応出来ることは少
ない(再起動またはスペック調整が基本となる)。
・要件を満たせないことがある為、使用できない時もある
マネージドサービスの為、システムの要件によっては使用できない事もあります。
例えば、GAEであれば使用できる言語が決まっているため、開発で使用する言語がGAEで対応していれば使用できますが、対応し
ていない場合は使用できません。また、Google Cloud SQLでは使用できるDBが決まっているために、提供されているDBでしか
利用できません。
つまり、マネージドサービスであるがゆえに提供されているサービス内容とシステムの要件が合った時に使用する事が出来ます
がそれ以外では使用する事が出来ません。
もしくはそのマネージドサービスを使うことを前提にした設計にする(システムの要件をPaaSのサービス側に合わせる)ことで使
用する事が出来ます。
・監視についてはクラウドサービス側で用意したツールを利用する必要がある
PaaSのサービスについては、各クラウドサービス側で用意したサービスを使用して監視(各種のメトリックの取得)をする必要が
ある為、そのサービスの設定方法を学習する必要や1つの統合的なシステムで監視をしたい場合は、APIで各種のメトリックを取
得させて、そのシステムに取り込む必要があります。