みなさんこんにちは、こんばんは
私は入社当初、インフラエンジニアとしてサーバを構築したり、ネットワーク環境を作ったりしていました。今となってはできるようになりましたが、当初はサーバを作るって何言ってるんだ、、?という感じで、全くイメージが湧きませんでした。
そんな自分が、本日はサーバを構築するお話をしていこうと思います。
※本記事はあまり難しい言葉を使わずに内容をなんとなく理解するをモットーに記載しています。厳密にいうと違うこともありますが、まずは概要を汲み取っていただけると幸いです。
そもそもサーバって何?
そもそもサーバとは、簡単に言うとアプリケーションが動いている土台です。サーバと聞くと難しく感じるかもしれないですが、普通のPCと同じです。(物理的な形は全然違ったりしますが)
このブログも、とあるサーバにブログを書くためのアプリケーションが入っていて、そのアプリを操作してブログを投稿しています。他にも、例えば皆さんがPCで動画を見たいとなったとき、ある動画サイトやアプリを開いて動画を見ると思います。この動画提供もサーバで動いています。

最初に”サーバとは土台、みなさんのPCのようなものです”と言いましたが、みなさんのPCとサーバとでは大きく違う点があります。それは、アクセスする側なのかされる側なのか、です。動画を見にいくことはあっても、自分のパソコンに入っている動画やファイルを、全世界からアクセスされて見られることはないと思います。サーバはサービスを提供している側のことなのです。
逆にいえば、みなさんのPC上でアプリケーションをつくってアクセスを許可すれば、もはやサーバとなります。
何かいろんなサービスを提供してるコンピュータのことがサーバなんだなーと思ってもらえればと思います。
サーバの中身
では、そんなサーバには何が入っているのでしょうか?
ざっくりとOSとミドルウェアが載っています。
OS(オペレーションシステム)
その名の通り、システムを操作するものです。パソコンで言うとWindowsやMac、スマホで言うとiOSやAndroidのことです。
勉強ポイント
略語はぜひフル名称も併せて覚えましょう。
内容がそのままの意味だったりして覚えやすいです!
「ここをこうしたら、こうする」という指示に従って操作しているものです。例えばクリックをしたらそれを選択する、みたいなことです。
OSにはそれぞれ様々な特徴がありますが、その中でもポイントなのがGUI(グラフィカルユーザインターフェース)をメインとするか、CLI(コマンドラインインターフェース)をメインとするかかなと思っています。
GUIとは、それこそみなさんのPCのように画面を操作する、直感的にわかりやすいものです。CLIとは、コマンドにて指示を出すものです。ドラマとか映画とかでよくありそうな、黒い画面でカタカタやって入力しているのは、おそらくCLIです。絶対GUIの方がわかりやすいじゃんと思うかもしれないですが、やっていくとCLIの方がわかりやすかったりします。

その中でもサーバのOSとしてよく使われるのが、Windows系(GUI)、UNIX系(CLI)、LINUX系(CLI)です。それぞれコストがどうとか、OSとしての動作の重さがどうとか様々ですが、この場での詳細は省きます。興味があればぜひ調べてみてください。
ソフトウェア
ソフトウェアとは、サーバ上でアプリケーションを動かすためのものです。(ミドルウェアと言ったりもします)
例えばWebサーバが作りたい!となった時には、Webアプリケーションを動かすためのソフトウェアが必要です。元々OSにデフォルトで入っているものもありますが、他からダウンロードして使うことが多いです。みなさんのPCでも、メモを書きたい!となった時に、元々入っているメモ帳など使うこともあれば、もっと使いやすいテキストエディタを使うこともあると思います。そんなイメージです。
WebアプリだとNGINXやApache、メール送信だとPostfixなど、全く聞き馴染みのないようなソフトウェアがたくさんあります。それぞれの用途にあったソフトウェアをサーバに入れて使用します。
サーバをつくるとは?
ここまででお話ししてきた通りですが、サーバを作るとはOSが動いているコンピュータを準備し、そこにいろんなソフトウェアを導入して、提供したいサービスを提供できるようにする、ことを指します。
提供したいサービスの中身を作る訳ではなく、あくまでもサービスが動く土台部分だけのことです。
今までお話ししてきたことは、サーバ全体的なところでしたが、サーバにも仮想サーバ・物理サーバ・クラウドを使うなど様々な手法があります。
ここは長くなりそうなのでまた別の記事で紹介させていただきます。
コメント