クラウドの定義
クラウドとは、ユーザーが大規模なインフラ(サーバーやストレージ)やソフトウェアを持たなくてもインターネットなどのネットワーク経由でコンピューティング、データベース、ストレージ、アプリケーションをはじめとした様々なITリソースを必要な時に必要な分だけ利用するという考え方あるいはサービスの総称を指します。
- インフラ:インフラストラクチャー。パソコンやサーバーなどのハードウェア、ネットワークを構築するインターネット・LAN、データベース・OSなどのソフトウェアのことを指す。ITサービスの土台となるもの。
- ストレージ:大容量のデータを保存できる装置のこと。サーバーもデータの保存は可能だがストレージはデータの格納に特化しているためより大容量のデータを保存できる。物理的な機器としてのストレージだけでなく、インターネット上のスペースを利用するオンラインストレージと呼ばれるサービスもある。ex.)外付けHDDやUSBメモリ
具体例
- outlookやExcelやWord→そのアプリ自体をPCへインストールし、インストールしたPCのみで利用可能です。→これはクラウドではありません。
- Gmailはアカウントがありネット環境があればパソコンにソフトをインストールせずとも利用できます。→こちらはクラウドです。
クラウドとサーバー
クラウドを語る上で、クライアントとサーバーという言葉は切っても切れない関係にあります。コンピュータを使ったサービスでは、サービスを提供する側を「サーバー」と呼び、サーバーが提供したサービスを受け取るコンピューターを「クライアント」と呼びます。より具体的には、プログラムやファイルなどを保管し、複数の端末から共有できるスペースを有するコンピュータ(サーバ)と、利用者の操作するコンピュータ(クライアント)に役割を分け、これらが相互にネットワークで接続されています。このモデルをクライアントサーバモデルといいます。このモデルでは、クライアントがサーバに「要求」を送信し、サーバがそれに「応答」を返す形で処理が行われます。
上記の通り、サーバーは特定の役割を集中的に担当するコンピュータ(主に高度な演算やデータ管理)で1ケ所で管理すべき資源やサービスが保存されています。光ファイバーやweb技術が発達する1990年代以前は、各企業は自前のサーバーを用意し、社内のPCをサーバーに物理的につないで処理を行っていました。
Webサーバー
Webサーバーとは、パソコンやスマートフォンなどの端末からHTTP/HTTPSで送られたリクエストに対してHTML、CSS、JavaScriptなどの情報を返す役割を持ったソフトウェアのことを指します。一般的に、Webサーバーへ接続するためにはブラウザを使用します。私たちがWebサイトを閲覧しようとするとき、ブラウザはどのWebサーバーが目的のページを提供しているのか検索を行ないます。合致するWebサーバーを見つけると、そのWebサーバーに対してWebページを表示するために必要な情報をリクエストします。Webサーバーはリクエストを受けた情報をサーバー内から検索して、ブラウザに対して検索結果を送信します。そこでようやくブラウザが受け取った情報を再構成して、Webページを表示できるのです。
通常、通信のポート番号は決まったものを使用します。ポート番号を簡単に説明すると、扉(Webページ)の番号をイメージすると良いでしょう。Web上でアクションをする際は、扉の番号が必要になり、それがポート番号になります。メールを送る場合のポート番号、Webページを見るためのポート番号などそれぞれに割り振られており、HTTPは80番、HTTPSは443番が一般的です。そして、Webサーバーにはさまざまな種類があり、メジャーなものとしてはApache、Nginx、IISなどがあります。
このWebサーバーの普及により、webブラウザにより遠隔サーバーからデータやサービスを受け取ることが可能になりました。しかし、サーバーは自前で用意しなければならない点は変わりません。そこで用いられるようになったのがクラウドです。
クラウド
それでは、クラウドです。クラウドでは、物理サーバーの中に数台の仮想サーバーを立てています。そして、このサービスは大手のIT会社が提供しているプラットフォームを利用するので自前でサーバーを用意する必要がありません。
(補足)クラウドの種類
クラウドにはいくつか種類があります。
SaaS(Software as a Service)・・・ ソフトウェアを提供するクラウドサービス
PaaS(Platform as a Service)・・・ 開発環境を提供するクラウドサービス
IaaS (Infrastructure as a Service)・・・ サーバー(インフラ)を提供するクラウドサービス
のようなものですが、特に意識する必要はないかと思います。
つまりクラウドは、仮想Webサーバーによって提供されるwebサービスということになります。クラウドの特徴について以下にまとめておきます。
クラウドサービスのメリット
- アカウントがあれば様々な端末からサービスを利用できる。
- 初期費用が安いこと。サービスによっては無料で利用できるものもある。
- 導入の手間もかからず、障害対応も提供者側が行うため安心して使える。
- クラウドサービスを用いてソフトウェアやサービスの開発を行う際には、サーバーの拡張が容易にできる。
クラウドサービスのデメリット
- カスタマイズが自由にできないこと。
- 全てを自社で調達し、開発するオンプレミス型のサービスに比べると、どうしても自由度は下がる。
- インターネット上でサービスを提供している仕組みのため、オンライン環境でないとサービスが受けられない。
- サービスが停止されるリスクも考えられる。
参考サイト