○aaS
Web業界について勉強していると、「○aaS」という言葉をよく目にします。
違いをよく忘れるので、簡単にメモしておくことにしました。
IaaS
- 読みは「イアース」
- Infrastructure as a Serviceの略称
- サーバやストレージ、ネットワークなど、アプリケーション開発に必要なインフラをクラウド上で提供するサービスのこと。
- AWSやGCPのサービスの大部分が該当。
PaaS
- 読みは「パース」
- Platform as a Serviceの略称
-
アプリケーションの実行環境(プラットフォーム)をクラウド上で提供するサービスのこと。
OSやミドルウェア、各種ライブラリをインストールすることなく、アプリケーションをデプロイして公開することができる。IaaSと似ているが、インフラの各種パーツを個別に提供するのがIaaSで、パーツを組み合わせた完成品がPaaSという感じか。PCで言うなら自作とBTOの違い。 - HerokuやGAEが該当。
SaaS
- 読みは「サース」
- Software as a Serviceの略称
- 利用者のパソコンやサーバにソフトウェアを直接インストールするのではなく、インターネットでその機能を提供するサービスのこと。
- 従来は専門のソフトウェア企業が開発し、パッケージソフトとして個別に配布されるのが主流であったが、ブラウザやスマホアプリなどのWebサービスとしての提供に移行している。
年賀状ソフトとかって電器屋行ったらまだ売ってるん?
他の○aaS
FaaS
- 読みは「ファース」
- Function as a Serviceの略称
-
サーバレスサービスのこと。
*サーバレス
サーバの管理を、それを提供するクラウドベンダー側に完全に委託してしまうこと。クライアントが呼び出した回数や処理の実行時間などに対して料金が発生する。サーバが存在しないということではない。サーバ管理にかかる工数を削減できる、運用コストが低いなどのメリットがある。 - AWSのLambdaが該当。
mBaaS
- 読みは「エムバース」
- mobile Backend as a Serviceの略称
- モバイルアプリの開発に必要なバックエンドの機能をクラウド上で提供するサービスのこと。
- 認証やログイン、データベース、ストレージなどのバックエンド側の機能を、バックエンドエンジニアやインフラエンジニアなしでも簡単に実装できる。
とはいえ万能ではなく、様々な制約もあるため、機能要件・非機能要件が簡単なアプリケーションの開発に用いられる。 - モバイルとあるが、バックエンドやフロントエンドでも使用される。
- GoogleのFireBaseが該当。