昨今「クラウド」という言葉を様々な媒体で目にするようになりました。しかし、「クラウドとは何か」という問いに対して、適切に答えられる人は限られるのではないでしょうか。クラウドの定義は広くそして曖昧です。この記事ではクラウドについて、わかりやすく紹介していきたいと思います。
目次
クラウドとは
クラウドの種類
クラウド誕生の歴史
最後に
クラウドとは
クラウドとは簡潔にいうと「インターネットを通じて、メールやストレージなどのサービスを必要な時に必要な分だけ提供する」仕組みのことです。
クラウドの定義だけを聞いても想像がつかないかもしれないので、もう少し具体的に見ていきましょう。
クラウドが登場する以前は、ソフトウェアをパソコンにインストールしたり、ソフトウェアのライセンスを購入したりしなければ、サービスを使えませんでした。しかし、クラウドの登場により、Google ChromeやFirefoxなどのブラウザだけあればインターネット経由で利用できるサービスが生まれ始めたのです。
以下では、メールサービスを例に挙げて、ご説明しましょう。
▷クラウドではない場合
Outlookなどのメールソフトをパソコンにインストールして、メールの送受信を行います。インストール作業、アドレスのドメイン名の取得、メールサーバーの構築などが必要になります。基本的にインストールしたパソコンでのみメールの送受信が可能です。
▷クラウドの場合
クラウドとして代表的なメールサービスにはGoogleのGmailなどがあげられます。
パソコンにソフトウェアをインストールする必要はなく、ブラウザさえ持っていれば、インターネットを通して他のパソコンからもメールを送受信することができます。また、受信箱の容量がいっぱいになった時はプランを変更して、容量を増やすことも可能です(https://serai.jp/living/1075271)。
「インターネットを通じてメールやストレージなどのサービスを必要な時に必要な分だけ提供する」という考えに照らし合わせると、Gmailはまさにクラウドであると言えるでしょう。
ところで「クラウド」という単語は「雲」を意味しますが、なぜそう呼ばれているのでしょうか? 一説には、物理的なサーバーを意識することなく、インターネット(雲)のサービスを利用していることから、クラウド(cloud=雲)と呼ばれるようになったともいわれています。
クラウドの種類
一口にクラウドと言っても様々な種類が存在します。クラウドはおおむね次の3つに分類できるでしょう。
▷SaaS(Software as a Service)
SaaSは「サース」と呼び、インターネットを経由してソフトウェアを提供します。GoogleマップやGmailなどがSaaSに該当し、SaaSはもっともメジャーなクラウドと言えるでしょう。ソフトウェアの購入やインストールは不要で、メール作成や地図案内といった機能を利用することができます。
▷PaaS(Platform as a Service)
PaaSは「パース」と呼びます。ウェブアプリケーションやウェブサイトなどを稼働させる環境(プラットフォーム)を、インターネット経由で提供します。
有名なものにはHerokuというサービスがあります。あらかじめデータベースやネットワーク環境といった、ウェブアプリケーションを稼働させるために必要な環境を提供するサービスです。作成したアプリケーションを複数のコマンドだけで公開できるのも大きな特徴。開発者はアプリケーションの開発に注力することができます。
ウェブアプリケーションを稼働させる環境を構築するには手間がかかります。コンピュータにサーバー用ソフトウェアをインストールして、セキュリティ対策をして、アプリケーションのプログラムコードをアップロードして……。このようにウェブアプリケーションを公開するには手間がかかります。一方のPaaSは、複数のコマンドを実行するだけでアプリケーションの公開が完了。エンジニアにとってPaaSは開発効率を向上させる重要なサービスと言えるでしょう。
▷ IaaS(Infrastructure as a Service)
IaaSは「イアース」または「アイアス」と呼びます。サーバーやルーターなどのネットワークインフラをインターネット経由で提供するサービスです。
有名なサービスにはAWS(Amazon Web Services)があります。AWSはインターネット経由でサーバーやデータベースといった基盤を提供します。PaaSのHerokuとは異なり、サーバー等に対してネットワークやソフトウェアなどの面で細かい設定ができるのが特徴です。AWSでアプリケーションを公開するには、ネットワークやデータベースなどについて一定の知識が要求されます。
「ユーザー数が万単位」といった大規模なウェブサービスを構築するには、一定数のサーバーが必要になります。しかし、それらを自前で準備するには場所が必要です。さらに地震や洪水といった自然災害によって物理的にサーバーが被害を受けるといったリスクもあります。
一方、IaaSはネットワーク経由でサーバーを提供するため、実機のサーバーを準備する必要がありません。自前のサーバーが必要なくなるので、天災による被害を心配する必要もなくなります。また、ブラウザ上の操作だけで、必要な時に必要な分だけサーバーを追加構築することも可能です。例えば、CM施策を打つ時にウェブサービスにアクセスが集中する期間だけ負荷分散のサーバーを増設し、施策終了後は増設分のサーバーを撤去するといった事例が考えられます。
クラウド誕生の歴史
IT用語としての「クラウド」は、2006年頃に登場したと言われています。そもそもなぜクラウドが生まれたのか、クラウドが登場する前のコンピュータの歴史を振り返ってみましょう。
1990年代後半、コンピュータの価格低下やネットワーク速度の向上により、コンピュータの利用台数が膨大になります。結果、全てのアプリケーションやデータを1つのコンピュータ内に収めることが困難となりました。
そこで、Webブラウザを通じてアプリケーションやデータを持つコンピュータ(サーバー)へアクセスする方法が採用されました。これによって、全コンピュータにアプリケーションやデータを配布する必要はなくなりました。
しかし、ウェブサービスの増加に伴い多くのサーバーが乱立する事態となり、今度はサーバーをいかに統合・管理していくかが課題となったのです。そこで課題解決のため、「クラウド・コンピューティング」という手法がとられました。
クラウド・コンピューティングは、1台の物理サーバーに複数台のサーバーを仮想的に構築できる仮想化技術により実現したものです。このようなサーバーは「仮想サーバー」と呼ばれます。仮想サーバーの登場により、物理サーバー1台分のスペースで複数のサーバーを運用することができるようになりました。仮想化技術により、利用者がサーバー(インフラ)を必要な時に必要な分だけ利用できるクラウドサービスの提供も可能になったのです。クラウドが登場した当初はIaaSが一般的でしたが、やがてSaaSやPaaSも増えていきました。
最後に
「クラウド」について見てきましたが、いかがでしたでしょうか? クラウドで提供されているサービスには、GmailやGoogle マップのように身近なものがたくさんあります。エンジニアにとっては、PaaSやIaaSといったクラウドは開発スピードを大きく向上させるために必要不可欠な道具になっています。この記事を契機としてクラウドに興味を持っていただけたら幸いです。
●構成・執筆/吉河 光祐(よしかわ こうすけ|京都メディアライン・https://kyotomedialine.com FB)
都内のIT企業にて、クーポン販売サービスや美容医療チケット販売サービスのウェブとアプリ二つの開発保守に従事している