サーバーエンジニア未経験者向けの知識1【クライアント・サーバーシステム】

サーバーエンジニア未経験者向けの知識1【クライアント・サーバーシステム】

サーバーエンジニアはサーバーやネットワークに関する様々な知識とスキルが必要とされます。
しかし、特に未経験の方はどこから勉強したら良いのか分からないという方も多いのではないでしょうか。
この記事では、サーバーエンジニア未経験の方がまず覚えておきたい知識のひとつ「クライアント・サーバーシステム」を紹介します。

クライアント・サーバーシステムとは?

クライアント・サーバーシステムは現在の企業で一般的に使われているシステム構成のことを指します。
「クライアント」と「サーバー」の2つで成り立つシステムのことをそう呼びます。
多くの人が見ているWebページも、Webシステムと呼ばれるWebブラウザを通して利用しているクライアント・サーバーシステムです。

まず、ユーザーがクライアントに「ページが見たい」とリクエストします。
クライアントはリクエストをサーバーに送り、サーバーは該当のページ情報をクライアントに送り返します。そしてクライアントはそれをユーザーに送ることで、ユーザーはページを見られるのです。
この動きはクライアントの端末に専用アプリケーションがなくても、Webブラウザのみで利用できます。

クライアント・サーバーシステムは、Webサーバー、APサーバー、DBサーバーの3つに分かれており、これを「Web3層構造」と呼びます。
サーバーエンジニアはこのWeb3層構造と呼ばれるサーバー群に関わることが多いため、この部分は覚えておきましょう。

クライアント・サーバーシステムのメリット

サーバーシステム

では、なぜクライアントとサーバーは別々にする必要があるのでしょうか。
ここではクライアント・サーバーシステムのメリットを紹介します。

負荷を分散できる

集中型のシステムでは、ユーザーごとに処理を行わなくてはいけないので、汎用機に負荷が偏ってしまいます。
クライアント・サーバーシステムなら、多くの処理をクライアントが行い、サーバーは限られた処理を行うだけ済みます。

柔軟にシステム変更できる

クライアント・サーバーシステムならページのデザインを変更する際にも、サーバーの処理のみで可能です。
クライアントとサーバー、どちらかを変更すれば良いだけなので、どちらも停止させる必要はありません。そのためシステム変更も柔軟に行えます。

どちらかが故障しても影響を受けにくい

クライアント・サーバーシステムはクライアントとサーバーが別々になっているので、ブラウザが壊れてもサーバーは影響を受けません。
そのため、他の人がクライアントであればページ閲覧を続行でき、故障時の問題特定も容易に行えます。

現在のシステム設計の主流

クライアント・サーバーシステムはクライアントとサーバーが別々に稼働しているシステムのことを指します。
別々になっていることで負荷を分散できる、柔軟にシステム変更できるなど様々なメリットがあります。
現在のシステム設計の主流となっているので、サーバーエンジニアを目指す方はまず覚えておきましょう。

インフラエンジニア専門の転職サイト「FEnetインフラ」

FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。

転職をお考えの方は気軽にご登録・ご相談ください。

合わせて読みたい

サーバーエンジニアのスキルアップに役立つ副業・派遣の探し方... 「サーバーエンジニアとしてスキルアップ、キャリアアップをしたい」と漠然と考えているものの、具体的にどのような動き方をすれば良いのか悩んでいる方も多いでしょう。 派遣や副業、フリーランスと、サーバーエンジニアの働き方も様々なスタイルがあります。 将来のキャリアビジョンを明確に サーバーエンジ...
サーバーエンジニア未経験者向けの知識2【Webサーバー】... サーバーエンジニアはサーバー、ネットワーク、クラウドなど様々な知識が必要です。 しかし未経験からサーバーエンジニアを目指す人は、何から学べば良いのか悩んでいる場合も多いのではないでしょうか。 この記事ではWebサーバーについて紹介します。 Webサーバーの役割 パソコンやスマホなどから見...
サーバーエンジニア初心者が知っておくべきLinuxディストリビューションの種類... サーバーエンジニアの仕事では、Linuxを扱う機会が多く、その際はディストリビューションを使うこともあります。 サーバーエンジニアを目指す人は、Linuxディストリビューションについて一通り知っておくと良いでしょう。 hbspt.cta.load(20723875, '0f72735d-da9...
サーバーエンジニアが職場で使うLinuxディストリビューションの紹介1【Ubuntu】... Ubuntu(ウブントゥ)は、Linuxディストリビューションの中でも代表的なOS(オペレーティングシステム)の1つです。 サーバー用途でもデスクトップ用途でも幅広く使用されており、サーバーエンジニアになればUbuntuを扱う機会は増えるでしょう。 ここではUbuntuについて解説していきます。...
サーバーエンジニアに必要なヒューマンスキル5選|エンジニア全般に必要なスキル... サーバーエンジニアに必要なスキルとは? サーバーエンジニアはサーバーの設計や構築、保守運用などを専門に行うエンジニアです。 サーバーエンジニアを目指している方の中には、どのようなスキルが必要とされるのか知りたいという方も多いのではないでしょうか。 本記事ではサーバーエンジニアに必要なスキル...