近年、当たり前に使われるようになった「クラウド」という言葉。みなさんも、聞いたり使ったりしたことがあるのではないでしょうか?一般的に、クラウドは「クラウドコンピューティング」や「クラウドサービス」の略称として使用され、同じ意味とされることも多いです。しかし、これらはそれぞれ深い関連がありながらも、厳密に言うと異なる概念の言葉です。
そこで今回は、「クラウド」について、特に「クラウドコンピューティング」に焦点を当てながら、その概念や仕組み、クラウドサービスとの関わりを解説していきます。「クラウドサービス」については過去に公開した記事があるので、ぜひそちらもご覧ください!
▼ 関連記事 ▼
クラウドコンピューティングの意味を解説する前に、まず「クラウド」という言葉自体にどのような由来があるのかを抑えていきます。
クラウドは、ITシステムの構成図で、ネットワーク機器やサーバといったインフラを簡略的に表す際に「雲」のマークを使ってきたのが由来となっています。マークに雲が選ばれた理由としては、インターネットの向こう側を雲に見立て、そのサービスを利用していることを「cloud=雲」と表現するようになったという説の他に、「crowd=集約システム」で「クラウド」と呼ばれるようになり、似た発音のcloud(クラウド/雲)を使用するようになったなど、諸説あります。
その意味を踏まえて、クラウドコンピューティングとは、ユーザー側にインフラやソフトウェアがなくとも、インターネット経由で、ソフトウェアアプリケーションやストレージ、データベースといったコンピューティングリソースを提供する技術のことを指します。
さらにクラウドコンピューティングをわかりやすく言い換えると、「コンピュータに必要な機能を、サービスとして必要な時に必要な分だけ利用できる技術のこと」と言えます。
ちなみにクラウドと言う時、「クラウドコンピューティング」もしくは「クラウドサービス」を指します。そして両者とも一般的に同じ意味とされることが多いですが、クラウドコンピューティングの技術を利用して提供されるサービスがクラウドサービスのため、厳密に言うと異なる概念と言えます。
クラウドコンピューティング普及の背景には、コンピュータの歴史が深く関わっています。ここで、現在に至るまでのコンピュータの歴史と普及のポイントを振り返っていきます。
【1942年】
世界初のコンピュータ「ABC」が、アメリカのアイオワ州立大学で開発されました。このコンピュータは、実用機ではありませんでした。
▼
【1946年】
現在のコンピュータの始まりと言われる、実用に向けたコンピュータ「ENIAC」が、アメリカのペンシルベニア大学で開発されました。
▼
【1951年】
世界初の商用コンピュータと言われる「UNIVAC」が、アメリカのレミントン・ランド社によって開発されました。
▼
【1964年】
IBMが史上初の汎用コンピュータ「System/360」を発表しました。この当時のコンピュータは非常に大きく、多くの機能を集約し、非常に高価なものでした。そして、System/360はこの発表以降に誕生したコンピュータのモデルになった製品と言われていています。
▼
【1990年代】
大型コンピュータよりも安価なミニコンピュータが普及し、企業では多数のコンピュータを所有することになりました。しかし、ネットワークの速度はまだまだ低速でした。
そこから、クライアント側でもコンピュータを持つようになり処理速度が向上。そして1台のコンピュータに処理が集中するのではなく、分散させることで負担を減らしていく傾向が強まります。
1990年代後半には、さらにコンピュータの価格は下がりながらも、処理速度は改善されていき、コンピュータの利用台数はどんどんと増加していきました。この利用台数増加とともに、従来のコンピュータ内に全てのアプリケーションやデータを配布するというのは困難になっていきました。
分散されたデータの取り扱いや、コンピュータの利用台数増加に伴う従来のアプリケーション配布方法が難しくなってきた頃に、クラウドコンピューティングの概念が提唱され始めます。
1997年に南カリフォルニア大学のラムナト・チェラッパ氏によりクラウドコンピューティングという技術が初めて提唱されましたが、この時点ではクラウドコンピューティングの概念は浸透しませんでした。
しかしその後、Googleが急増するインターネット上の情報に注目し、世界中の情報整理とその情報へのアクセスを課題として取り上げました。それを解決する策として、Googleは検索エンジンサービスを主軸におき、2004年に上場。2006年に当時GoogleのCEOであったエリック・シュミット氏によって、「データサーバとアーキテクチャがサーバ上(=クラウド)に存在し、ブラウザやデバイスによらずクラウドにアクセスできる」とクラウドについて言及しました。進化して便利になったコンピュータに残る問題を解決し、より便利に使えるとして、クラウドの認知は広まりました。
クラウドが誕生するまでのパソコンと言えば、ソフトウェアをインストールして使うのがごく一般的な流れでした。また、ソフトウェアのライセンスには期限があり、期限が切れる前に新しいライセンスの購入を行う必要があります。そのため期限が切れてしまい、サービスが使用できないこともしばしばあり、課題なっていました。
クラウドコンピューティングは、仮想化技術により、1台の物理サーバの上に複数台の仮想サーバを構築することで実現しています。これにより、アプリケーションやデータベース、ストレージといったものに、インターネット経由でアクセスすることが可能になっています。これにより、物理インフラと同等の機能を持ちながらも所有コストを削減し、必要に応じて拡大・縮小、組み合わせて使うことができる、柔軟性や拡張性を持っています。
また、サービス利用料金を支払っている限り使用できるため、従来のソフトウェアのように期限が切れるということもなくなりました。
提供形態としては、不特定多数の利用者で環境を利用する「パブリッククラウド」と、利用者ごとにそれぞれの環境を利用する「プライベートクラウド」の2つに分類することが出来ます。
・パブリッククラウド
オープンにされた環境を不特定多数の利用者で共有して利用します。リソースを共有して使うからこそサービス料金が抑えられ、契約をして利用料金を支払うだけで誰でも簡単に利用開始することが出来ます。
・プライベートクラウド
利用者ごとにそれぞれの環境を用意して利用します。自由にカスタマイズでき、自社のセキュリティポリシーが適用可能なため、サービス料金は高くなる傾向にあります。
クラウドコンピューティングを提供するクラウドサービスの提供方法として、SaaS・PaaS・IaaSの3種類があります。
・SaaS(Software as a Service)
「サービスとして提供されるソフトウェア」という意味で、インターネット経由でソフトウェアを利用するクラウドサービスの一形態です。サービス提供事業者側でメンテナンスやアップデートを行うため、ユーザーはアカウントを作り、サービス利用料金を支払うことですぐに利用が開始できます。
▼ 関連記事 ▼
・PaaS(Platform as a Service)
アプリケーション開発に焦点を当て、データベース、Webサーバー、フレームワーク、開発言語など、開発者がアプリケーションを構築、テスト、デプロイするために必要なツールや環境を提供するサービスです。開発の規模次第で、ツールや環境と言ったリソースを自在に組み合わせることが出来るため、効率の良い開発が実現します。
・IaaS(Infrastructure as a Service)
基盤となるストレージ、CPU、メモリなどの仮想化されたインフラストラクチャを提供するサービスです。インフラ部分がオンライン上にあるため、サーバーなど実機を所有する必要がなく、自社ニーズに合わせてリソースの調整も可能になり、リソースの効率的な利用とコスト削減が見込めます。
ここでは、クラウドコンピューティングの技術によって提供されるクラウドサービスのメリットを挙げていきます。クラウドサービスは、欲しい機能がインターネット経由で使用できるという、手軽さやコスト面などのメリットから、利用がどんどん盛んになっています。
・コスト削減
導入にあたり、サービスに必要な料金を支払うのみで、物理的な機器購入が不要なため、従来のシステム構築と比較すると、大きくコストを抑えることができます。
・アクセス
ブラウザやデバイスに縛られずアクセス可能な柔軟性があります。
・セキュリティ
クラウドサービス提供事業者管理のもと、セキュリティ対策がなされたクラウド環境にあるデータは、個人で管理が必要なローカル環境にあるデータよりも安全であると考えられます。
・スピード
クラウドサービスの多くは、契約と同時に料金を支払い、その日からすぐに利用が可能です。迅速な導入によって、ビジネスを加速させることも可能です。
・スケーラビリティ(拡張性)
従来のシステム構築では難しかった、システムの使用状況に応じたサービスの選択や、サービスの柔軟な組み合わせが可能です。
多くのメリットがある一方で、クラウドサービスならではの注意点もあります。
・カスタマイズや連携が自由にできない
すでに完成されたサービスを使用するため、カスタマイズには限界があります。また、自社システムなどと連携ができない場合もあるため、要件に合わせた細かなカスタマイズをしたい場合は、従来のオンプレミス型や、一部クラウドサービスを利用するハイブリッド化も視野に入れる必要があります。
・クラウド提供事業者に依存することによるリスク
特定のクラウド提供事業者へ依存することで、将来的に別サービスへの移行や再構築が難しくなる可能性があります。また、使用しているサービスにおいて障害が発生した場合、クラウドプロバイダー側での修復を待つしかないため、サービスの停止や、場合によってはサービスの終了を余儀なくされる場合もあります。そのため、データのバックアップは複数とり、不測の事態へ備えましょう。
クラウドコンピューティングの代表的な例を紹介します。
・AWS(Amazon Web Services)
Amazonが提供している、世界シェアNo.1クラウドコンピューティングのサービスです。豊富で多彩なサービスから、自分に必要なサービスを組み合わせることで、コストを抑えながら、効率的に利用することができます。また、世界中にデータセンターが設置されていることで、高パフォーマンスのサービスが安定して提供されています。
▼ 関連記事 ▼
世界シェアNo.1のAWSって何で人気なの?選ばれている理由に迫る
・Microsoft Azure
AWSに次ぐ人気なサービスAzureはMicrosoftが提供しており、WindowsやOfficeとの親和性が高く、Office系のソフトウェアを利用している業務はクラウドに移行しやすいと言われています。
・GCP(Google Cloud Platform)
Googleが提供しているGCPは、YouTubeやGmailといったGoogleサービスと同等のインフラを低コストで提供しています。また、データ分析や機械学習を得意とし、それらに関するサービスの活用ができます。
インターネット技術やスマートフォンの普及により、当たり前に使われるようになった「クラウド」の概念や、クラウドコンピューティングとクラウドサービスの関係や仕組みについて解説してきました。
クラウドコンピューティングは提供形態やサービスの種類によって分類することができます。クラウド導入は、コスト削減や拡張性、導入までのスピード感といったメリットがありながら、カスタマイズ性に欠けるなどの注意点もあるため、どのサービスが適しているのか、自社の要件としっかり照らし合わせて、選択していく必要があります。
JIITAKではWebアプリ開発やモバイルアプリ開発において、AWSをはじめとして、AzureやGCPにも対応し、目的に応じたインフラ環境の構築を行なっています。プロダクト開発で何かお困りごとがありましたら、お気軽にご相談ください!