前回までのプログラミング学習コラムに続き16回目の勉強内容です。
新年あけましておめでとうございます。植原です。
昨年の年末はMacBook ProのHDDのデータが飛び、年明け早々サーバのHDDのデータが飛びました。
皆さん、データのバックアップは重要ですよ!(真顔)
さて、年明け第一回目はそもそもサーバとはなんぞや、というお話です。サーバというと、皆さんどのようなものを想像されますか?
こういう形のコンピュータですか?
それともこういう形のコンピュータですか?
さきほどの2つのコンピュータはどちらもサーバです。
上のほうの写真のコンピュータは「タワーサーバ」、下の方の写真のコンピュータは「ブレードサーバ」といい、常時電源を入れたまま使用するサーバ専用機です。
ここで「サーバ専用機」という言葉が出てきましたね?サーバとは、「本来はソフトウェアの用語であり、クライアントサーバモデルにおいてクライアントからの要求に対して何らかのサービスを提供する役割を果たす側のプログラムを指す言葉」(Wikipediaより)です。「何らかのサービス」とは、例えばメールサーバであれば、電子メールクライアントソフト(以後、メーラー)からユーザが送信したメールを宛先のメールサーバに送信し、また送られてきたメールを受信してサーバのメールボックスに蓄積しておく機能、Webサーバであればブラウザから要求されたWebページをブラウザに送る機能のことを指します。
つまり、単にサーバと言った場合、
- メール送受信などのサービスを提供するプログラム(サーバプログラム)
- 1のプログラムを常時動かし続けておくためのコンピュータ(サーバコンピュータ・サーバ機)
- 2の用途に適するように壊れにくいように設計されたコンピュータ(サーバ専用機)
の3つのうちの何れか、または複数のことを指します。
このうち、1・2の意味では、今お使いのパソコンやスマートフォンもサーバ化することができます。11-13回目のコラムでパソコンをWebサーバ化しましたね。
通常、企業では、3.の用途のサーバ専用機にUNIXやLinuxなどのサーバ用途に特化したOSをインストールし、その上に1.のサーバプログラムを複数インストールした上で、2.のサーバ機として使用します。複数台の2.のサーバ機を1台の2.のサーバ機に見せかけることも出来ます。(冗長化と言います)例えば、2台のコンピュータで冗長構成を構築した場合、論理的には故障率は1台構成の場合の1/2になります。
次回はサーバについてもっと掘り下げていきます。お楽しみに。