サーバーエンジニアはサーバーやネットワークに関する様々な知識とスキルが必要とされます。
しかし、特に未経験の方はどこから勉強したら良いのか分からないという方も多いのではないでしょうか。
この記事では、サーバーエンジニア未経験の方がまず覚えておきたい知識のひとつ「クライアント・サーバーシステム」を紹介します。
目次
クライアント・サーバーシステムとは?
クライアント・サーバーシステムは現在の企業で一般的に使われているシステム構成のことを指します。
「クライアント」と「サーバー」の2つで成り立つシステムのことをそう呼びます。
多くの人が見ているWebページも、Webシステムと呼ばれるWebブラウザを通して利用しているクライアント・サーバーシステムです。
まず、ユーザーがクライアントに「ページが見たい」とリクエストします。
クライアントはリクエストをサーバーに送り、サーバーは該当のページ情報をクライアントに送り返します。そしてクライアントはそれをユーザーに送ることで、ユーザーはページを見られるのです。
この動きはクライアントの端末に専用アプリケーションがなくても、Webブラウザのみで利用できます。
クライアント・サーバーシステムは、Webサーバー、APサーバー、DBサーバーの3つに分かれており、これを「Web3層構造」と呼びます。
サーバーエンジニアはこのWeb3層構造と呼ばれるサーバー群に関わることが多いため、この部分は覚えておきましょう。
クライアント・サーバーシステムのメリット
では、なぜクライアントとサーバーは別々にする必要があるのでしょうか。
ここではクライアント・サーバーシステムのメリットを紹介します。
負荷を分散できる
集中型のシステムでは、ユーザーごとに処理を行わなくてはいけないので、汎用機に負荷が偏ってしまいます。
クライアント・サーバーシステムなら、多くの処理をクライアントが行い、サーバーは限られた処理を行うだけ済みます。
柔軟にシステム変更できる
クライアント・サーバーシステムならページのデザインを変更する際にも、サーバーの処理のみで可能です。
クライアントとサーバー、どちらかを変更すれば良いだけなので、どちらも停止させる必要はありません。そのためシステム変更も柔軟に行えます。
どちらかが故障しても影響を受けにくい
クライアント・サーバーシステムはクライアントとサーバーが別々になっているので、ブラウザが壊れてもサーバーは影響を受けません。
そのため、他の人がクライアントであればページ閲覧を続行でき、故障時の問題特定も容易に行えます。
現在のシステム設計の主流
クライアント・サーバーシステムはクライアントとサーバーが別々に稼働しているシステムのことを指します。
別々になっていることで負荷を分散できる、柔軟にシステム変更できるなど様々なメリットがあります。
現在のシステム設計の主流となっているので、サーバーエンジニアを目指す方はまず覚えておきましょう。
インフラエンジニア専門の転職サイト「FEnetインフラ」
FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。
転職をお考えの方は気軽にご登録・ご相談ください。
