インフラエンジニアの仕事は、大きく分けると「設計」「構築」「運用」の3段階に分かれます。
設計は、クライアントの要望を聞き、ITインフラを整えるのにどのような機材が必要かを検討します。サーバー、ネットワーク、ミドルウェア、ソフトウェアなどでそれぞれ最適なものを選定し、要件を定義して、構築に向けて設計書を作成します。
構築は、オンプレミスの場合、サーバーやルーター、スイッチなどをクライアント企業やデータセンターに運び込んでセットアップします。クラウドであれば物理サーバーを立てる必要はなく、Web上で構築を行うことが可能です。
運用は、構築したシステムを監視・保守し、トラブルが起こった場合は復旧に当たります。システムは、24時間不具合なく動き続けることが求められるものです。昼夜を問わず監視を続け、障害には速やかに対処する必要があります。
インフラエンジニアの職務範囲は非常に広大です。企業によってはインフラエンジニアがサーバーエンジニアやネットワークエンジニアの役割を果たしていることもあります。インフラエンジニアを目指すなら、関連性の高いこれらの仕事についても知っておくと良いでしょう。
ITインフラの要となるサーバー。サーバーエンジニアは、サーバーとそれを動かすサーバーOSの知識を備えたエンジニアです。構築時にはサーバーを用意し、Webサーバー、アプリケーションサーバー、データベースサーバーなどの役割を振って、LinuxやWindowといったOSをインストールしていきます。サーバーの保守業務も行います。
ITインフラの中でも、ネットワークに関する技術を扱うのがネットワークエンジニア。ルーターやスイッチ、ケーブルなどのネットワーク機器に詳しく、TCP/IPにも精通しているのが特徴です。
いわゆる「ビッグデータ」と呼ばれるような膨大なデータを扱うデータベースの設計・構築・運用を担うのがデータベースエンジニアです。インフラエンジニアに近いのは、データベースサーバーの管理・運用に関わる部分でしょう。管理の他には、SQL(データベース言語)を使って設計・構築をするという役割があります。
※この3つのほか、近年はクラウドエンジニアやSREなども注目されています
インフラエンジニアの業務は幅広いため、さまざまなスキルが必要です。
インフラエンジニアには、サーバーやOS、開発環境の知識は不可欠。その中でもLAMP環境とは、「Linux」「Apache」「MySQL」「PHP」で構築された環境のことを指します。これらがどの企業でも使われているとは限りませんが、インフラエンジニアとしてこの4つの知識は押さえておくべきでしょう。
技術面以外では、クライアントから要望を引き出すコミュニケーション能力、トラブルに対する判断力や対応力が挙げられます。そのほか、長期間運用に当たるための体力も欠かせません。
IT業界は時代の流れが速いため、常に知識の更新が必要です。インフラエンジニアなら、クラウドサービスの知識や、運用を自動化し信頼性を上げるSRE的な考え方も取り入れていきましょう。そのほか、プログラミングの知識があればさらに評価が高まるでしょう。