サーバーを立ててWEBサービスを作ろう!
サーバーと定義されるものとは?
サーバーあるいはサーバと呼ばれているものは、クライアント・サーバモデルという「クライアントとサーバーを分離するネットワークモデル」から生まれたものです。一般的にこれはクライアント・サーバと呼ばれたり、クラサバと略されたりしていますが、これが生まれた当初は特に端末自体があまり高性能ではなく、貧弱な処理性能しか持ち合わせていなかったため、あらゆる大規模計算はメインフレームに集中させ、端末からそれを操作するという方式であることがほとんどだったことに由来します。
簡単に説明すると、テレビ放送局がサーバー、テレビ自体がクライアントといった感じのイメージが一番わかりやすいかと思いますが、テレビなどと違い一方的なデータの配信だけでなく様々な入力データのやりとりもおこなっていますので、実際には映像に関する感想なども、その放送局にテレビを見た人から届けることが出来るという風に想像して頂ければ、すんなり来たかと思います。
勿論これがクライアントサーバモデルと言われているからには、クライアント・クライアントモデルというのも当然あり、特にその中でも有名なものにはP2P方式というものがあります。例えばSkypeなどが、このP2P方式で通信を行っていてサーバーなどが無くても通信が可能なのはそのためです。また現在ではそのP2Pネットワークを更に改良したP4Pという技術が実現しようとしています。
サーバーの種類
サーバーには様々な役割を持たせることが出来ますが、代表的なものは以下に上げるものが殆どになっています。どんなものがあるのかそれぞれどんな性能をもつのか見て行きましょう。
ファイルサーバ
特に現在社内ネットワークというとこのファイルサーバーという使い方がもっともメジャーな使い道なのではないかと思います。これはLANやWANネットワーク上でファイルを共有するために設置されているサーバーで、複数のクライアントで同じファイルにアクセスすることが出来、また共有の手間が省ける上に、バックアップやデータ管理なども一括で行えるというシロモノです。ただし、リスク管理などと無縁ではなく、特にHDDというものは比較的壊れやすい部類の部品になっているのでRAIDやバックアップといった方式によって信頼性を上げていく必要が生まれてきます。最近では自社ファイルサーバーを持つよりもデータセンターなどを用いてクラウド化することが一種のトレンドとなっていますが、非常に安全ではあるものの、自社で管理せずに他人に丸投げして問題が発生したら嫌だという人などには未だに一定の需要があります。
メールサーバ
メールサーバーは電子メールを配信するためのサーバーソフトウェアやコンピュータの事をいいます。特に現在ではPOP/SMTPやIMAPを使ったものが主流であるのですが、今はクライアント・サーバ型のメールソフトを使うよりも、GmailやYahoomailといったメーラーサービスを利用することの方がかなり主流になってきているためあまり馴染みが無いという人もいるかもしれません。一世代前ですとメーラーソフトで、電子メールを読むという事が主流ではあったので、このようなサーバーを用いる事が一般的で、今現在だとメールマガジンやメーリングリストといったものに今なおこの技術が利用されています。
Webサーバ
おそらくほとんどの人がサーバーと聞いた時に真っ先に想像するのがこのWebサーバーだと思います。これはHTTP(Hypertext Transfer Protocol)というWebブラウザとWebサーバーとの間で、HTMLといったコンテンツの送受信する仕組みを動かすための要となる部分で、ポート番号80をデフォルトとして使用し、様々なWEBに関するデータをやりとりするようになっています。元々は欧州原子核研究機構(CERN)のメンバーであるティム・バーナーズ=リーがWorld Wide Webというインターネットについて考え始めたことによってこのWebサーバーとウェブブラウザというものが生まれたと言えるのです。
このWebサーバーですが、今現在はApache HTTP Serverやnginxというものが人気が高く、特に一般的にLAMP構成とされているものだと、WebサーバーにApacheを、CGI(サーバーで動く部品のようなもの)はPHP、Python、Perlなど、データベースはMariaDBやMySQLなどが使われているという訳です。勿論カーネルはLinuxが利用されています。
アプリケーションサーバ
アプリケーション・サーバーとはデータベースとユーザーインタフェース間の情報のやりとりを制御するタイプの物をサーバー側で様々な管理補助を行う事ができるもののことをいい、ウェブアプリケーションサーバーなどと良く似たような性能をもっているとも言えます。特にグループウェアや、クライアント別の内容の一括管理などを行う差異に使われる事があります。
演算用サーバー
科学分野や、映像制作などの分野で利用されているもので、大量の演算処理、またはレンダリングの処理を行うために使われる計算用のサーバーです。特にスパコンなどといった異常な計算速度を誇るものを、外部の端末によって処理依頼を行う場合はこのサーバーに接続しているということになります。
特徴は常時起動
サーバーにも様々な種類があることがわかってきたかと思いますが、このクライアントサーバモデルの特徴として、サーバーが常時起動して動いていないとクライアントは何も出来ないという事が一つの特徴としてわかってきたかと思います。特にP2PやP4Pといった物が常に何か主体として動いているものが無くても通用するのに対して、サーバー・クライアント型は常にサーバー側が一定のコストを支払い続けなくては存続できないことや、そのサーバー自体が継続して動くようにセキュリティーに気を使うことや、また多くのクライアントがアクセスした際にも問題なく動くように、性能なども非常に高いものが求められるという特徴があるのです。
そんなサーバーの高いハードルに対して、それを安い値段、もしくは無料で超えることが出来るのがレンタルサーバー、ホスティングサービスという仕組みなのですね。さて、次のページではそんなレンタルサーバーのプランや種類について詳しく見てきましょう。