クラウドを「知ろう」「使おう」
クラウドを「知ろう」「使おう」

クラウドのアーキテクチャを理解するための知識とは?

クラウド 全般 分散化技術 仮想化技術 クラウドコンピューティング Cloud

目次

  1. クラウドという雲の向こうを知るために
  2. クラウドのベースになる仮想化技術を利用したサーバを作ってみよう
  3. クラウドの基礎となる仮想化技術は決して難しくない!
  4. クラウドで使われている技術は定番技術ばかり

クラウドコンピューティングは、今ではIT業界になくてはならないものになりました。アプリケーションサービスの提供だけを受けるSaaSに始まり、プラットフォームサービスであるPaaSや、インフラ自体をサービスとして受けられるIaaSまで、サービスの粒度もさまざま用意されており、ユーザの広範囲なニーズに応えられるようになっています。

 

利用するだけなら、クラウドサービスを「そんなものだ」と深く考えずに受け止めれば良いのですが、技術者は、利用するものが漠然としていると不安になるものです。

この記事では、クラウドを理解するために必要な知識を簡単に整理してご紹介いたします。

 

 

 

クラウドという雲の向こうを知るために

クラウドは「雲」という意味で、クラウドコンピューティングとは、ネットワークを「雲」になぞらえたネーミングです。ユーザは、クラウドベンダーが提供するサイトにアクセスするだけで、さまざまなコンピューティングサービスを受けることができます。クラウドの最大の特徴は、ユーザがサーバの構成を意識する必要がないことでしょう。ベンダーがどんなハードウェアを使っていて、どのようなネットワーク構成でサービスを提供しているのかを知る必要はありません。しかも、必要に応じてCPUコア数やメインメモリ量、ストレージ量なども自由に増減させることができます。こうしたサービスは、どのような技術をベースにしているのでしょうか。

 

まず、クラウドコンピューティングの中心となる技術が「仮想化技術」です。

仮想化技術とは、コンピュータをソフトウェアでエミュレーションし、実際のハードから切り離して実装する技術です。仮想化ソフトを使えば、たとえば一台の物理コンピュータ上に2台のコンピュータを存在させることができます。ネットワーク越しにサーバAとサーバBという別のサーバにアクセスできるのに、そのハードの実態は1台だった、というような構成ができるわけです。逆に複数台の物理コンピュータを使って、一台のコンピュータをエミュレーションすることもできます。このように、仮想化技術は、どんなハードウェアやOSでも自由に構築することができる技術です。この技術を使って、ユーザは必要なサーバを「仮想的に」構築することができるわけです。

 

次に重要な技術が「分散化技術」です。ユーザからのアクセスを偏らずになるべく平準化してサーバにつなぐのが分散化技術の役割です。分散化技術の基本はロードバランサやネットワークのルーティング制御です。分散化技術の進歩のおかげで、クラウドベンダーは世界中からの大量アクセスにも柔軟に対応できるわけです。

 

 

クラウドのベースになる仮想化技術を利用したサーバを作ってみよう

クラウドのコアとなる技術であるコンピュータの「仮想化」は、パソコンさえあれば自分でも気軽に試してみることができます。仮想化ソフトには、 特にVMwareは私用目的なら無料でダウンロードして使えるので、試しに仮想サーバを作ってみるのに好都合です。

 

下記URLから無料版が入手できます。

https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/15_0

 

VMwareをインストール後、VMwareにOSをインストールしてみましょう。無料で入手できるので、Linuxディストリビューションの中でもメジャーなubuntuがおすすめです。

 

2018年12月時点で最新であるubuntu 18.04LTS日本語版は、下記URLから入手できます。

https://www.ubuntulinux.jp/News/ubuntu1804-ja-remix

 

実際に試してみるとわかりますが、上記の組み合わせで、Windows上でLinuxを動かすことができます。VMwareにインストールされたubuntuは、Windowsを介してネットワーク接続することもできますので、外から見ると単体でインストールされたLinuxなのか、仮想化されたLinuxなのか区別はつきません。これがクラウドの基礎です。

 

 

クラウドの基礎となる仮想化技術は決して難しくない!

VMwareを使って、Windows上にLinuxをインストールすると実感できますが、仮想化技術は難しいものではありません。仮想化ソフトがハードウェアをエミュレーションしてくれるので、使う側はハードコンピュータにインストールするのか、ソフトコンピュータ(仮想コンピュータ)にインストールするのかが違うだけで、やることはまったく同じです。しかも、仮想コンピュータはソフトウェアなので自由にコピー、移動することもできます。

 

また、ロードバランサがあればよりクラウドの基礎となっている仮想化環境に近づくことができます。興味がある方は、先ほどのubuntu上にロードバランサを構築してみると、クラウドのアーキテクチャの理解がより深まるでしょう。

 

 

クラウドで使われている技術は定番技術ばかり

クラウドで使われている技術の基本は仮想化と分散化です。どちらも最近登場したものでなく、昔からある技術です。それを組み合わせることで新しいサービスが産み出された、というのがクラウドの正体です。昔からある技術とはいっても、それを支えるハードウェアの性能進化があったからこそ新サービスが産まれたのも事実です。そういった意味では、クラウドはまさに、現代のコンピュータ技術の集大成といえるでしょう。