オンプレミスとは?基本情報技術者試験の重要キーワードを解説!

更新日:2021年7月2日

オンプレミスとは

近年ではサーバ等のインフラ環境に関するクラウド移行が進んでいますが、それでもまだ多くのITシステムはオンプレミス環境で動作しています。ITシステムの動作環境としてオンプレミスでの運用について知ることは実務上でも重要です。

この記事では、基本情報技術者試験の対策としてオンプレミスについての解説を行います。

目次

オンプレミスとは

オンプレミスとは、自前でサーバ等のハードウェアを用意してシステムを稼働させることです。

従来では、サーバ等のハードウェアは自前で用意することが当たり前でしたので、オンプレミスという言葉は存在しませんでしたが、クラウドコンピューティングの登場により、それと対比する言葉として従来のハードウェア運用方法をオンプレミスと呼ぶようになりました。

ハードウェアリソースを従量課金により柔軟に利用できるクラウドコンピューティングと比較して、オンプレミスでの運用は古い形式であるとみなされがちですが、オンプレミスにも多数のメリットがあります。

あらかじめ利用するハードウェアリソースが明確になっている場合は、一般的にクラウドコンピューティングよりも安価にITシステムを運用することができます。

また、外部流出が許されないような重要な機密情報を扱うシステムについては、ネットワークに接続せずに運用することもできるオンプレミスの利点が生かされます。

オンプレミスにおける処理方式の類型

オンプレミスにおける処理方式には、以下の種類が存在します。

集中処理

集中処理とは、高いスペックを持ったハードウェアを用意し、すべての処理をそのハードウェアで実施する処理方式のことです。ホストシステムで採用される方式であり、近年では運用事例は減ってきてはいますが、それでもまだ大規模システムなどで有効な運用方法です。

ホストシステムを利用した集中処理のメリットとして、高い稼働率と安定性が挙げられます。ホストシステムは内部で多重化がされており、ハードウェア単体故障にも強く信頼性が高いです。

また、大量の処理を実施するような高いハードウェアスペックが要求されるシステムにおいては、高性能であるホストシステムは特にその価値を発揮します。

分散処理

分散処理とは、複数台のハードウェアで処理を分散させる方式のことです。主にオープン系と呼ばれるPCサーバやブレードサーバなどを利用し構築され、Linux等のOSとともに導入されます。

分散処理で用いられるハードウェアは一台一台のスペックは高くないため、ホストシステムで対応することがコスト的に難しい小規模システムに用いることもできます。また、必要なスペックに応じてハードウェアを追加できるために拡張性に優れ、大規模システムにも適用することもできます。

クラウドコンピューティングが登場するまでは、集中処理に代わり分散処理がITシステム開発の王道となっていましたが、クラウドコンピューティングの登場により徐々にシェアを減らしています。

それでも、まだ多くの現行システムで利用がされている方式であり、リソース変動が想定されないようなITシステムにおいては、ベストな選択として採用されています。

リアルタイム処理

リアルタイム処理とは、要求された処理を即時実施する処理方法のことです。処理の依頼を受け取ったサーバはすぐに処理を行い、結果をクライアントに返却します。

一般的に高いハードウェアスペックが要求されるため、可能な限り後述するバッチ処理の採用も検討します。

近年ではハードウェアスペックの上昇やWebシステムに代表されるような効率的にリアルタイム処理を実現できる処理方式の登場により、リアルタイム処理の障壁は下がっており、十分に採用できる実装方式となりました。

バッチ処理

バッチ処理とは、要求された処理を一定の単位で処理する方式のことです。大量のデータを処理する場合に用いられる方式で、例えば請求書の作成と発行や、入出金処理、統計分析や帳票作成のようにシステムの稼働中に実施するには負荷が高い処理に用いられます。

日中帯はユーザがシステムを利用しておりサーバにも負荷がかかっているため、一般的にバッチ処理はシステムが停止している夜間に行われます。

システムが停止している時間帯に行うメリットとして、データベースの不整合が避けられるという点もあります。ユーザの利用時間中に大量の処理を実施すると、処理の実施中にユーザがデータを入力したり、消去したりして、データが修正されてしまう可能性があります。

データ処理中にデータベースを書き換えられてしまうと、処理結果に不整合が生じてしまうためバッチ処理はシステム停止中に行うほうが無難です。

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

クライアントサーバシステムとは、分散処理の一種類で、処理を依頼するクライアントと処理を行うサーバにハードウェアを分離する方式のことです。多くのITシステムで用いられている方式であり、システム設計においてはまず検討すべき仕組みです。

一般的なクライアントサーバシステムの構成は、クライアントとしてPC端末を利用し、サーバとしてPCサーバ等のオープン系サーバを利用するものです。クライアントサーバシステムでは、クライアント側は処理要求と結果の受領程度しか実施しないため、サーバに多くのハードウェアリソースが求められます。

サーバの種類

クライアントサーバシステムで用いられるサーバには、データベースサーバ、Webサーバ、アプリケーションサーバ、メールサーバ、ファイルサーバなどの種類があります。

各サーバには以下のようにそれぞれの役割があります。

サーバの種類 役割
データベースサーバ データベースを生成し、リクエストに合わせて保持するデータを返却する
Webサーバ ブラウザ等からのHTTPリクエストを処理し、HTMLや画像ファイル等を返却する
アプリケーションサーバ ユーザからのリクエストに応じて、データの取得や生成などアプリケーションとして実施する処理をこなしたうえで、ユーザに結果を返却する
メールサーバ メールの送信や受信を行う
ファイルサーバ ファイルを保持し、リクエストに応じてファイルを送受信する
DNSサーバ URLとドメインを紐づけし、リクエストに対してURLもしくはドメインの返却を行う
NTPサーバ リクエストに対して時刻情報を返却する

三層クライアントサーバシステム

三層クライアントサーバシステムとは、サーバを三層に分割することで処理を分散化し、効率よく処理をこなすための仕組みのことです。3層アーキテクチャなどと呼ばれることもあります。

三層クライアントサーバシステムでは、一般的にクライアントサーバシステムをプレゼンテーション層、アプリケーション層、データ層の3つに分割します。

それぞれの役割は以下の通りです。

名称 役割 サーバ例
プレゼンテーション層 ユーザのリクエストに応じて画面表示内容を返却する Webサーバ
アプリケーション層 プレゼンテーション層とデータ層の間に位置し、画面表示に必要な処理を行ったり、データベースへの問い合わせとデータ加工を実施したりする アプリケーションサーバ
データ層 データベースを保持し、問い合わせに応じてデータを返却する。 データベースサーバ

まとめ

この記事では、基本情報技術者試験を受けようとされている方に向けて、オンプレミスに関する内容の解説を行いました。オンプレミスは現在では少し古いシステム設計とみなされがちですが、それでもまだまだ利用価値のある手法です。

基本情報技術者試験でも、オンプレミスとクラウドコンピューティングとの対比などについても問題が出題されたことがあります。実務においても特に保守運用に携わる場合は必ず必要になる知識ですので、これを機会にオンプレミスについて整理してみてください。

基本情報技術者コラム一覧へ戻る