Cloud Computing

Cloud Computing

2020, May 05    

クラウドコンピューティング(Cloud Computing)とは

サーバとインターネットの性能が急激に発展し、すべての演算作業をユーザが持つ端末内で処理する必要なく、インターネットを利用して第3の空間(サーバ、クラウド)で処理することができるようになった。インターネットを利用して必要なコンピューティングリソース(サーバ、ストレージ、アプリケーション、サービス)を、どこからでもアクセス・利用可能な形態をクラウドコンピューティングサービスという。

概念だけで説明すると難しいので、簡単に例を挙げてみよう。音声認識サービスはコンピューティング演算作業とデータ量が多く必要な人工知能サービスである。入力した声の値と比較しなければならない既存のデータ値も多く、ここに使うアルゴリズムも単純な作業ではない。比較データ値をすべて端末内で保存するには容量が不足し、アルゴリズム演算をすべて処理するにはハードウェア性能も足りない。また、周期的にサービスをアップデートするためには、各個人の端末別にデータ値を変えなければならないという難点がある。

むしろ、ユーザーが自分の声が保存されたファイルを第3の空間に伝え、そこで声を認識する必要な演算をすべて行った後、ユーザーに結果値を伝えるとしたら? 端末内では必要な演算の量が少なくなり、サーバ内では認識に必要なデータ値やアルゴリズムを独自に管理できるので簡便である。クラウド・コンピューティングはこのように高容量のデータ処理演算を第3の空間で行えるようする。

もちろん、クラウド・コンピューティングは、このようなモデルだけを持つわけではない。各使用目的によって大きく3つのモデルが存在する。

3つのクラウド・コンピューティング・モデル

3つのクラウド・コンピューティング・モデル(https://www.bmc.com/blogs/saas-vs-paas-vs-iaas-whats-the-difference-and-how-to-choose/)

3つのクラウド・コンピューティング・モデル

  1. サービスとしてのインフラストラクチャ(IaaS):最も基本的なクラウドモデルである。サーバのハードウェア全体をハイパーバイザ(Xen、VMware、KVM等)を用いて仮想化し、必要に応じて仮想マシンを生成して提供する形である。ここで作った仮想マシンはハードウェアを装着したコンピューターと見てもよく、ローカル環境で作った作業物をすぐに適用することができる。このようなサービスモデルは、ユーザーの立場から経済的に大変有用である上に、別途の装備を購入する必要がなく、仮想マシンのハードウェアを性能調整できるハイパーバイザのおかげで、自分の好きなだけコンピューティングパワーを流動的に調整することもできる。AWSが提供するEC2が最も代表的な例である。

  2. サービスとしてのプラットフォーム(PaaS):IaaSにおいては、OSまでを提供したとすれば、PaaSにおいては、これにプログラミング言語の実行環境、データベース、ウェブサーバのような機能を組み込み、ユーザが開発できる環境を提供する。アプリケーション開発者は特に問題なくソフトウェアソリューションをクラウドに取り込むことができる。代表的なものとしてグーグルAPPエンジン、Herokuがある。

  3. サービスとしてのソフトウェア(SaaS):IaaSやPaaSのように開発できる環境を提供するのではなく、単にサービスを提供する形である。代表的な例として、Google DocやMicrosoftのOne Driveなどがある。特に端末にアプリケーションやデバイスをインストールしなくても、インターネットを利用していつでもアクセスできる。

ユーザーが別途に装備を購入・設置しなくてもすぐに使用でき、さらにコンピューティングパワーを自由自在に調整できるため、理想的な技術であることには間違いない。しかし、すべてのリソースを自分のローカルで管理するのではなく、他の企業が提供するサーバで管理するため、セキュリティのリスクがある。実際、米国のある芸能人がグーグルクラウドに自分のプライベートな写真を載せたことが、ハッキングで世間に見せられたことやドロップボックスで2014年に7,000,000件のパスワードが盗まれたことを見ると、クラウド環境でセキュリティ事故が多発しているのは確かなようだ。(そのためか、最近IBMやMicrosoftなどのクラウド事業を行っている企業では、セキュリティ上に問題ないことを証明するために、セキュリティ企業の買収に熱を上げている。)

これといったセキュリティ事故がなくても、ホスティングで使っている企業が突然倒産したり、サービスを中止してしまうと、これまでクラウドに蓄積しておいたデータがどのように処理されるか、使用者としては困る状況である。