みなさんが普段触っているPCもサーバも、どちらもコンピュータには変わりありません。しかしながら、サーバに苦手意識を持つエンジニアも少なくありません。
これは、多くの場合コンピュータを操作するために利用するインターフェース(Interface)の差異によって生まれているものと思われます。インターフェースとは「接続点」の意味を持ち、コンピュータサイエンスの世界では「何かと何かを接続するポイント/デバイス」という意味で用いられます。一般的に言われるユーザーインターフェース(UI)は「ユーザーとコンピュータの接続点」として、一般的にはPCの操作画面のデザインや利便性という文脈で語られることが多くなっています。そして、このUIの違いが普段使いの「デスクトップOS」と「サーバOS」を分けるものとして認識されているように思います。
デスクトップOS
GUI(グラフィカルユーザーインターフェース)を持ち、直感的操作が可能でユーザーフレンドリーな面を持つ。
的確に命令を出す必要がなく、わりと適当な操作でもコンピュータをいじることができる、
「曖昧」が許されるコンピュータとも言える。(ただし、複雑な設定にはコマンドが必要な場合もある)
サーバOS
CUI(キャラクターユーザーインターフェース)を持ち、操作は全てキーボード入力によるコマンドで行う。
「正確」さが求められ、操作には知識が求められる。ただし、GUI中心で操作できるサーバも存在する。
サーバOSとして、Linux、Windows Serverが代表的です。それぞれ、以下のような特徴を持ちます。
Linux
オープンソースのOSで、一般的にはCUIで操作を行うがニーズに合わせてGUIを導入することも出来る。無料のものが多い。
Web上のドキュメントも多いが、公式のサポートは一部を除き存在しないため自己解決できるスキルが必要不可欠。
サーバOSの主流で、Linuxをベースに開発されたOSも多い。(Android, ChromeOS, IOS XEなど)
Windows Server
通常のWindows同様に最初からGUI中心の操作。Microsoft独自の技術やサービスも多く、対応環境の構築には知識が必要。
サポートはあるが、OSの購入も含めて非常に高価。
本資料ではLinuxサーバを中心に取り扱い、次章ではLinuxの詳細について触れていきます。