インフラエンジニアとはどんな仕事をするエンジニアなのか気になりますよね。
エンジニアには様々な種類がありますが、インフラエンジニアを一言で表すなら『旬の食材を職人技でもてなす寿司屋の大将』といったところでしょうか。
意味のわからない例えかと思いますが、この記事を読み終えたときに、この表現の意味がわかるように解説していきますね。
本記事ではエンジニア歴20年の現役エンジニアである僕が、身近で見てきたインフラエンジニアの姿や仕事について紹介します。
最後まで読んでいただけると、以下のことがわかるようになります。
- インフラエンジニアとはどんなエンジニアか知りたい
- インフラエンジニアはどんな人に向いているのか知りたい
- インフラエンジニアにプログラミングの知識は必要?
- インフラエンジニアになるにはどうしたらよい?
→インフラエンジニアの仕事内容や役割がわかります
→仕事のやりがいからどんな人に向いているのかがわかります
→必要なスキルがわかります
→ロードマップからインフラエンジニアになるまでの道のりがわかります
インフラエンジニアとは
以下の順番に解説していきます。
- インフラエンジニアの仕事内容
- インフラエンジニアのやりがい、向いている人
- インフラエンジニアに必要なスキル
- インフラエンジニアになるためのロードマップ
インフラエンジニアの仕事内容
インフラエンジニアの仕事はとても幅広く、インフラに関わることであれば何でも担当するというくらいの役割を担っています。
仕事内容として、やることをざっくり分けると以下のカテゴリになります。
- インフラを作る仕事
- インフラを維持する仕事
- インフラを改善する仕事
インフラを作る仕事
まずはインフラを0から1にする仕事です。
具体的には、ネットワークやサーバを設計し、構築していく仕事になります。
冒頭の寿司屋の大将で例えるなら、様々な旬の食材からお客さまの好みに合わせて寿司を握っていく仕事というところでしょうか。
つまり、顧客の要件にしたがって、どんなネットワーク構成で、どのくらいのスペックのサーバがいくつ必要なのかを組み合わせていきます。
さらにセキュリティも考慮しながら、必要な通信ができるようにネットワークを構築します。
そして各サーバに、OSやデータベースなどの必要なソフトウェアをインストールし、初期設定を行います。
こうして、様々なサーバを組み合わせて、サービスやシステムが問題なく動作するための基盤を作り上げていきます。
この過程はまさに職人技といえる技術です。
インフラを維持する仕事
次はインフラの現状を状態を保ち続け、1が0にならないように、10が9にならないようにする仕事です。
寿司屋の大将で例えるなら、気温や湿度の変化に気を配りながら、味が落ちないように常に調整する仕事というところでしょうか。
「インフラは機械なんだから現状を保ち続けるなら、何もしなければいいじゃないか」と思うかもしれませんが、実はインフラは消耗品なのです。
気温や湿度にも左右されたりもします。
つまり、物理的な機械は、いつか壊れるときがやってきます。
また、ソフトウェアは脆弱性が発見され、放っておくとセキュリティを維持し続けることができなくなります。
そのため、機械は数年ごとに交換したり、ソフトウェアには最新のセキュリティパッチを適用します。
これらの作業は、問題が発生する前に察知して対応する職人の勘のような側面もあります。
インフラを改善する仕事
もう1つは、現状のインフラを改善し、1を2や10にしていく仕事です。
寿司屋の大将で例えるなら、様々な食材を試しながらメニューを追加したり、既存のメニューを改善する仕事というところでしょうか。
サービスを利用するユーザが増えたり、システムの機能が増えて、リソースの増強が必要になる場合があります。
そのときには、新たにサーバを作ったり、ネットワークを拡張して、全体を大きくします。
また、サービスが使われる時間やアクセス数などのデータを可視化して、必要なときに必要な量を拡張することもあります。
最近では必要なときにサーバを追加したり、要らなくなったらサーバを停止するなどの作業をリアルタイムで行える技術によって、より柔軟な改善ができるようになりました。
ビジネスや環境の変化を常に監視しながら、拡張、改善していくのもインフラエンジニアの仕事の1つになります。
インフラエンジニアのやりがい、向いている人
僕がこれまでに関わったインフラエンジニアを見てきて感じた、やりがいや向いている人は以下の点です。
- 大きな仕事に携わり、関係者から頼りにされたい人
- 縁の下の力もちとして、ビジネスを支えたい人
- データを分析してコツコツと改善をするのが好きな人
大きな仕事に携わり、関係者から頼りにされたい人
インフラはサービスやシステム全体を対象とするため、必然的に扱う仕事の範囲も大きくなります。
世の中の多くの人が使うシステムや自分がよく使っているサービスなどにも関わることができる可能性があります。
とくに『インフラを作る仕事』は、これからビジネスを始める基盤となる家を建てるような仕事ですから、大きな仕事にやりがいを感じるという人には向いています。
そして、インフラはプログラマーを始めとするエンジニアやビジネスに関わるディレクターやマーケターなど、あらゆる人がこの基盤の上で仕事をするので、常にインフラエンジニアを頼りにします。
例えば、アプリケーションをリリースしてほしいといった依頼から、マーケティング用のデータがほしいという依頼まで、内容は様々です。
人から頼りにされ、面倒を見るのが好きな人も向いているでしょう。
縁の下の力もちとして、ビジネスを支えたい人
『インフラを維持する仕事』は、表には見えにくい作業です。
ですから、普段は他の人から気づかれないこともあります。
ですが、家が倒れないようにする重要な役割です。
そうした縁の下の力もちという存在にやりがいを感じる人にも向いています。
データを分析してコツコツと改善をするのが好きな人
インフラではサーバやネットワークの状況を表す様々なデータを収集します。
それらを分析して、いち早くサービスの変化に気づき、改善を重ねていきます。
ですから、普段から小さな変化によく気付ける人は向いていると言えます。
また、コツコツと『インフラを改善する仕事』にやりがいを感じる人も向いているでしょう。
インフラエンジニアに必要なスキル
次に、インフラエンジニアになるために必要なスキルについて解説します。
これまでの説明のとおり、幅広い仕事を担当するので、下記のような幅広いスキルを使います。
- ネットワーク・サーバの知識
- LinuxOSの知識
- プログラミングの知識
ネットワーク・サーバの知識
ネットワークの知識とは、ずばり「通信できる・できない」を自由自在に操ることができる知識です。
物理的な機器の配置や接続方法によっても通信できる・できないが変わります。
また、各通信機器やサーバの設定によっても変わります。
必要なところだけを安全に通信できるようにし、不要な通信はセキュリティのために通信できないようにします。
サーバの知識とは、必要な機能を持ったスペックのサーバを選定し、構築する知識です。
最近では、クラウドを使うことが増えたため、物理的な機器を扱うことは少なくなりました。
ですが、クラウドにおいてもこれらの知識を使って、画面上で設定をしていくことになりますので必要なスキルとなります。
LinuxOSの知識
サーバを構築する際に使われるOSは、ほとんどの場合においてLinuxOSになります。
そして、LinuxOSの操作は、基本的にコマンドベースの入力画面で行います。
様々なコマンドを組み合わせて必要なソフトウェアをインストールしたり、設定を行います。
つまり、これらのコマンドを自由自在に操ることができる知識が必要となります。
また、各ソフトウェアのインストール方法や設定方法などは覚える必要はありませんが、それらを扱う前提知識となるLinuxの仕組みは知っておく必要があります。
プログラミングの知識
インフラエンジニアにプログラミングは不要と思うかもしれませんが、クラウド化や仮想化の発展に伴い、インフラをプログラミングする技術が登場してきました。
これまではたくさんのサーバを用意したり、1つ1つのサーバを手動で設定するのは、非効率でミスも発生しやすい状況でした。
しかし、インフラをプログラミングによって管理し実行することで、速く正確にインフラを作り上げることができるようになりました。
このインフラのプログラミングは最近出てきた技術でもあり、必須の知識というほどではないので、インフラエンジニアになってから学習しても問題ないと思います。
インフラエンジニアになるためのロードマップ
インフラエンジニアになるためのロードマップとして、以下の順番で必要なスキルを身に着けていきます。
②無料枠を使ってクラウド環境を触ってみる
③プログラミングを学習する(余裕があれば)
②まで学習できたら小さな企業でもよいのでインフラエンジニアとして就職し、現場での実践によって学習していくことをおすすめします。
実践での経験が増えてきたら、大企業でも就職しやすくなります。
①ネットワーク・サーバの基礎知識を学習する
インフラエンジニアは、プログラマーと違ってポートフォリオを作るなど、アピールするための成果物を作るのが難しい問題があります。
また、学習環境も作りづらく、物理的な機器はほとんどの場合は用意するのが困難です。
そのため、現場で学習するのが一番なのですが、最低限の基礎知識は必要となります。
書籍での学習も可能ですが、やはり体験して学習するのが一番です。
インフラを体験して学習できる場所は数少ないのですが、『リナックスアカデミー』であれば可能です。
リナックスアカデミーは、少人数によるクラス制授業で実機を使った学習を行います。
リナックスアカデミーのメリット・デメリットは以下の記事で紹介していますので、気になる方はご覧ください。
②無料枠を使ってクラウド環境を触ってみる
AWS、Azure、GCPなどのクラウドサービスには、一定期間の使用量が無料になる無料枠が提供されています。
一部制限はありますが、基本的な操作を学習するには問題ありません。
学習用のコンテンツや動画なども数多く公開されていますので、基本的な部分だけでも実施してみることをおすすめします。
③プログラミングを学習する(余裕があれば)
必須ではありませんが、プログラミングの基礎知識だけ余裕があれば、学習しておきましょう。
おすすめの言語は、インフラ管理でよく使われるPythonです。
一からアプリケーションを作る必要はなく、プログラムが読める程度になっていれば大丈夫です。
本記事のまとめ
インフラエンジニアの仕事からロードマップまでを解説してきました。
最初の悩みに対する結論をまとめると、以下となります。
- インフラエンジニアとはどんなエンジニアか知りたい
- インフラエンジニアはどんな人に向いているのか知りたい
- インフラエンジニアにプログラミングの知識は必要?
- インフラエンジニアになるにはどうしたらよい?
→インフラを作る仕事、維持する仕事、改善する仕事がある
→大きな仕事にやりがいを感じ、職人のようにコツコツと仕事ができる人
→ネットワーク・サーバの知識が最優先だがプログラミングの知識も必要
→体験型のスクールに通って学習するのが一番効率がよい
「インフラエンジニアはつらいからやめておいた方がよい」という情報を見かけることがあります。
もちろん楽なことばかりではありませんが、僕の周りのインフラエンジニアは皆楽しそうに仕事をしています。
何より基盤を支えているという誇りをもって仕事をされていますね。
自分の仕事に誇りをもって取り組めるというのは、人生が豊かになります。
少しでも興味があれば、まずは行動し始めてみてもよいのではないでしょうか。
コメント