クラウドとは
クラウドとは「クラウドコンピューティング」や「クラウドサービス」の略称で、インターネットに接続することを前提とする各種のサービスのこと。
主体がインターネットの向こう側にあり、利用量に応じて柔軟にキャパシティを増やせることが特徴。サービスは、コンピュータリソースだったり、アプリケーションだったり、OSであったり、様々なものを提供している。
SaaS
「Software as a Service」の頭文字を取った略語で「サース」と読む。
これまでパッケージ製品として提供されていたソフトウェアを、インターネット経由でサービスとして提供・利用する形態のことを指す。
◆SaaSの特徴
データをインターネット上に保存する
PC、スマートフォン、タブレットなど端末を選ばずにデータにアクセスできる
複数の人間が同一データを共有し、更に編集もできる
◆メリット
・必要なサービスをサブスクリプションですぐに利用できる
・時間・場所を気にせず利用できる
・管理が不要、運用は全てプロバイダーにお任せ
SaaS
はプロバイダーが提供するアプリケーションやサービスをアカウントを開設するだけでいつでもどこでも利用できるので開発コストやリードタイムを消費せずに簡単かつスピーディーに導入できる。
また料金は従量課金もしくは、サブスクリプション方式の場合が多く、初期費用をかけずに必要なリソースを享受することができる。
管理やアップデートも基本的に全てプロバイダーが行ってくれるので、運用面でのコストも必要ない。
◆デメリット
・カスタマイズができない
・データの移行が困難
デメリットとしては基本的にはサービスのカスタマイズはできない(もしくはプロバイダー側によって明確に制約が設けられている)ので、自社の運用要件をサービス側に合わせてカスタマイズする必要があることが多い。
当然サービス同士での連携は期待できないので、もしサービスを移行するとなると、データの移行に際し大きな手間とコストを要する可能性がある。
◆サービス例
・Gmailなどのメールサービス
・Slackなどのコミュニケーションサービス
・Google Workspaceなどのグループウェアサービス
Paas
「Platform as a Service」の頭文字を取った略語で「パース」と読む
アプリケーションソフトが稼動するためのハードウェアやOSなどのプラットフォーム一式を、インターネット上のサービスとして提供する形態のことを指す。
◆メリット
・サービス・アプリケーションの開発に専念できる
・初期費用や時間コストの削減が可能
PaaS は、クラウド環境のサーバー、OS、ミドルウェア、データベースなど、アプリケーション開発に必要な環境が揃っている(開発環境がプラットフォーム化されている)ため、インフラの設計や保守・管理を気にすることなくサービスやアプリケーションの開発に注力することができる。
◆デメリット
・開発の自由度が低い
最大の障壁は開発環境のカスタマイズ性の低さにある。
インフラがプラットフォームとして開発環境に組み込まれてしまっているのでCPUやストレージの選択ができなかったり、言語やミドルウェアが非対応だったりと、開発の要件を満たすことができないケースが多々ある。
◆サービス例
・Salesforce Heroku
・AWS Cloud9
・サイボウズ kintone
AWSのCloud9など開発環境を提供するクラウドサービス
IaaS
「Infrastructure as a Service」の頭文字を取った略語で「イァース」もしくは「アイアース」と読む。
情報システムの稼動に必要な仮想サーバをはじめとした機材やネットワークなどのインフラを、インターネット上のサービスとして提供する形態のことを指す。
◆メリット
・自由度が高く環境構築がしやすい
・システム管理者の負荷軽減
IaaS
は環境構築の自由度が非常に高いため、カスタマイズ性に富んでいる。
CPUやストレージなどのスペックも、ユーザーが必要なタイミングで必要な分を自由に選んで利用することができるので、様々なニーズに対しコストを最適化しながらシステムの開発・構築が可能。
また、OSやインフラ部分についてはプロバイダー側にお任せできるので、システムの管理部門にとって大きな負担軽減につながる。
◆デメリット
・構築に専門性が必要
・メンテナンス範囲が広い
IaaS
は、プラットフォームやプログラミング環境の構築を自社で行う必要があるため、専門知識を有するエンジニアが必ず必要になる。
また、メンテナンス範囲も広いので運用負荷は高くなる。
カスタマイズ性は高いが、あくまでもコンピューティングリソースをクラウド上で使えるサービスであり自社で管理しなければならないのはPaaS
やSaaS
と比較すると管理コストは高いと言える。
◆サービス例
・Amazon Web Service(AWS)
・Google Could Platform(GCP)
・Azure IaaS
まとめ
IaaS、PaaS、SaaS の区別についてまとめると、ソフトウェアサービスを提供するのに必要な構成要素の提供段階によって区別することができる。
その構成要素は大きく分けて5つに区分される。
ネットワーク
ハードウェア
オペレーティングシステム(OS)
ミドルウェア
アプリケーショ
基本的にはこの5つはこの逆順に依存関係にある。アプリケーションはミドルウェアが無いと動作せず、ミドルウェアはOSが無いと動作しない、ということを覚えておくと良い。