最終更新
「クラウドサービス」「クラウドコンピューティング」とは、 何かしらの処理を、目の前にある PC で動かすのではなく、インターネットの向こう側にある、 クラウド事業者が所有するコンピュータを使って動かす形態を指す言葉です。
目次
「クラウドサービス」とは何か
「クラウドサービス」「クラウドコンピューティング」とは、何かしらの処理を、目の前にある PC で動かすのではなく、インターネットの向こう側にある、 クラウド事業者が所有するコンピュータを使って動かす形態を指す言葉です。
「クラウド」は「雲」という意味の英単語です。そもそもは Google の CEO であったエリック・シュミットが、2006年の会議にて、「コンピュータとデータが外部のサーバ上にあり、インターネットを通じてアクセスする」という形態を『クラウドコンピューティング』と呼んだことに起因します (発言詳細)。
このような成り立ちですので、公的機関や学者がクラウドとは何かを定義しているわけではありません。よって人によって微妙にクラウドの定義は異なります。当ページ管理人の「クラウドコンピューティング」の解釈は下記です。
- サーバ・ストレージ・ネットワーク等の構成要素から構成されるもの
- それらを柔軟に組み合わせたり、速度や容量を拡張/縮小したりできるもの
- ボタンをポチッと押せばすぐに利用可能になり、不要なときはすぐに削除できるもの
- 実態がどうなっているかは雲の向こう側であり、よくわからないもの
なお、世の中的に通りのよいクラウドの定義をお探しであれば、「アメリカ国立標準技術研究所(NIST) のクラウドコンピューティングの定義」や「JIS X 9401: 情報技術−クラウドコンピューティング−概要及び用語」がお勧めですのでググってみてください。ただし、これもそれぞれの組織が考えるクラウドであって、これだけが正しいというわけではありません。
クラウド以前
クラウドとは何かというのは、「クラウドがなかった頃と比べて何が変わったか」を考えるのが早道だと考えます。まずはクラウドがなかった時代はどうだったかを思い出してみましょう。
自社サーバ運用
会社にサーバラックを置き、サーバを置き、動かす。
すべてを自分達でコントロールできるやり方です。しかしながら、サーバが壊れたとか、HDD が壊れてしまったなどの対応も自分たちでやる必要があります。「地震対策として免震構造を」「停電対策として非常用発電機を」などと言い出すと、 数千万〜億レベルの費用がかかってしまいます。
ハウジング・ホスティング
ハウジングとは、データセンタ業者が用意したデータセンタ内で、ある広さのエリアや、ラック (またはラックの半分・ラックの 4分の1など) を借り切って、そこに自前で調達したサーバを置くものです。
ビルの免震構造・非常用発電機・外部へのネットワーク回線・ラックの準備などを業者にまかせることができますが、サーバは自前で調達します。
一方ホスティングとは、ホスティング業者がデータセンタとサーバを準備し、OS をインストールした状態で引き渡し、それ以降を利用者側で管理するものです。データセンタもサーバも、所有者は業者側です。
クラウド以前の特徴としては、下記があげられるかと思います。
- ハウジングやホスティングの場合、申込書を FAX または郵送する必要があった。
- 利用料は 1ヶ月単位で、初期設定費用があり、なおかつ 3ヶ月や半年の最低利用期間が設けられていた。
- データセンタを見学することができた。
- サーバやネットワーク構成について、ヒアリングからはじまり、見積提示、価格交渉、契約締結、と進んでいた。
一言でいうなら「データセンタ業者が、利用者にあわせる」かと思います。業者が利用者にあわせるから、ヒアリングしないといけない。設定作業も異なる。利用者ごとに希望するサーバが異なるから、初期設定のに時間がかかるため、初期設定費用なるものが必要。利用者にあわせたサーバであるため、他の利用者に転用しづらいので、すぐに解約されると困るので、最低利用期間が必要。
そして、クラウド以後は、上記の点は逆になります。
クラウド業者は、サーバを何千台・何万台もコンピューティング・ストレージなどの基本的な構成要素を準備しておく。利用者はそれらを好きなだけ使用する。使用するには管理画面で操作するだけ。ヒアリングもしないし、価格交渉もしない。データセンタなんか見てもらうメリットがないので見せない。
当ページ管理人としては、クラウドの本質は「利用者が、クラウド事業者にあわせる」ことにあるのではないかと考えます。
続いて、クラウドサービスを IaaS・PaaS・SaaS という切り口で見ていきましょう。
IaaS とは
IaaS とは、Infrastructure as a Service のことで、イアースとかアイアースと発音します。
いわゆる root 権限付きサーバ1台貸しと考えてください。
Apache をインストールしたり、MySQL をインストールしたりできます。もちろん自作の Web アプリケーションやバッチを動かすこともできます。ただし仮想化されており、CPU コア数・メモリ・HDD を柔軟に変更できるという点で、 既存のレンタルサーバ・専用サーバ・VPS とは異なります。
AWS EC2、Microsoft Azure の Virtual Machine (仮想マシン)、GCP の Google Compute Engine などが該当します。
SaaS とは
SaaS とは、Software as a Service の略で、サースまたはサーズと発音します。
SaaS は、ソフトウェアを提供するもので、例えば
- Google Apps (Google SpreadSheets、Google Docs など)
- Gmail
- Office 365
などがあげられます。一般の利用者から最も見えやすい・わかりやすいサービスですね。しかしながら、当サイトのように様々なクラウドサービスを組み合わせてよいシステムを作ろうという立場からすると、システムの部品として SaaS を使う機会はあまりないと言えるでしょう。
PaaS とは
PaaS とは、Platform as a Service の略で、パースと発音します。
では「Platform」とはなんぞやという話になるわけですが、OS だったりデータベースエンジンだったり、 セキュリティ製品であったりします。なんでもアリです。 なんでもアリすぎるので、APaaS・DBaaS・BaaS などと細分化することもあります。
APaaS (Application Platform as a Service) は、アプリケーションが動作するプラットフォームです。 具体的にはクラウド事業者が「OS + ミドルウェア」をパッケージで提供しているものと考えてください。 PaaS 利用者ができるのは「自作のアプリケーションを PaaS 上に配置すること」です。 PHP・Java・Python・.NET・Node 等、多くの言語に対応していることが多いです。
APaaS はアプリケーションの実行が目的であるので、 APaaS インスタンスに ssh やリモートデスクトップでログインすることはできないものも多いです。 OS や Web サーバ等のミドルウェアの設定変更は、限られた範囲で可能です。 何でもできるわけではありません。 APaaS は、Microsoft Azure の App Service や、Google App Engine、 Heroku などが該当します。
また、データベースをサービスとして提供するものを DBaaS (Database as a Service) と呼ぶことがあります。 MySQL・PostgreSQL・Oracle・SQL Server などのような、古くからある RDBMS を提供するものもあります。 Amazon RDS、Azure SQL Database、 Google Cloud SQL が該当します。
一方で、RDBMS でないデータベース、いわゆる NoSQL なデータベースとして、DynamoDB、Table Storage、Cosmos DB、Cloud Bigtable、Cloud Datastore があります。
さらに、データウェアハウスエンジンとして Amazon Redshift、Azure SQL Data Warehouse、Cloud BigQuery も DBaaS と言えるでしょう。
さらに下記のような一般ユーザが直接使うわけではない、 バックエンド寄りな PaaS を指して BaaS (Backend as a Serive) と呼ぶことがあります。
- ファイルを保管するストレージ (Amazon S3、Azure Storage など) … Storage as a Service と呼ぶこともある。
- CDN (Amazon CloudFront、Azure CDN) … CDN as a Service と呼ぶこともある。
- 負荷分散を行うロードバランサ (AWS ELB、Azure Traffic Manager 等) … Load Balancer as a Service (LBaaS) と呼ぶこともある。