こんにちは!Chihiroです(*゚∀゚)
サーバーって何なのか。具体的に説明することはできますか?
おそらくサーバーとは何かを説明できる人は
この世に100人もいないのではないか、と思います。
なぜなら私自身もサーバーとは何なのか、
誰にでもわかるように説明できるかと言われたら、難しいと感じるからです。
私もSEになる前まではサーバーのことについては
ほとんど何も知りませんでした。
小学生の時に友人とホームページを作ろうとした時に、
ホームページにはレンタルサーバーが必要でお金がかかる、
ということを知っていたくらいです。
SEになって研修でもサーバーのことについては学びましたが、
それでも「サーバー」という存在がぼんやりしていました。
なぜぼんやりしていたのか?
今考えるとそれは、
「サーバー」という言葉自体が相対的な名前だからだと思い、
サーバーについて知れば知るほど
奥深いものだということがわかるようになりました。
まず、サーバーとは簡単に一言で言うなら
「提供する物」です。
「提供する物」と考えると、単純ですよね?
けど、「サーバー」はその言葉自体が相対的であるために、
何となくわかりづらさが残るのです。
例えば、「コップ」と言うと、あの取っ手がついた、
飲み物を入れる器のことだと想像しやすいですよね?
それは「コップ」が相対性のない独自の名前だからです。
サーバーには「サーバー」と言うからには、
提供する物、提供する相手が存在することが想像できます。
では、サーバーが「提供する物」であるならば、誰に何を提供するのでしょうか?
例えば、サーバーはIT系以外でも使われることがありますよね?
ビールサーバーや、レストランのサーバントもそれに当たります。
ビールサーバーであれば、ビールをお客さんに提供しますし、
サーバントはお客さんに注文した料理を提供します。
ではITやインターネットにおけるサーバーとは何でしょうか?
インターネット関連で使われる「サーバー」は、
パソコン、いわゆるPCの、とある特定のリソースが増強された、
画面もキーボードもマウスもない
PC本体そのものと考えていただければ十分です。
パソコンのリソースというと、いろいろなものがあります。
CPUだったり、メモリだったり、
ハードディスクやSSDの容量がたくさん積まれているのかもしれません。
サーバーはそうしたパソコンの
特定のリソースが増強されたものです。
例えばあなたが自分のブログや
副業を始めるために、
WordPressをインストールできるサーバーを選ぶとしましょう。
WordPressはサーバーなしでは動かない
「アプリケーション」、
もしくは「ソフトウェア」とも言えます。
WordPressをインストールできるサーバーは「WordPressサーバー」と呼ばれます。
実際にWordPressを使っている方はご存知かもしれませんが、
WordPressを使う際には、データベース(DB)、PHPなど、
WordPress以外のアプリケーションも必要となります。
データベースには種類がいくつかありますが、
MySQLやPostgreSQLなどがあります。
データベースはよくわからない、という人でも
MySQLなど名前は聞いたことがあるかもしれません。
基本的にレンタルサーバーの多くは
WordPress以外のデータベースも
同じサーバーにインストールされています。
しかしこれが法人用で、ダウンしてしまうと
社会的影響の大きいサーバーであれば、
WordPressとデータベースは
別々のサーバーにインストールすることが基本です。
つまり、「WordPressサーバー」と「データベースサーバー」の
2つのサーバー機器が存在するようになるわけです。
なぜそんなめんどくさいことを、
わざわざアプリケーション毎に
サーバーを分けないといけないのでしょうか?
例えばそのレンタルサーバーが何かの異常でダウンしたとします。
もしサーバーにWordPressの他にMySQL(データベース)の
アプリケーションがインストールされて使われていた場合、
原因特定するのが困難になります。
WordPressソフトウェアが原因でダウンしたのか、
あるいはMySQLソフトウェアが原因でダウンしたのか、
原因解明が難しくなるということです。
もしこれが、WordPressサーバー、
MySQLサーバーと別々に分けられていれば、
原因特定は容易になります。
さらに、どちらもそれぞれ2つ、サーバーがあれば、
1つが落ちたとしても、
もう1つのサーバーで継続して運用が可能となります。
もちろんその2つのサーバーにどうセッションを分散するかなど、
上位のネットワーク機器が制御する仕組みは必要となりますが、
明らかに1つのサーバーを使うよりもリスクが軽減されるようになるのです。
WordPressとデータベースが別々のサーバーにあれば、
WordPressサーバーはWordPressがサクサク動くように
CPUとメモリを増強し、
データベースサーバーはCPUとメモリはそこそこに
ディスク容量だけ多めにしておけば十分です。
1つのサーバーにCPUもメモリもディスクも全て
増強する必要はないのです。
仮に、CPUもメモリもディスクも3つ全て増強してあり、
WordPressとデータベースがインストールされている
サーバーがWordPressが原因でダウンしてしまった場合、
正常に機能するディスクとデータベースが
暇を持て余してしまうことになります。
しかし、24時間365日どーーーーーーーうしても無停止で
WordPressサイトを運営させていかなければならない、
という場合は、個人のサイト規模であればほとんどありません。
24時間365日無停止というのは、
銀行や水道、電気、製造などの
社会的インフラを支える業界の会社で求められることです。
多くのレンタルサーバー、VPS提供業者は
個人事業主のサイト程度の運用時間であれば
クリアできる環境を整えているので、
WordPressとデータベースのサーバーを分ける必要はありません。
それはSLA、いわゆる稼働率でわかります。
例えば稼働率99.9%を謳う業者であれば、
年間8.76時間は停止することがあるということです。
99.96%であれば、年間3.504時間です。
それ以上停止時間があるとマズいソフトウェアであれば、
専用サーバーやクラウドを使うことをお勧めします。
話が逸れましたが、つまりサーバーというのは
そのソフトウェアに特化した機能が増強されたパソコンを指すのです。
レンタルサーバーというと、買った方が安上がりになるんじゃないか、
と思われるかもしれません。
しかしレンタルの方が購入よりもメリットは大きいです。
なぜなら、サーバーは管理がとても大変かつ複雑であるからです。
例えば、たくさんの人がアクセスしにくるWordPressサイトであれば、
その通信料に耐え得るだけの
通信回線、電源、クーラーといった設備が必要となります。
その設備を整えた環境がいわゆるデータセンターと呼ばれる建物です。
サーバーを所有している企業は
データセンターという、通信回線も安定していて、
電源も冗長化していて、
大量アクセスにも耐えて
熱でショートしないようなクーラー設備が整った、
セキュリティも万全な建物に
サーバーを置いているのです。
設備以外にサーバーの中身の話をすれば、
サーバーもパソコンと同じようにOSがあり、
色々なソフトウェアがインストールされているので、
そのOSやソフトウェアの更新も行う必要があります。
パソコンでもWindowsであれば、
Windows Updateをしてくださいと通知されたり、
macであればApp Storeで更新、
そして再起動が必要となることがありますよね?
サーバーもそれと全く同じなんですよ。
WordPressを動かしてるサーバーを
OS更新のために再起動させなければならない、
となると当然ダウンタイムも発生しますし、
更新したら急にこれまで使っていたWordPressが使えなくなる、
なんてことだってあり得るわけです。
これを全て自分で原因解明、解決まで行うのはかなり大変ですよね?
レンタルサーバー提供業者は、その動作確認も含めて
サーバーの管理や更新を行ってくれているのです。
そう考えると、自分でサーバーを購入して運用するよりも
はるかにレンタルサーバーを使用する方がコストメリットがあります。
いや、コストよりもむしろ自分の時間的制限が
格段に減少することが最大のメリットですね。
自分のパソコンであれば、故障したら
自分で修理店に持っていかなければいけませんが、
サーバーが故障したらレンタルサーバー業者がちゃんと修理まで行ってくれます。
そうしてなるべくダウンタイムを抑えて、
レンタルサーバー提供業者はWordPressで
サイトを運営したい人にサーバーを提供し、
WordPressサーバーは訪問者に
閲覧可能なWordPressサイトを提供するのです。
データベースとWordPressでサーバーが
分かれているならば、
データベースサーバーはWordPressサーバーへ必要な情報を提供します。
これがサーバーです。
WordPressやデータベースの他にも、
様々なソフトウェアを動かすサーバーが存在します。
基本的にはサーバーはそうした
縁の下の力持ちなのです。
私たちはその縁の下の力持ちの力を借り、
なるべくサーバーを意識せずに利用することが大切なのです。
良いサーバーとは、意識されずに役割を全うする
自動化の仕組みを提供できる機器なのです。