頻出IT用語の簡単な説明をしておきます

こんにちは、がじぇっとりっぷです。
さっそく比較表を、といきたいところですが、ワンクッションとして今後よく登場するだろうIT用語についての説明を行います。
これを説明しておかないと、後々の話で単語の意味がわからずに、結果、話の中身がぼんやりとした理解で終わってしまうなんてことがありそうなので。

手っ取り早くwikipediaを参照してね、なんて方法もありますが、wikipediaってなにげに概要じゃすまないんですよね。。。

スポンサーリンク

Webサービス

一般的にWEBサービスと呼ばれているものは、WEBアプリケーションを通じて提供されているサービスのことをWEBサービスと思われている方が多いかもしれませんが、実のところ、用語としては間違っています。
本来の定義ではWEBアプリケーションが裏で行っている通信技術のことをWEBサービスと言います。
とはいえ、すでに本来の意味で使用されることのほうが少ないように感じますので、ここでは前段の意味で用います。

WEBアプリケーション

元はこちらの言葉がインターネットを通して提供されるサービス全般のことを指します。
大雑把に言えば「WEBブラウザやスマホアプリなどを通じて利用するアプリケーション」となります。
google検索やブログ、ネットショップ、WEBメール、インターネットバンキングなどなど、ほとんどのインターネットサービスがWEBアプリケーションとして提供されています。

OS

オペレーティングシステムの略で、コンピューターを利用するための基本のシステムソフトとなります。
代表的なのはWindows、iOS、Androidですね。

あまり意識することはありませんが、キーボードを押したことを感知してアプリケーションに伝える、画面を表示する、実行中のアプリケーションの処理の順番を管理するなど、裏方作業全般がOSの役割となります。

ミドルウェア

ミドルウェアとは、OSと各種処理を行うアプリケーションの中間に位置するソフトウェアのことを指します。
例えばWEBアプリケーションの大半は何らかのデータを持っています。そのデータを管理する仕組みをそれぞれのアプリケーションで用意するのは大変なので、汎用的にデータを管理できるアプリがあれば便利です。こうして出来たデータ管理ソフトがミドルウェアとなります。

ミドルウェアの代表的なところでは、以下のようなものがあります。
裏方に位置するソフトウェアなので、普通にWebサービスを使っていても耳にすることはあまりないかと思います。

データベース管理システム(DBMS):MySQL、PostgreSQL、Oracle Database
WEBサーバーアプリケーション:Apache、nginx
監視:ZABBIX、SystemWalker、Hinemos
クラスタリング:CLUSTERPRO、HeartBeat

※クラスタリングとは複数のサーバーをひとつの塊とみなして、何らかの理由でサーバーが止まっても他のサーバーが即座にカバーすることで、稼働し続けることを可能にする技術です。

OS、ミドルウェア、アプリケーションの関係

サーバー

サーバーとはserve(提供する)+er(〜するもの)で、「提供するもの」という意味です。
speak+erでスピーカーと呼ぶのと同じですね。
ビールサーバーのサーバーも意味合い的には同じものですが、ここではコンピューターサーバーに限定して説明します。(当たり前ですね)

物理サーバー

サーバーはハードウェア的にはみなさんがお使いになっているデスクトップPCやノートPCとほぼ同じものです。違うのは24時間365日の動作に耐えられるよう、耐久面が強化されたものが使われていることが多い、というくらいです。
そこらのPCと変わりないので、かつては秋葉原でパーツを買ってきて組み立てて、サーバーとして使っていたなんて企業もあります。

このサーバーにOSとミドルウェアをインストールすることで、Webサーバーやデータベースサーバー、メールサーバーなどとして使用します。
元がアプリケーションなので共存も可能で、ひとつの物理サーバー内でWebサーバーアプリとデータベースサーバーアプリが同時に動作する、などということも可能です。

仮想サーバー

みなさまが使っているPCには、基本的にOSはひとつだけかと思います。
そのOSの代わりに仮想化ソフトウェアを動作させ、その上で複数のOSを動作させることで、物理的なサーバーは1台しかなくても、複数のサーバーがあるかのような状況を仮想的に作りだすことができます。
こうして仮想的に作られたコンピューティング環境一つ一つを仮想マシン、あるいは仮想サーバーと呼びます。

仮想化のメリットは、大きく2つあります。
ひとつ目は、ひとつの物理サーバーに複数のサーバーを集約することができることです。
ひとくちにサーバーと言っても、昼によく使われるものもあれば、夜の間に裏方処理をすすめるものもあります。
そういうのをひとつのサーバーに束ねることで、サーバーの使用率を向上させることができ、物理サーバーの台数を減らし、コストを下げることができます。

もうひとつのメリットが、物理的環境からの開放です。
これまではサーバーを用意するとなるとハードウェアの購入から行う必要がありました。それが仮想サーバーになると既存の物理サーバーの上に新しく仮想サーバー環境を作成するだけとなるので、数分で用意することができるようになりました。
さらに作成された仮想サーバーは、他の仮想化環境へ移動することも可能なため、物理サーバーに問題が発生しても、仮想サーバーを別の物理サーバーに移動させることで稼働を続けることが可能です。

CPU

CPUとはCentral Prosessing Unitの略で、日本語に訳すと中央処理装置となり、コンピュータの頭脳に相当するものです。
CPUの性能を表す指標に、動作周波数(クロック数)とコア数があります。
動作周波数は1秒間にどれだけの処理ができるかの数値で,2GHzとか3GHzとか書かれた項目の事になります。1GHzは1秒間に10億回を示しています。
コア数はひとつのCPUに搭載された計算ユニットの数のことで、簡単に言えば頭の数となります。頭が4つあれば4並列で考えられますよね。
一般的なcore i5やcore i7では4コアですが、サーバー向けCPUでは28コアなんてものもあります(その分超高価ですが)
最近では一般向けでも16コアなんて商品が登場しています。

メモリ

メモリとはデータやプログラムを一時的に記憶するための部品で、RAMと書かれることもあります。日本語では主記憶と呼ばれます。
HDDやSSDに比べて容量が少ない代わりに、読み書きの速度が圧倒的に早いのが特徴です。
大雑把に比較すると、以下のようになります。

種類 容量 速度
HDD 500〜8000GB 100〜150MB/s
SSD 128〜1000GB 500MB/s
メモリ 2〜16GB 25000〜30000MB/s

この違いから、HDDやSSDを本棚や引き出しの大きさ、メモリを机の広さと例えられることが多いです。

ストレージ

データを記憶して保存する装置全般を指します。
HDDやSSDだけでなく、USBメモリーやSDカードなんかもストレージに分類されます。
先ほど説明したメモリ(主記憶)は一時的な記憶しかできず、電源が切れるとデータが消えるので、ストレージには含まれません。
ちなみに、スマホなんかでよくROM 32GBとか書かれていることが有りますが、これがストレージになります。

最近ではオンラインストレージと言って、インターネット上にデータを保存するWEBサービスも多く登場しています。

クラウドコンピューティング

最近(といっても初出は2006年ですが)登場した言葉です。単にクラウドとも呼ばれます。
従来は手元のPCにアプリケーションをインストールして作業やデータ処理を行っていたものを、インターネット企業が持つサーバー設備にアプリの本体を置き、ブラウザなどを経由してアプリケーションを使うことをクラウドコンピューティングと呼びます。
物理的なハードウェアが雲(インターネット)の向こうにあるため、ユーザーがハードウェアを所有・管理する必要がなく、メンテナンスや更新、ハードウェアトラブルなどにかかる労力・コストを気にする必要がなくなります。

クラウドについては次回にもう少し詳しく説明します。

まとめ

よく使いそうな用語をまとめてみましたが、自分の頭の中にあるものを言語化するのって大変ですね。
CPUやメモリなんかは家電量販店の説明にも出てくるのでなんとなく分かる方も多いと思いますが、仮想サーバーなんて言葉はまず触れることはないですしね。