たとえるなら
水道・電気・道路が生活のインフラであるように、サーバーやネットワークはITのインフラです。蛇口をひねれば水が出るのが当たり前なのは、裏側で誰かが設備を守っているから。Webサイトがいつでも開けるのも同じです。
もう少しくわしく
インフラ(infrastructure)は「下部構造・基盤」という意味の英語で、IT業界ではシステムが動くための土台となる設備全般を指します。具体的には、プログラムを動かすサーバー、データが行き交うネットワーク、データを保管する仕組み、そしてそれらを監視・管理する体制までを含めた総称です。うまく動いているときほど存在に気づかれず、止まったときに初めて注目されるのが特徴です。
もう少し中身を挙げると、サーバーとその上で動くOS、通信のための回線やルーター、外からの不正な通信を遮る仕組み、データを保存する装置、いざというときのためのバックアップ、そして異常をいち早く知らせる監視の仕組み——ここまでがインフラの範囲に入ります。土台のうち、利用者が画面越しに直接触らない部分はおおむねインフラと考えるとつかみやすくなります。
混同されやすいのがクラウドとの違いです。クラウドはインフラの代わりではなく、インフラを「自分で買って置く」のではなく「借りて使う」ようにした調達のしかたです。借りたあとも、どんな構成にするか、止まらないようどう備えるか、費用をどう抑えるかを考える仕事は残ります。置き場所が変わっても、土台を設計して守る役割そのものは変わりません。
この土台を設計・構築し、止まらないように守る専門家がインフラエンジニアです。インフラはプロジェクトの早い段階で用意されます。動かす場所がなければ、作ったプログラムを置けないからです。開発チームに引き渡したあとは、運用と監視が続きます。障害はこちらの都合に合わせて起きてくれないため、夜間や休日の連絡当番を決めている現場も多く、アプリを作るチームとは別のチームが担当しているのが一般的です。
よくある落とし穴は、止まる前提で備えていないことです。1台だけの構成で動かしていて、その1台が壊れて全部止まる。バックアップを取っているつもりが、実際に戻す手順を試したことがなく、必要なときに戻せない。設定を手作業で変えたまま記録が残らず、作業した本人以外に分からない。ドメインや証明書の期限が切れてサイトが開けなくなる——どれも実際に起きている失敗です。
エンジニアではない立場の人がインフラに関わるのは、たいてい「つながらない」「重い」と気づいたときです。役に立つのは、いつから・誰が・何をしたときに起きたのかを添えて伝えることです。「サイトが見られません」だけでは原因の場所を絞り込めません。また、自分の判断で設定を変えたり機器を抜き差ししたりしないこと。土台をいじる作業は、影響がほかの全員に及びます。
かつてインフラといえば、機械を自分で買って設置する物理的な作業が中心でした。いまはクラウドの普及により、構成を設定ファイルとして書き、そこから環境を作る進め方が広まっています。同じ環境を何度でも作り直せて変更の履歴も残る一方、使った分だけ費用がかかるため、設計の良し悪しがそのまま月々の請求に出るという難しさも生まれました。
現場での使われ方
「インフラ周りは別のチームが見てます」
サーバーやネットワークなどの土台部分は、アプリを作るチームとは別の専門チームが担当している、という意味です。問い合わせ先が違うことを伝える一言でもあります。
「まずインフラを構築してから開発に入ろう」
プログラムを動かす環境を先に整えてから、機能作りを始めよう、という段取りの話です。置き場所がないと、作ったものを動かして確かめることもできません。順番に理由がある指示です。
「これはアプリ側ではなくインフラ側の問題だと思います」
不具合の原因がプログラムではなく、サーバーや通信の側にありそうだという見立てです。どちらの問題かを分ける作業を、現場では「切り分け」と呼びます。
「インフラの費用が思ったより膨らんでいます」
クラウドは使った分だけ料金がかかるため、構成や使い方の見直しが必要になったという報告です。設計のやり直しや、予算の相談につながっていきます。費用の管理もインフラの仕事のひとつです。
よくある質問
インフラエンジニアとは何をする人ですか?
サーバーやネットワークなどの土台を設計・構築し、止まらないように運用する技術者です。障害が起きたときの復旧対応、セキュリティ対策、バックアップの用意、クラウドの設定などが主な仕事になります。どこまでを担当するかは現場によって幅があり、サーバーに強い人、ネットワークに強い人と得意分野が分かれることもあります。
インフラとクラウドは何が違うのですか?
インフラは「土台となる設備そのもの」、クラウドはその設備を「借りて使う」調達のしかたです。クラウドにすればインフラが不要になるわけではなく、どんな構成にするか、止まらないようどう備えるかを考える仕事はそのまま残ります。機械を置く場所や電源の心配は減りますが、設計の重みは変わりません。
インフラエンジニアにプログラミングは必要ですか?
現場によりますが、できると仕事の幅が広がります。構成を設定ファイルとして書いて環境を作る進め方や、作業を自動化する小さなプログラムを書く場面が増えているためです。アプリ開発と同じ言語を使うとは限りませんが、コードに触れない仕事ではなくなってきています。
トラブルがアプリ側かインフラ側かは、どう見分けるのですか?
現場では「切り分け」と呼ばれる作業で絞り込みます。特定の画面だけおかしいのか全部つながらないのか、直前に何を変えたのか、他の人でも同じことが起きるのか——こうした情報を集めて範囲を狭めます。報告する側がこの材料を添えると、解決が早まります。
未経験からインフラエンジニアを目指せますか?
目指す人は少なくありません。よくある入口は、稼働を見守る運用・監視の担当から始めて、構築や設計へ広げていく道筋です。求められる知識はネットワークやOSの基礎、クラウドの操作など幅がありますが、どこから任されるかは会社によって違います。実際にサーバーを1台借りて動かしてみると、言葉の意味がつながりやすくなります。