リモートワークが脚光を浴びる昨今ですが、システムの管理など社外でできる業務に制約があり、不満を持っている人は少なくないのではないでしょうか。
その悩みを解決する方法の1つが、「クラウドサービス」の導入による自社システムとの紐付けです。
ただ、クラウドサービスと一口に言いましてもいろいろあります。SaaSはその代表的なものですが、「クラウド」との違いは一体どこにあるのでしょうか。
今回は、SaaSとクラウドの違いから、各クラウドサービスの特徴、そして導入時に考えるべきポイントをまとめてみました。
SaaSとクラウドの違い
SaaSとクラウドにはどういった違いがあるのでしょうか。
SaaSとは?
SaaSは「サース」または「サーズ」と読み、「Software as a Service」の頭文字を取った略称です。直訳すると「サービスとしてのソフトウェア」となります。
SaaSとは、ソフトウェアを自分のパソコンにインストールするのではなく、インターネットにアクセスすることでそのソフトウェアサービスを使うことができる仕組みです。
ソフトウェアのインストールやセットアップには費用や手間がかかりますが、SaaSの場合、インターネットに接続できる環境があれば、契約をしてすぐに使用できます。また、サーバーやストレージなどの構築や運用管理も不要で、その手軽さが特徴です。
クラウドとは?
「クラウド」は「クラウド・コンピューティング」の略称です。
アメリカの米国国立標準技術研究所(NIST)では、クラウド・コンピューティングのことをこのように定義しています。
【出典】NISTによるクラウドコンピューティングの定義/The NIST Definition of Cloud Computing(翻訳:独立行政法人 情報処理推進機構)
この「クラウド」の形態で提供さられるサービスのことを「クラウドサービス」と呼び、利用者は
サーバーやストレージ、ネットワークといったインフラを自ら持つことなく、様々なサービスを利用することができます。
クラウドとSaaSは、ほぼ同じ意味で使われることが多いようです。しかしながら、厳密にはクラウドサービスの中にSaaSが含まれ、SaaSの他にもPaaSやIaaSといったサービスが存在します。
SaaS、PaaS、IaaSの違いと特徴
クラウドサービスの中にあるSaaS、PaaS、IaaSについて、それぞれの仕組みや特徴を解説します。
SaaSについて
ソフトウェアを自分のパソコンにインストールするのではなく、インターネットにアクセスして使用するのがSaaS。つまり、ソフトウェアを使うこと自体は、インストールしていた場合と何ら変わりません。
また、ソフトウェアそのものを購入する必要がなく、さらにはインストールやセットアップの手間も不要となるため、比較的誰でも使いこなせます。
ただし、開発の自由度は高くありません。
Saasは、ベンダーが提供するソフトウェアを利用することのみ可能で、自社で自由にカスタマイズすることはできません。
PaaSについて
PaaSは「パース」と読み、「Platform as a Service」の頭文字を取った略称です。直訳は「サービスとしてのプラットフォーム」。
SaaSは、パッケージ化されたソフトウェアを使用するものでしたが、PaaSは、プログラム開発に必要なネットワークやデータベース、プログラム実行可能な環境などのインフラ・プラットフォームを、インターネットに接続することで使用することができます。
アプリケーション開発をゼロから行う場合、通常であれば膨大なコストが必要です。しかし、PaaSの場合、開発環境がベンダーから提供されるため、自前で開発環境を用意する必要がありません。
プログラムの構築や、コーティングなどのスキルは必要となりますが、SaaSよりも開発の自由度は高く、かつコストや手間を抑えながら、理想のシステムへとカスタマイズすることができます。
ただし、実行する環境や、開発言語などは限定されるため、より高い自由度を求める場合は、次に紹介するIaaSを選んだ方が良いでしょう。
IaaSについて
IaaSは「イアース」または「アイアース」と読み、「Infrastructure as a Service」の頭文字を取った略称です。直訳は「サービスとしてのインフラ(インフラストラクチャ)」となります。
SaaSはデータのみ、PaaSはデータとソフトウェアのみをユーザーが管理する仕組みでしたが、それに加えて「ランタイム(アプリケーションの実行環境。Java VMなど)」「ミドルウェア(データベースなど)」「コンテナ(アプリの動作環境を仮想的に構築する技術の1つ)」をもユーザーが管理することができるのがIaaSです。
ユーザーは、ベンダーから提供される仮想サーバーやハードディスク、ファイアーウォールなどのインフラをインターネット上に接続して使用することができます。
IaaSで提供される環境は、プログラム開発をする上で必要最小限のものであるため、SaaSやPaaSに比べて開発の自由度は高いです。ただ、それ相応の高度な専門知識が必要となります。ネットワークやOS、ハードウェアの知識はもちろんのこと、セキュリティ対策を自力で行えるほどの能力が必要です。
開発にかかる時間的コストも少なくはないため、もし仮にSaaSやPaaSでも同じことを実現できるのであれば、IaaSではなく、それらを利用する方が負担が少ないといえます。
クラウドサービスを導入するときのポイント
クラウドサービスを導入するときに開発担当者が見るべきポイントをまとめました。
導入の指針となるべき観点は1つではありません。 「目的」「スキル」「コスト」「開発の自由度」「ユーザーの自由度」などの観点から総合的に判断するとよいでしょう。
目的
クラウドサービスに限った話ではありませんが、導入への第一歩は「目的」を明確にすることです。目的を明確にすることで「どのクラウドサービスを選べば良いのか?」が見えてきます。
- サーバー・セキュリティの見直しや構築をしたい → IaaS
- 新サービスの短期開発や自社向けのカスタマイズをする環境がほしい → PaaS
- 社員が利用するソフトウェアの統一を手軽に行いたい → SaaS
スキル
導入後に実際に扱う人のスキルも考慮する必要があります。
- <スキル高>本格的な開発を希望。しかしインフラからの準備は大変な場合 → IaaS
- <スキルやや高>システム系の知識が多少あり、業務効率アップのため、自分にあったカスタマイズを希望する場合 → PaaS
- <スキル低>システム系の知識がない場合 → SaaS
開発の自由度
開発の自由度が高ければ思い通りのシステムを構築することができます。
- IaaS → <自由度高>OSやハードウェアのスペックを自由に選ぶことができる
- PaaS → <自由度やや高>提供される言語やデータベースなどが限定的であるものの、自社でインフラを構築することなくシステム開発ができる
- SaaS → <自由度低>ソフトウエアに制約がある
コスト
SaaS、PaaS、IaaS、いずれも月額制または従量課金制で使用できるものが多く、カスタマイズの自由度に比例してその金額や管理負担の度合いは上がっていきます。
業務効率化を図るためにシステムを導入したにも関わらず、それを使いこなせるだけのスキルが足りないためにコストが増加してしまっては元も子もありません。導入後のコストをしっかりと検討して、どのクラウドサービスを利用するか判断していきましょう。
まとめ
SaaSとクラウド、そして、SaaS、PaaS、IaaSの違いから、クラウドサービスを選ぶポイントを見てまいりました。
大切なことは、各クラウドサービスの特徴を把握した上で、まず導入の目的を明確にし、自社のスキルを見極め、そこからコストを計算して進めていくことです。開発の自由度とそこにかかる管理コストは比例関係にありますので、うまくバランスをとって、より理想的な環境を構築できるよう、検討してみてください。