導入
「AWSを使う」と言っても、インフラだけ借りるのか、アプリの実行環境まで借りるのか、完成したソフトをそのまま使うのかで、自分が管理する範囲はまったく違います。
説明
クラウドサービスの提供形態は、大きく3段階に分かれます。
- IaaS(Infrastructure as a Service) … 仮想サーバーやネットワークなど、インフラだけを借りる形態。OSのインストールやミドルウェアの設定は自分で行う。例:Amazon EC2。
- PaaS(Platform as a Service) … OSやミドルウェア、実行環境まで用意されており、自分はアプリのコードとデータに集中できる形態。例:AWS Elastic Beanstalk、Amazon RDS(データベースの管理をAWSが肩代わりする)。
- SaaS(Software as a Service) … 完成したソフトウェアをそのまま利用する形態。インフラもアプリも意識しない。例:Gmail、Amazon Chime。
図のオレンジ色の範囲がAWS(クラウド事業者)が管理する部分、青色が自分(利用者)が管理する部分です。IaaSからPaaS、SaaSへ進むほど、自分で面倒を見る範囲が減っていきます。この「責任の境界線」の考え方は、次章以降で学ぶ「責任共有モデル」とも直結する重要な視点です。
具体例
「Webサイトのデータベースを用意したい」という一つの要件でも、どの形態を選ぶかで仕事量がまるで変わります。
- IaaS で自前 … EC2(仮想サーバー)を借り、そこに自分でMySQLをインストールし、OSのセキュリティ更新も、バックアップの仕組みも、バージョンアップも全部自分でやる。自由度は最大だが、運用の手間も最大。
- PaaS におまかせ … Amazon RDS を選ぶと、MySQLは最初から動く状態で提供され、バックアップ・パッチ適用・故障時の切り替えはAWSが自動でやってくれる。自分は「テーブル設計とデータ」に集中できる。
- SaaS で完成品 … そもそもDBを意識せず、Gmailのように出来上がったサービスを使うだけ。
同じ「DBが欲しい」でも、触りたい/触りたくない範囲で選ぶ——これがIaaS/PaaS/SaaSの実感です。多くの企業が「自由が要らない部分はPaaSに任せる」方針を取ります。
読んでみよう
「借りているのはインフラだけか、実行環境までか、完成品か」と自問すると、目の前のAWSサービスがIaaS/PaaS/SaaSのどれに近いか判別できます。