1-1 サーバーを理解することはシステムを理解すること
システムとサーバー
社会ではさまざまなシステムが動いています。
個人として利用するシステムでは、オンラインショッピングの注文システム、銀行やコンビニのATMシステム、Suicaなどの交通機関のシステムなどが身近な存在です(図1-1)。
ビジネスという視点で見ると、企業や団体での業務システムが真っ先に頭に浮かぶでしょう。コンビニやスーパーのPOSシステム、工場の生産を管理するシステム、携帯電話の通話を管理するシステム、人工衛星を利用する科学技術のシステムなど、例を挙げるときりがありません。
このような多様で規模も大小さまざまなシステムをひとくくりで理解するのは難しいことです。
しかし、どのようなシステムも一定の規模の役割を果たすことを目的とするのであれば、必ずサーバーが存在します。
サーバーの役割
大半のシステムは、外見であるハードウェアとしては、サーバーと配下のコンピュータ、そしてそれらをつなぐネットワーク機器で構成されています。サーバーはその中で中心的な役割を果たしています(図1-2)。
また、中身であるソフトウェアとしては、「何がしたいか、何をさせたいか」に応じたアプリケーションソフトが動いています。サーバーはアプリケーションソフトを動作させる主役でもあります。
このようにサーバーはシステムの中で重要な役割を果たしています。サーバーからシステムを見ていくことで、さまざまなシステムを理解することが容易になるとともに、やりたいことを実現するシステムがイメージできるようになるでしょう。
1-2 サーバーはシステムの司令塔
司令塔としての存在
前節でサーバーはシステムにおいて、ハードウェアとソフトウェアの両面から重要な役割を果たしていることを述べました。これをスポーツの世界でたとえるなら「司令塔」のような存在です。たくさんの選手が同時に動いているサッカーやラグビー、その他の競技では司令塔が誰であるかが必ず話題になります。状況を分析して選手に適切な指示をする、選手の疑問に答えるなど、サーバーはまさにそのような存在です(図1-3)。
近年はAIの活用により、まだ一部ですが判断を要することもできるようになりつつあります。
スポーツの世界と異なる部分があるとすれば、精神的な支柱ではないことです。あくまで技術的あるいはマネジメントの立場に徹しています。
サーバーの3つの利用形態
サーバーには、次のように3つの利用形態があります(図1-4)。
クライアントからの要求に対応して処理を実行する形態
サーバーに接続されているクライアントPCのような配下のコンピュータからの要求に対応して受動的に処理を実行します。
サーバーから能動的に処理を実行する形態
サーバーが配下のコンピュータやデバイスに対して能動的に処理を実行します。
高い性能を活用した形態
サーバー自体が高性能なハードウェアであることから、その特長を活かした処理を実行します。近年注目されている機能です。
この後、それぞれの解説を進めていきますが、もちろん組み合わせて使われることもあります。
1-3 クライアントからの要求に対応して処理を実行する形態
サーバーの基本的な利用形態
サーバーといえばクライアントからの要求に対応することが基本的な利用形態です。「クラサバ」、「クライアント・サーバー」などと呼ばれるときは、そうした役割を期待されています。システムとしては配下のクライアントPCなどからの要求に応える処理で、クライアントからサーバーに要求することに始まり、サーバーは要求された処理を受動的に実行します。
特徴として次の3点が挙げられます(図1-5)。
- サーバー1台に対してクライアントは複数台
- サーバーとクライアントで共通のソフトウェアを利用することが多い(サーバー用、クライアント用に分けられる場合もある)
- クライアントがサーバーに対して随時要求を上げてくる
受動的な利用形態の代表的な例
受動的な利用形態の代表的な例として、次のようなものがあります(図1-6)。
- ファイルサーバー
- プリントサーバー
- メールやWeb のサーバー
- IoT サーバー(デバイスが随時データを上げてくる場合)
これまで一般的にサーバーと呼ばれていたものは本節で解説しているクライアントからの要求に対応する形態に属していることがわかります。企業や団体における業務システムも大半はこの形態です。しかしながら、それだけではないというのが現代のサーバーやシステムの興味深いところです。続いてサーバーから能動的に処理を実行する形態について見ていきます。
1-4 サーバーから能動的に処理を実行する形態
配下のコンピュータやデバイスに対して能動的に処理を実行する形態
クライアントからの要求に対する処理との明確な違いは、サーバーから処理を開始・実行することです。サーバーがクライアントPCや配下のコンピュータ、デバイスに対して命令する、処理を実行する形態です。
特徴として次の3点が挙げられます(図1-7)。
- サーバー1台に対してクライアントは複数台
- 必ずしもサーバーとクライアントで共通のソフトウェアを利用するわけではない
- サーバー側で処理のタイミングを定めて実行する
能動的な利用形態の代表的な例
能動的な利用形態の代表的な例として、次のものがあります(図1-8)。
- 運用監視サーバー
- RPA サーバー
- BPMS サーバー
- IoT サーバー(IoT デバイスを呼び出す場合など)
上記の例を見ると、一般になじみは薄いのですが、企業や団体のシステムや業務の運営において重要な役割を果たしているサーバーであることがわかります。
1-5 高い性能を活用した形態
高性能な処理の特徴
前節まではサーバーと配下のコンピュータという構成で、処理を実行するのがクライアント起点か、サーバー起点かの違いがありました。
ここで解説するのはこれまでとは異なる観点での処理です。
詳しくは第2章で紹介しますが、サーバーはPCと異なり高い性能を有しています。PCが普通の自動車だとすると、サーバーは用途に応じて性能や規模を変えることができるので、F1、戦車、大型トラックなどにたとえることができます。これらの車両は、一般の自動車とは異なる次元の高い成果を上げることができます。
特徴は、次の通りです(図1-9)。
- サーバーとクライアントの構成とサーバー単体に近い構成もある
- サーバー側で独自の処理を実行する
- PCではできない高い性能が求められる
高い性能を活用した形態の代表的な例
代表的な例として、次のようなものがあります。
- AIサーバー
- ビッグデータサーバー
例を見ると、今後の拡大が期待できる分野であることがわかります。
ここまでサーバーの利用形態を大きく3つに分けて紹介してきました。「クラサバ」というイメージに捉われて考えてしまうと、サーバーからの能動的な処理や高い性能を活用した利用形態が見えなくなってしまう可能性があることが理解できると思います。現在のサーバーの利用方法にはさまざまな可能性があることを意識しておいてください(図1-10)。
1-6 サーバーに接続する機器
クライアントにはさまざまな種類がある
「サーバーに接続する機器は?」と質問されたら、多くの方はクライアントPCと答えるでしょう。以前からクライアント・サーバー、クラサバなどの呼び方があるくらいですから模範的な回答です。
クライアントPCといっても、デスクトップPC、ノートブックPCなどさまざまにあります。以前はこの2つが代表選手でした。
しかしながら、現在のリモート環境ということを意識すると、ノートブックPCに加えてタブレットなどもあります。さらに幅を広げるとスマートフォンなどもあり得ます(図1-11)。
リモート環境で接続する場合には第5章で解説するIMAPサーバーなどが必要になりますが、このような環境を構築している企業や団体も増えています。
多様化するデバイス
冒頭からサーバーと配下のコンピュータやデバイスという言い方をしてきました。
これは上記のクライアントPCだけでなく、IoT機器などもサーバーに接続するデバイスに含めたいからです。
例えば、図1-12のように、各種のカメラで取得した画像をサーバーで解析することもできます。
ICタグ自体はデバイスというほどの機能はありませんが、ICタグの中のデータをサーバーに読み込ませて処理することも行われています。
つまり、現在のシステムを考えるときにサーバーに接続できるデバイスは、PCやスマートフォン以外にもさまざまなものがあり多様化しているということです。
例えば、ドローンやネットワークに接続できるロボットなどであってもいいのです。
瞬発系か持久系か?
アプリケーションの視点
サーバーを考えるときに何をしたいか・させたいかが重要であることは冒頭でも説明しました。本節ではアプリケーションの視点で考えてみます。
普段利用するシステムでは、次のように大きく2つに分けることができます。
入出力を重視するシステム
入力したデータに対して処理結果を迅速に返すシステムです。
集計や分析を重視するシステム
個別に入力されたデータの集計や分析を重視するシステムです。
図1-13は、現実にはどちらかといえばいずれかを重視するということですが、大半のシステムは両者を兼ね備えています。
瞬発力と持久力
入出力を重視するシステムはレスポンスが重要ですから、早押しクイズのように瞬発力を重視するシステムです。集計・分析を重視するシステムは全体のデータの入力状況を見ながら処理を進めていくので、長時間にわたる入学試験のように持久力が要求されるシステムです(図1-14)。
いずれにしても処理を間違うことは許容されません。
近年注目されているプロセスを重視するシステムは後者に位置づけられます。
ここまでサーバーの3つの利用形態や接続する機器に関して述べてきました。それらに加えてサーバーの中身としてのアプリケーションの特性も想定することができれば、システムやサーバーの検討は確実に前に進みます。
1-8 システムをモデル化して整理する
モデル化の例
これまで述べてきたことを整理してみます。
図1-15のように各種のシステムに接続する機器とやりたいことをもとに整理してみます。最後の項目にはそれぞれのシステムの例におけるサーバーの利用形態を示しています。
例えば、サーバーがクライアントPCや各種のデバイスからデータを取得して更新するようなモデルであれば、使われるデバイスはさまざまです。仮に入出力を重視するシステムだとすると、瞬発力を発揮する高速なサーバーが必要と想定することができます。また、システムとしての物理的なイメージもわいてきます。
このように軸を決めてモデル化できると、関係者でシステムやサーバーに関する期待や要求を具体的に確認できるとともに、求めていない機能も明確にできます。
1-6 モデル化での留意点
何をしたいのか、どのような処理を求めているのかについて関係者間で共通認識を持つことが重要です。ここではわかりやすさのために接続する機器の種類や数量、さらにどのようなデータをやりとりするかから入って、入出力重視と集計・分析重視の2つにまとめています。
あらためて、どのように使いたいか、どのようなシステムなのかというサーバーの中身のソフトウェア的な要求と、箱であるハードウェアとしてのサーバーはどのようなものが適切かをあわせて検討していくことが必要です(図1-16)。
そのためには中身と外見、アプリケーションソフトとハードウェアの両面から考える必要があります。
1-9 基本的なシステム構成
基本的なシステム構成の例
ここまででサーバーとシステムに関しての基本的なことは理解できたかと思います。ここではシステム構成例に関して見ておきます。
最もシンプルな構成は、複数台のクライアントPCとサーバー1台で、企業や団体の部門の業務システムやファイルサーバーなどの例です。
図1-17ではサーバーを上に配置して下にクライアントPCを置いています。両者の間にはネットワーク機器のルータやハブがあり、LAN環境で接続されています。よくあるケースとしては企業や団体の部・課・グループごとにハブが設置されます。
例えばハブのLANポート数が24なら、24人ごとにハブが必要ということになります。実際には1台のクライアントから複数のさまざまなサーバーに接続されています。
増えている無線LAN
近年、個人宅でもWi-Fiを利用している方が増えているように、オフィスでの無線LANの活用も増えています。
図1-17と図1-18を比べると、図1-18の構成の方が有線のLANケーブルの敷設をする必要がないことから、オフィスレイアウトや座席などの自由度が高いことがわかります。
サーバーは司令塔
図1-17と図1-18を見ると、サーバーがシステムにおける司令塔であるということを再認識できると思います。