1分で分かる!インフラ(サーバー)エンジニア
たいへんたいへん!だちょうさんの会社が運営している「だちょうのたまごオンラインショップ」っていうサービスの「さーばーがだうん」したんだって!
障害かぁ!それは大変だね!だちょうさん大丈夫かな?
それが大丈夫じゃないらしくて、腕がいいインフラ(サーバー)エンジニアを探しているんだって!ところで「さーばーがだうん」って何??大変なの??
サーバーっていうのは、コンピュータのことだよ。みんなが使っているパソコンは、基本的に個人で使うものだよね。でも、サーバーっていうのは、Webアプリケーションなどのサービスを提供している企業側のコンピューターのことを指すんだよ。そのコンピューター(サーバー)がインターネットを介して、ひよこさんたちのようなユーザーと繋がってるんだよ。
なるほどなるほど
例えば、今まさに見ているこのWebページも、みんなのパソコンやスマートフォンが、インターネットを通して、サーバーに対して「このWebページの内容をちょうだい!」ってお願いをしたんだよ。で、サーバーがそのお願いを聞いてくれたから、Webページを見ることができているんだ!
ということは、サーバーがダウンしたら、お願いを聞いてくれなくなるってこと?
そう!だから、だちょうさんのオンラインショップも見れないはずだよ。
それは大変だ!!でも、サーバーのダウンってインフラ(サーバー)エンジニアがいれば解決するの??
インフラ(サーバー)エンジニアは、サーバーのプロフェッショナルだからね!ダウンしたサーバーを復旧するのも、お仕事の1つなんだよ。
そうなんだ!とっても大事な仕事だね!他にはどんな仕事があるの?
サーバーに関することはだいたい担当しているよ!どういうサーバーを何台使うのかを考える(設計する)仕事、実際にサーバーを作る仕事、そして稼働したサーバーに問題がないか、問題が発生した場合は対応する っていうのが主な仕事だよ。
インフラ(サーバー)エンジニアがいないと大変なことになりそうだね!
そうなんだ!もう少し詳しく聞かせて聞かせて!
ぼくはだいじょうぶだけど、だちょうさん大丈夫かな??
あ、わすれてた…!
インフラ(サーバー)エンジニアとは?採用のための予備知識
インフラ(サーバー)エンジニアの役割
インフラ(サーバー)エンジニアの主な役割は下記の3つです。
- サーバーの設計
- サーバーの構築
- サーバーの運用・保守
3つの役割を説明する前に、サーバーの種類を説明したいと思います。
サーバーには様々な種類があり、具体的にはWebサーバー、アプリケーションサーバー、データベースサーバー、メールサーバー、ファイルサーバーなどになります。それぞれのサーバーは異なる役割を持っているため、求められる性能なども異なってきます。また、企業が提供するWebアプリケーションによって、必要なサーバーと不要なサーバーがあります。例えば、メール機能を要しないWebアプリケーションだと、メールサーバーは不要ですよね。なので、どのサーバーが必要なのかを考える必要があります。
また、対象のアプリケーションがミッションクリティカル(銀行や交通機関など社会的な影響が大きく、ダウンすることが許されないようなシステム)であるのか、ダウンしてもほとんど影響がないものなのかというような点も考慮する必要があります。
このようにクライアントが求める条件やアプリケーションの特性などを十分に考慮して、どのようなサーバーを、どのような構成にするのかを検討するのが「設計」という仕事です。
そして、その「設計」にもとづき、サーバーなどの物理的なハードウェアを準備したり、OSや必要なソフトウェアなどをサーバーにインストールするのが「構築」という仕事です。
サーバーは構築することがゴールではありません。むしろサーバー上で対象のアプリケーションが実際に稼働してからがスタートとも言えます。構築したサーバーが何の問題もなく、安定して稼働すればよいのですが、実際にはそうはいきません。アクセス過多による遅延やダウン、悪意を持った第三者からの攻撃、ソフトウェアのアップデートによるエラーなどが日々発生します。このようなトラブルに対応するのが、「運用・保守」という仕事です。
インフラ(サーバー)エンジニアとはどんな人か
インフラエンジニアは、まさに縁の下の力持ち的な存在です。
例えば、皆さんの中にも「LINEって便利だよね」「Yahooは毎日見ているよ」という方がいらっしゃると思いますが、そのイメージはあくまでも「アプリケーション」に対するものであり、サーバーなどのインフラ面について「すごい」と思う方はほとんどいないでしょう。
確かにスポットライトは当たりにくいのですが、どんな優れたアプリケーションを開発しても、インフラがしっかりしていないと使い物になりません。そのため、インフラ(サーバー)エンジニアも自分が目立つよりもサポートをするような役割を好む方が多いという傾向があります。
また、アプリケーションで障害が起きると最初に対応しないといけないのが、インフラ(サーバー)エンジニアになります。障害ポイントを瞬時に見分ける判断能力も必要ですが、復旧後、障害内容などを説明する必要があるので、相手にちゃんと伝わるよう、説明力も必要になってきます。
求人のポイント
業務範囲
主な業務はサーバー関連ですが、サーバーとネットワーク(サーバー同士を接続させたもの。これによってサーバー同士やサーバーとユーザーでやり取りができます。)というのは関連性があります。そのため、企業によってはネットワークの設計や構築などを担当することもあります。
明確な定義はないので、企業側が想定している業務範囲と候補者のスキルおよび志望はあらかじめ確認しておきましょう。
サーバーOSの種類
私たちのパソコンには、WindowsやMacOSなどのOSがインストールされています。同じようにサーバーにも、サーバー専用のOSがあります。具体的には以下のようなものがあります。
- Windows Server(Windows系)
- Red Hat Enterprise Linux(Linux系)
- CentOS(Linux系)
サーバーOSはそれぞれに違いがあります。特にWindows系サーバーOSとLinux系サーバーOSは全く別ものです。こちらも企業側と候補者のスキルアンマッチが起きないように事前に確認しましょう。
インフラ環境
前述でも説明したようにサーバーには、様々な種類があります。担当するサービスには、どの種類のサーバーがあって、どのソフトウェアがインストールされているのか確認しておきましょう。
代表的なものは、求人票に記載しておくと、エンジニアは想像しやすくなります。
キャリアパス
インフラ(サーバー)エンジニアのキャリアパスは、大きく分けて2通りです。1つはネットワークなどのスキルを身に付け、インフラ全般を担当するインフラエンジニアとなるパスです。
もう1つはアプリケーション開発のスキルを身に付け、フルスタックエンジニアとなるパスです。フルスタックエンジニアは開発全般を1人で対応することができるため、IT業界でも引く手あまたとなるでしょう。
候補者によく聞かれる質問
サービスの規模
サーバーを相手にお仕事をしている仕事なので、サーバーの台数やそのサーバーが処理するトラフィック量はインフラ(サーバー)エンジニアが気になるポイントの1つです。多ければよいというわけではありませんが、やりがいは少し比例するかもしれません。
全体のサーバーの台数やそのサービスへのアクセス数(同時アクセス数など)も確認しておきましょう。
障害対応オペレーションや頻度
インフラ(サーバー)エンジニアの役割の1つでもある「運用・保守」の部分です。
障害が発生するとインフラ(サーバー)エンジニアは一番に対応しないといけないですが、企業によっては、一次障害切り分けのエンジニアが配置されていることもあるので、確認しておきましょう。
障害の頻度が多いと、それだけ対応しないといけないため、ワークライフバランスを心配する方もいらっしゃいますが、障害頻度は、正確に伝えておきましょう。逆に頻度が多い場合は、その課題解決をしてほしいという訴求ポイントにもなるかもしれません。
インフラ(サーバー)エンジニア
インフラ(サーバー)エンジニアの豆知識
インフラ(サーバー)エンジニアはきつい?
インフラ(サーバー)エンジニアはきついという噂を聞いたことはありますか?
たしかに、インフラ系のエンジニアは24/365(24時間・365日常に稼働しているという意味)体制で、何か問題があれば即時対応が求められるケースが多いです。もちろん、1人で24時間365日待機するわけではなく、シフト制で働くことになりますが、当然夜勤なども発生することがあります。そのため、生活リズムが崩れやすいという面はあるようです。
ただし、前述したように最近はクラウド化が進んでいるため、遠隔地で対応できるケースも増えつつあります。(セキュリティ面に関しては最大限考慮する必要があります。)また、冗長化することにより
そういった意味では、一昔前よりも状況は改善されつつあると言えるでしょう。
インフラ(サーバー)エンジニアに必要な知識
インフラ(サーバー)エンジニアに必要な知識は以下の通りです。
OSの知識
インフラ(サーバー)エンジニアにとって、OSに関する知識は、最も必要な知識といえるでしょう。OSは定期的にアップデートされますし、一定期間経過すると保守の対象外になります。そのため、常にそれらの変更内容には目を光らせるようにしておきましょう。
セキュリティの知識
インターネット上にサーバーを公開するということは、いつ外部からの攻撃を受けてもおかしくないということです。また、攻撃でなくても、設定の不備などによりサーバーの情報が漏洩してしまう可能性もあります。そのため、セキュリティに関する幅広い知識が必要となります。
クラウドの知識
最近では、サーバーなどのインフラをクラウド環境に構築するケースが増えています。そのため、AWSやAzureなどといった各社のクラウドサービスに関する知識も付けておきましょう。