オンプレミスとは?考慮すべきこととは?初心者向けにまとめてみた
※自分はインフラエンジニアではありません。ネットや書籍で調べた情報を自分用にまとめているだけの記事です。
今までサーバーが必要な場合はAWSやGCPなどのクラウドサービスを利用していました。(エンジニアになって初めて触ったのがNetlify、その次がFirebaseという流れでした)
オンプレミスについて無知すぎるので、クラウドサービスのメリットでよく語られる特徴も、いまいちピンときていませんでした。
そこで、オンプレミスについて概要を調べてみたのでまとめます⛅️
オンプレミスとは
自社で設備を保有して運用管理することです。いわゆる従来からあるシステム運用形態です。
メリット
・思い通りの構成が組める
・既存のシステムと連携しやすい
・トラブルの状況が把握しやすい
デメリット
・すべての設備を自分たちで調達しないといけないので、コストも時間もかかる
どこに設置するか
オンプレミスを選択した場合、システムの設置場所として下記2つが考えられます。
・自社サーバールーム(自オフィスにあるサーバー専用の部屋)
オフィスなのでサーバーやストレージを設置するための電源設備・空調設備が必要
・データセンター(他社の専用施設)
利用料・電気代・保守運用代など色々な費用がかかる。郊外にある場合、駆けつけ対応が難しい。
ハードウェアの選定
オンプレミスだと、どんなハードウェアにサーバーソフトウェアをインストールするか考慮が必要になります。いちおう家庭用PCでもサーバーソフトウェアをインストールすれば、サーバーとして使えます。
・ハードウェアがサーバーの場合
24時間365日稼働し続けることを前提にしてるので、パーツの品質が高い・故障しにくい。
・ハードウェアがパソコンの場合
長時間稼働し続けることを前提にしていない。他機能や携帯性・安価を重視して作られているのでパフォーマンスなどの面で不向き。
サーバーは「タワー型」「ラック型」「ブレード型」などがあり、規模によって使い分けることができる。
サーバーを構成するもの
主に「CPU」「メモリ」「ストレージドライブ」「NIC」の4つからサーバーは構成されています。どんなスペックのものを使用するかは、システム要件に従って選定します。
[CPU]
・動作周波数が高いほど処理能力が高い
・CPUのコアを増やすことで能力が向上する
・1つのCPUに複数コアがあることを「マルチコア」、1つのコンピューターにCPUが複数あることを「マルチプロセッサ」という
[メモリ]
・容量、データ転送速度、消費電力、耐障害性の考慮が必要
・エラーを自動修復するECC機構という
・データをコピーして持つことをメモリミラーリングという
[ストレージドライブ]
・容量、データ転送速度、消費電力、耐障害性の考慮が必要
・HDD(通常)、SSD(高速だけど高価)がある
[NIC]
・PCをLAN等のネットワークに接続するための拡張カードのこと
・サーバーに複数のNICを搭載して冗長化することが多い
サーバーOS
サーバーには、サーバー用のOSをインストールします。
・UNIX系サーバー
代表的なのはOSSのLinux、IBMのAIXなどがある。
・Windows系サーバー
有償なので初期コストがかかるが、マイクロソフトによるサポートがある。
代表的なLinuxディストリビューションには、「Red Hat Enterprise Linux」(Red Hat社が開発。有料で大規模システムで利用される)、「CentOS」(Red Hat社が開発。無料)、「Debian」(世界中の開発者で作られた。無料)、「Ubuntu」(Debianをベースに作られた。無料)があります。
アプライアンスサーバー
サーバーOSをインストールして、各サービスをインストールすればどんなサーバーにもなるのが「汎用サーバー」です。
それに対し、提供する機能をあらかじめ特定用途に限定・特化したサーバーを「アプライアンスサーバー」といいます。
Webサーバー、プロキシサーバー、ロードバランサーなどが最初から専用のハードウェアにインストールされています。
汎用サーバー
[メリット]
好きな構成にできる。1台で色々なサーバーを動かせる。
[デメリット]
インストールの手間がある。値段が高い。
アプライアンスサーバー
[メリット]
最初からインストールされてるので導入が楽。パフォーマンスが高く、安い。
[デメリット]
決められた範囲以上の細かい設定ができない。
[おまけ] レンタルサーバーについて
クラウドが登場する前から、低価格で簡単に導入できるのがレンタルサーバーでした。「さくら」「KDDI」などが提供しています。
Webの管理画面から利用することができ、メニューから選んでインストールができます。WordPressなどのCMSもインストールできるようになっています。
そういったお手軽さから、サーバーやソフトウェアの専門知識がなくても使用できるのがメリットです。その代わり、「柔軟性」では他に比べ劣ります。
参考
調べるに当たり参考にさせていただきました。
さいごに
大まかではありますが、オンプレミスでサーバーを用意する際にどんな考慮点があるのか調べてみました。
他にも、「仮想化」や一部のみクラウドにする「ハイブリッドクラウド」などがあり、サーバーといっても、色々な選択肢があることを知りました!
システムの規模感によってオンプレ・クラウドの選択がとても大事なんだとTwitterで教えてもらいました。ありがとうございました!
スキ頂けると嬉しいです〜