さっとんです。
こちらの記事にたどり着いた方はこのような疑問をお持ちだと思います。
インフラエンジニアに興味があるなあ。
サーバーエンジニアとネットワークエンジニアに職種が分かれている?
どんな機器や技術を扱うんだろう?
そもそも、どんな仕事をするんだろう?
今回は、この疑問に答えていきたいと思います。
このような方であれば、本記事は参考になると思います。
・インフラエンジニアに興味がある人
・これからインフラエンジニアを目指そうと思っている人
私自身、サーバーエンジニアのためサーバー寄りの記事になってしまう可能性があります。
こちらの部分についてはご了承下さい。
それでは、解説していきたいと思います。
サーバーエンジニアとネットワークエンジニアの違い
サーバーエンジニアとネットワークエンジニアの違いを簡単に説明します。
サーバーエンジニア
仕事内容:
アプリケーションを乗せる前の土台の設計~構築、運用する仕事
扱う機器:
物理サーバー、ストレージ
技術:
ミドルウェア(IIS、クラスター等)、OS(Windows/Linux)、仮想化基盤(HyperVisor/Container)等
ネットワークエンジニア
仕事内容:
サーバー等の機器間や拠点間をつなぐネットワークの設計~構築、運用する仕事
扱う機器:
ルーター、スイッチ、ロードバランサー
技術:
OSPF、VLAN、VPN等
一般的な役割について図に表すとこのようになります。
一般的には、赤枠のユーザーから見えない部分を担当するエンジニアが「インフラエンジニア」です。
(開発エンジニアがサーバーを構築する場合もあります。)
サーバーエンジニア
僕の経験も踏まえて紹介してきたいと思います。
仕事内容
主にサーバーやストレージ等のプラットフォーム(アプリケーションを乗せる土台)を構築します。
簡単に説明をする場合、このようなことをします。
・物理サーバーの設計構築
・ストレージの設計構築
・仮想基盤(VMware/OpenStack等)の設計構築
・パブリッククラウド(Azure/AWS等)の設計構築
・ミドルウェア(クラスター製品/apache等)の設計構築
・SaaS導入(Office365等)
このようにストレージ/サーバー/ミドルウェアと幅広い技術を扱います。
扱う技術の例についても紹介します。
扱う技術
僕の経験がある範囲内で紹介します。
物理サーバー
上記の画像で表示している通り、このような機器を触ります。
こちらはDELLのPowerEdgeという機種のサーバーとになります。
物理サーバーにて実施することは下記となります。
・IPMI(物理サーバー管理画面)設定
・BIOS設定
・OSインストール
DELLのPowerEdgeについてはこちらの公式サイトをご覧頂ければと思います。
僕が触ってきた物理サーバーのメーカーはこちらになります。
・DELL
・HP
・Huawei
・Lenovo
このように、サーバーエンジニアの仕事ではDELLやHP等の物理サーバーを扱います。
ストレージ
サーバーエンジニアではストレージも扱います。
ストレージ機器で実施することは下記となります
ストレージセットアップ・設定
マウントボリュームの切り出し
仮想基盤の構築には基本的にサーバーとセットでストレージを構築するパターンが多いです。
ストレージの代表的なメーカーは下記となります。
・DELL
・HP
・PureStorage
・NetApp
僕はDELL製とPureStorage製のストレージを扱ったことがあります。
このようにストレージの設計構築をする仕事もサーバーエンジニアの仕事になります。
仮想化基盤
仮想化基盤とは、1台のサーバーに複数の仮想サーバーを構築できる技術です。
上記の画像の通り「閉じられたクラウド」という意味に近いです。
こちらの仮想化基盤構築にて実施することは下記となります。
ホストOSインストール/設定
仮想ネットワーク設定
データストア設定
仮想マシンインストール/設定
図に表すとこのような仮想化環境を構築します。
※他に種類がありますが、こちらの図は一例となります。
代表的な仮想化基盤
・VMware vSphere(vCenter)
・OpenStack
・Hyper-V
・Xen
僕自身、自宅PCにホストOS(ESXi)をインストールしています。
ホストOSの画面はこのようになります。
実機画面
WEB管理画面
このような仮想化基盤の構築もサーバーエンジニアでは実施します。
パブリッククラウド
パブリッククラウドというのは、サーバーやストレージ等のコンピューティングリソースをいつでもどこからアクセスできるシステムです。
直近で一番ホットな内容ではないでしょうか。
クラウドについてはこちらの記事でも解説しております。
「サーバーエンジニア」よりは「クラウドエンジニア」の内容になります。
こちらは経験がないため知人から聞いた情報等を元に実施することについて話します。
・パブリッククラウドへの仮想マシン移行(オンプレミス→クラウド)
・コンテナ環境構築(docker/kubernetes)
・ID基盤構築
・仮想ネットワーク構築
・仮想サーバー構築
・仮想ストレージ構築
「仮想ネットワーク」についてはネットワークエンジニアと被るところがあります。
しかし、サーバーエンジニアが絶対に関わるところだと思います。
代表的なパブリッククラウドはこちらになります。
・Microsoft Azure
・AWS(Amazon Web Service)
・GCP(Google Cloud Platform)
パブリッククラウドのポータル画面についてはこちらになります。
Azure
AWS
GCP
僕もクラウドエンジニアとサーバーエンジニアとの境目がわかりません。
しかし、サーバーエンジニアもパブリッククラウドについてはこれから大いに関わってくる領域になると思われます。
ミドルウェア
ミドルウェアとは、アプリケーションとOSの中間的な処理を行うソフトウェアになります。
ミドルウェアの具体例はこちらになります。
・クラスター(RHCS/WSFC等)
・WEB(Nginx/Apache等)
・AP(WebLogic/Tomcat等)
・DB(PostgreSQL等)
・監視(Zabbix/Nagios等)
サーバーエンジニアではこちらのミドルウェアを構築します。
例外としては、DB(データベース)になります。
こちらは「データベースエンジニア」というデータベース専門のエンジニアが担当するケースが多いです。
クラスター製品や監視については過去に記事にて紹介しております。
気になる方は御覧ください。
ネットワークエンジニア
僕の専門外になります。
しかし、僕の会社内の同僚や知人から仕事について話を聞いたりしています。
そのため、わかる範囲で説明したいと思います。
仕事内容
サーバーやストレージ等を繋ぐネットワーク環境を設計・構築する仕事です。
具体的には、このような業務になります。
・ネットワーク構成図設計
・スイッチ設計構築
・ルーター設計構築
・ロードバランサー設計構築
・VPN設計構築(拠点間通信)
このようにネットワーク機器構築や構成図を作成する仕事になります。
扱う技術
スイッチ
スイッチとは、「ネットワーク上で送信されたデータの行き先を振り分ける機器」です。
スイッチの中でもこのような種類があります。
L2スイッチ
・通信したい相手がどのポートに繋がっているかを記憶してパケットを転送
・MACアドレスにて機器を管理
・L2 = データリンク層
L3スイッチ
・L2スイッチの機能もある
・IPアドレスを見て行先を振り分ける機器
・L3 = ネットワーク層
このように「OSI参照モデル」によって、役割が違います。
「OSI参照モデル」についてはこちらのサイトをご覧下さい。
代表的なメーカーは下記となります。
・Cisco
・DELL
・Juniper
・Huawei
特に「Cisco」はCCNAという認定資格を取り扱っているということもあり、一番有名なメーカーだと思います。
スイッチの製品例はこちらになります。
このようにネットワークエンジニアではスイッチを扱います。
ルーター
ルーターとは、「異なるネットワークを相互に接続する機器」になります。
こちらがない場合、外部ネットワークにアクセスすることができません。
例えば、「Yahooをトップページを見たい」と思っていてもルーターが存在しない場合、「Yahoo」を見ることができません。
代表的なメーカーはこちらになります。
・Cisco
・ヤマハ
ルーターの製品例はこちらになります。
このようにネットワークエンジニアでは、ルーターを扱います。
ロードバランサー
ロードバランサーとは、「サーバーの負荷ごとにアクセスを振り分ける機器」になります。
「負荷分散」させる機器になります。
主にシステム全体の処理能力を向上させるために使用されることが多いです。
詳しくは、こちらの記事にも「ロードバランサー」のことを記載しておりますので、
ご覧頂ければと思います。
僕がなぜサーバーエンジニアをやっているのか?
僕がサーバーエンジニアを選んだ理由についてはこちらになります。
・Linux運用保守時代に実際にLinuxコマンドの操作をしてみて面白いと感じたから
・LPICを学習していく内にLinux(CentOS/RHEL)に愛着を持ったから
・監視ツール(Zabbix)を自宅PCで実際に導入してみて楽しいと感じたから
このような感じになります。
(どちらかというとLinux自体に愛着を感じております。)
理由は何でもいいと思います。
「サーバーエンジニアとネットワークエンジニアのどちらを選ぶか」は実際に触ってみれば適性は分かってくると思います。
ネットワークの場合もインターネットに無料でシミュレーターがダウンロードできます。
GNU3
Packet Tracer
「自分はサーバーエンジニアとネットワークエンジニアのどちらをやるべきかわからない」
このように思う方はとにかく触ってみることからおすすめします。
今の時代、無料で学習できるツールはインターネット上にあります。
個人的に触ってみないと自分の適性は分からないと思います。
とにかく触れるものはどんどん触ってみましょう!
まとめ
サーバーエンジニア
・サーバーやストレージ等のプラットフォームの設計~運用を行う仕事
・OSやミドルウェア、仮想基盤等幅広い技術を扱う
ネットワークエンジニア
・機器間/拠点間を接続するネットワークの設計~運用を行う仕事
・スイッチやルーター、ロードバランサー等を扱う
ここまで読んで頂き有難うございました!
主にインフラエンジニアのキャリアハックや技術について発信をしております。
note