仮想化とは
クラウドを支える上で重要な技術が仮想化
コンピューターが何か仕事をするときは、物理的なメモリやハードディスク、OSなどの様々な部品が必要
これらの部品をソフトウェアで置き換えるものが仮想化技術。
ex)
仮想サーバーは、ひとつの物理サーバー上に、複数の異なるサーバーを仮想的に作成し、本来サーバーに必要な物理的な部品を仮想的に作成する
ネットワークも同様に、一つの物理的な配線を仮想的に分割し、別のネットワークと統合したりして、その接続を瞬時に瞬時に変えることができる。
仮想化による複製
仮想サーバーに割り当てるメモリやストレージは、自由に増減できる。そのためメモリやストレージは自由に性能を調整できる。
性能を限界に引き上げても、それ以上に負荷がかかった場合は、サーバーの台数を増やさなければならない。
こうした作業も仮想化は有効
- 物理的なサーバーの場合
台数を増やすためには、サーバー(パソコン)自体が何台も必要 - 仮想的なサーバーの場合
一台の物理マシンに何台も仮想マシンを作成できる
分散処理とロードバランサー
クラウドを支える上でもう一つ重要な技術が分散処理
分散処理とは、複数の機器に処理を分散させる手法のことを指す。
一般的なサイトでは大きくアクセスが集中することは少ないが、イベントやキャンペーンをするとアクセス量が膨大になる。
そんな時に、同じ機能や情報を持った複数のサーバーに処理を分散させることで、一台あたりの負担を軽減し、サーバーダウンを防ぐ。
複数のサーバーに処理を振り分けるのがロードバランサーと呼ばれるもの。
AWSではロードバランサーとして、ELB(Elastic Load Balancing)がある。
冗長化とは
万が一システムやサーバーに何かあった場合でも稼働し続けられるように対策しておくことをいう。
バックアップをとり、複数台で運用したりするのが一般的