
インフラエンジニアとは、IT技術の中でも、主にサーバーやネットワーク、データベースやセキュリティなどを専門に扱うエンジニアのことです。
この記事では、インフラエンジニアの仕事内容について、開発エンジニアとの違い等を含めながら具体的にわかりやすく解説します。
目次
インフラエンジニアとはどんな仕事かわかりやすく解説
インフラエンジニアとはアプリケーションを動かすための土台を構築するエンジニアのことです。
例えば、皆さんは、普段GoogleやYahooのサービスを使っていると思いますが、それぞれのアプリケーションはサーバー上で動いていて、そのサーバーにネットワークで繋がっているから使えるのです。
そのサーバーやネットワークなど、利用者からは見えない土台を構築するのがインフラエンジニアです。
インフラエンジニアといっても様々な種類があります。
エンジニアが複数の領域を担当することが一般的ですが、わかりやすく説明するため、専門分野別に分類して解説します。
①サーバーエンジニア
サーバーエンジニアとは、OSやミドルウェアを専門として扱うエンジニアです。
システム要件から、CPUやメモリ、ハードディスクといった必要なスペックを満たすサーバーの選定、OS、ミドルウェアの導入を行います。
最近では、仮想サーバーを利用することも多いため、CitrixやVMwareといった仮想化ソフトウェアを導入することもあります。
また、小規模なシステムであれば、サーバーエンジニアがネットワークやセキュリティなど、複数の領域を担当することもあります。
②ネットワークエンジニア
サーバーとデータベース、クライアントPCとサーバーを接続するにはネットワークは必須です。
それらを接続するために、システム全体のネットワーク設計、スイッチやルーターの構築を行うのがネットワークエンジニアです。
また、システムの信頼性を上げるためにロードバランサーの構築や、ファイアウォールやIDSといったセキュリティ装置の導入も行います。
大規模になればなるほど、数百~数千といった機器が導入されるので、複雑性が増していきます。
そのため、専門性も高く、ネットワークエンジニアに特化した会社も多く存在します。
ネットワーク装置はCISCO社製のものが多くの企業で使われているため、CCIEなどのCISCOの資格を持っているエンジニアは重宝され、高単価の案件を獲得することもできます。
③データベースエンジニア
データベースに特化したエンジニアのことをデータベースエンジニアと言います。
データベースでは大規模なプロジェクトだと、SQL ServerやOracle Datebaseが主に利用されています。
Oracle Datebaseは非常に高価なため、予算が潤沢にあるプロジェクトで使われることが多いです。
そのため、Oracle Datebaseのスキルを持っているエンジニアも高単価な案件を獲得できると言えます。
④セキュリティエンジニア
セキュリティエンジニアとは、不正侵入や攻撃など、システムの脆弱性を考慮した設計を行うエンジニアです。
セキュリティという性質上、これまで解説したサーバー、ネットワーク、データベースなど、広く深い専門知識を持っている必要があります。
また、日々攻撃手法も進化していくため、最新の動向も押さえておく必要があります。
クラウド利用が増加し、インターネット接続が当たり前となった昨今の状況で、セキュリティエンジニアの需要は大幅に増えてきています。
AIと並んでこれから活躍が期待できるエンジニアのひとつです。
インフラエンジニアの仕事内容を具体的に解説
インフラエンジニアの仕事内容は、①プレ活動、②要件定義、③設計、④構築、⑤テスト、⑥移行、⑦運用です。
それぞれ具体的に解説をします。
①プレ活動
プレ活動とは、商談獲得に向けた活動のことです。
営業がメインで動くことになりますが、ある程度クライアントのやりたいことが具体的になってきた時点で、営業と同行してヒアリング等を行います。
また、案件獲得のため、提案書の作成や見積の作成もエンジニアが行います。
見積は営業が作成するイメージがあるかもしれませんが、クライアント要件によって大きく異なるため、エンジニアが作成するのが一般的です。
②要件定義
要件定義とは、どのようなシステムにするのか、どの程度の性能が必要なのか、利用はどの程度なのか等、クライアントからヒアリングし、大まかな設計をすることです。
実現可否を確かめるために、仮で環境を構築することもあります。
基本的に、要件定義工程で決まったことを変更することはできないため、技術的な調査はもちろんのこと、制限がある場合はきちんと説明し、納得してもらうことが必要です。
また、大規模なプロジェクトの場合は、要件定義後に当初想定していた範囲を超えることがあるため、再見積をすることもあります。
③設計
設計とは、要件定義で決まったことをシステムに落として行くことです。
設計工程の中には、方式設計と詳細設計があります。
具体的には、方式設計では、各機能のデータフロー、性能要件を満たすサーバーの台数、ネットワーク構成等を決めていきます。
詳細設計では、方式設計で決まったものを、パラメータ(設定値)として決めていきます。
④構築
構築とは、設計で決まったパラメータをもとに、システムを組み上げていくことです。
具体的に言うと、サーバーやスイッチ、ファイアウォールなど、実際に機器を触って手を動かしながら作業をします。
エンジニアをやっている実感を一番味わえることができるので、構築工程が好きなエンジニアも多いです。
⑤テスト
テストとは構築したものがきちんと動くのか確認することです。
システムによってことなりますが、「単体テスト」、「結合テスト」、「受け入れテスト」という様に進めていく場合が多いです。
単体テストとは、設計書に記載されているパラメータとサーバーに設定されているパラメータが一致しているのか確認するテストです。
結合テストとは、各サーバーのやり取り、具体的には、Webサーバーで入力したものがデータベースサーバーにきちんと反映される、サーバーが1台停止しても自動で切替わって継続して利用できるなど、複数にまたがったテストのことです。
受け入れテストとは、要件定義で決めたものが、きちんと満たされているのか確認するテストです。
このテストはクライアントが主導で行い、インフラエンジニアはテストのやり方やQA等、サポートで関わります。
⑥移行
移行とは、簡単に言うとシステムの引っ越しです。
サーバーの老朽化、ミドルウェアの保守切れ等、今のシステムが使えなくなるので、新しいシステムにデータを持っていくという対応です。
具体的にはメールやデータベース、Webコンテンツが多いですが、そのまま持っていけることは稀で、検証や技術的な裏付けなど、新規構築と比べて気を使うことも多く、時間を要することになります。
移行があるかないかで、プロジェクトの難易度は大きく変わります。
⑦運用
無事、システムが稼働すると、運用に入ります。
運用とは、システムが安定して動作することを継続させることです。
多くの場合、システムの導入と運用でチームが分かれています。
そのため、導入したエンジニアは運用チームにクライアントの要件や設計内容などの引継ぎを行います。
この時、引継ぎ内容がいい加減であったり、不備があると、導入と運用で険悪な雰囲気になってしまうので注意しましょう。
運用でのインフラエンジニアの役割は、クライアントのQA対応、設定変更、監視アラートの確認、トラブル対応が主な業務です。
既に稼働しているシステムであり、何か問題が発した際の利用者への影響が大きいため、設定変更1つにしても、手順書の作成から承認など、ルールがきちっと決まっています。
導入時の品質(バグ対応やトラブル発生時の対応手順の準備)次第で、楽と大変の差が大きく出やすいのが運用の特徴でもあります。
インフラエンジニアになるには?資格は必要?
インフラエンジニアになるのに、必須の資格というものはありません。
私自身、資格を複数取得していますが、知識を整理することが目的です。
ただ、知識を持っていることの証明にはなりますので、これからインフラエンジニアを目指す人向けに持っていたほうが良い資格をいくつか紹介します。
①基本情報技術者
基本情報技術者は独立行政法人の情報処理推進機構が開催している試験で、春(4月)と秋(10月)の年2回実施されます。
ITに関する知識が幅広く出題されるので、基礎を身につけるのに最適です。
さらに上位の試験として応用情報技術者があります。
こちらをインフラエンジニアになってから1年以内には取得できるように目指すのがいいと思います。
②MCP
MCPの正式名称は「マイクロソフト認定プロフェッショナル」といいます。
マイクロソフトが開催している認定資格です。
まずは「Windows Server」がいいと思います。
それ以外は扱っていく業務によって変わってくるので、必要になったら取得すればいいと思います。
③AWSソリューションアーキテクト -アソシエイト-
AWSソリューションアーキテクトのアソシエイトとはAWSの入門資格です。
AWSにはどのようなサービスがあるかなど、広く浅く問う認定資格です。
インフラエンジニアでもクラウドサービスを使ってシステムを構築することも当たり前となってきているので、入門編の資格として持っておくのも良いでしょう
④CCNA
CCNAとはCISCOが開催するネットワークの入門資格です。
CISCOは国内でも50%近くのシェアを誇るネットワーク機器ベンダーです。
CCNAはCISCO機器に偏った資格と思われるかもしれませんが、ネットワークに関する基礎知識を広く浅く身につけられるので、入門編としておすすめです。
インフラエンジニアと開発エンジニアの違い
SEはざっくりとインフラエンジニアと開発エンジニアに分かれます。
開発エンジニアにもWebエンジニアや組み込みエンジニアがありますが、ここではアプリケーションエンジニアとインフラエンジニアの違いについて解説します。
開発エンジニアとの違い①:開発言語に依存しない
アプリケーションエンジニアの場合、JavaやRuby、Pythonと言った開発言語に依存して、案件を獲得します。
一方で、インフラエンジニアの場合、ネットワークやHTTP通信の仕組みなどの最低限の知識は必要ですが、ポイントさえ押さえてしまえば、できてしまうのです。
もちろん、大規模なシステムになると、複雑な構成になるので、そんなに簡単には行きませんが。
ただ、インフラエンジニアに必要な知識は基本的に変わらないので、必死になってオブジェクト指向の言語を身につけるよりも、ずっと楽だと言えます。
開発エンジニアとの違い②:アプリケーションエンジニアほどメジャーじゃない
IT=プログラミング、IT=スマホアプリといったイメージがあると思います。
最近はプログラミングからIT業界を目指すといったうたい文句も多いですからね。
そのため、「インフラエンジニアって何?」と思われたり、なんとなく分かりにくいからと言う理由で多くの人から見向きもされないので、逆にねらい目です。
インフラエンジニアは必要不可欠であり、インフラエンジニアがいないとアプリケーションは動きません。
インフラエンジニアでも十分稼ぐことはできますし、年収1000万以上も珍しくありません。
- 開発エンジニアは開発言語に依存するが、インフラエンジニアに必要な知識は基本的に変わらない
- 開発エンジニアほどメジャーではないので、インフラエンジニアは狙い目
エンジニアというとプログラミングというイメージが強いと思いますが、プログラムはインフラが無いと動きません。
皆さんがインターネットで買い物できるのは、インフラエンジニアがサーバーやネットワーク設計をやっているからなんです。
クラウドの台頭でインフラエンジニアは無くなるのではないかと言われていますが、決してそんなことはありません。
ITがどんなに進歩しようと、それを支えているのはインフラで、決して滅ぶことのない業種だと言えます。
まとめ:インフラエンジニアはITを支える必要不可欠な職業
この記事では、インフラエンジニア何なのかについて、仕事内容や開発エンジニア違いについて具体的に解説しました。
最後に重要なポイントを箇条書きで紹介しましょう。
- サーバーやネットワークなど、利用者からは見えない土台を構築するのがインフラエンジニア
- インフラエンジニアの仕事内容は、①プレ活動、②要件定義、③設計、④構築、⑤テスト、⑥移行、⑦運用
- アプリケーションエンジニアほどメジャーじゃないから狙い目
以上がこの記事の重要なポイントです。
クラウド化が進み、ありとあらゆるデバイスがインターネットに接続できるようになるにつれて、セキュリティやネットワークなどのインフラの重要性が益々高まってきています。
今後はインフラエンジニアの需要が高まる一方で、これまで以上に領域を超えて活躍することが期待される業種だと言えます。
インフラエンジニアを独学で目指すのは難しいです。
未経験であればなおさらです。
ただ、企業側もポテンシャルを期待して未経験であっても採用することは珍しくありません。
マイナビエージェントなら未経験であっても応募可能な案件を多く保有しています。
もちろん、無料でIT業界出身のキャリアコンサルタントに相談できるので、インフラエンジニアになるなら、まずは登録をしてみましょう。