IT業界未経験者がインフラエンジニアになる方法
このページでは、
▶ インフラエンジニアの仕事に興味がある人
に向けて、
▶ インフラエンジニアの仕事内容
▶ インフラエンジニアの将来性
▶ IT業界未経験者がインフラエンジニアになる方法
について、インフラエンジニアの仕事を担当したことがある管理人が、具体的な業務内容について、現場視点で説明していく。
IT業界未経験者がインフラエンジニアになる方法
インフラエンジニアの仕事内容
インフラエンジニアの定義
まず、このページではインフラエンジニアについて定義しておく。インフラエンジニアといえば、広い意味では、サーバー構築とネットワーク構築が大きく分けられる。ここでは、サーバー構築の業務を中心に説明をしていく。ネットワークエンジニアについては、以下の記事で説明している。
また、業務内容について、
▶ 要件定義
▶ 設計
▶ 構築
▶ テスト・納品
の順に説明していきたいと思う。
要件定義
インフラエンジニアの初めの仕事は、顧客が解決したい問題・顧客のニーズを把握し、システムの要件を決めていく。これを要件定義と言う。顧客の要件に基づいて顧客のニーズ、希望を叶えるためのシステムを決定していく。
例えば、大企業でライセンス費用がかかっても、保守・メンテナンス・セキュリティーを重視する場合は、Windows Serverを提案する。一方、ライセンス費用がかからない構成を希望しているときは、オープンソースのLinuxやApacheといった保守費用がかからないLinux サーバーの環境を提案する。
例)保守・メンテナンスを重視する構成
OS : Windows Server 2012 R2
WEBサーバ:IIS
DBサーバ: SQL Server 2012
例)価格を優先する構成
OS:Linux
WEBサーバ:Apache, Tomcat
DBサーバ:MySQL
そのため、顧客が一番求めるものを提供するためには、顧客担当者と密な連携が必要になる。
定義した要件をもとに、設計する
顧客が求めるものがわかると、本格的な設計に取りかかる。顧客が提示した予算、スケジュール(納期)、配置できるこちらのリソースなど、具体的な条件とを照らし合わせて、構築に用いるハード、構成、ソフトウェアを決めていく。この段階で、納期や使える予算などが確定する。
この設計だが、要件定義と並び重要な工程のため、インフラエンジニアの一番の腕の見せ所だ。
設計でのポイントを解説していく。
顧客の要望を満たす設計になっているか
繰り返しになるが、要件定義に沿った設計となっているかが大事だ。もし、この設計に誤りがあるときは、設計書に沿ってサーバー構築を行っても、再度設計からやり直さないといけなくなる。
そのため、手戻りがないように、この設計作業は1人で行うのではなく複数人のチームで進めることが多い。SIerではこの傾向が特に強い。
サイジングとコストの調整
次に、設計ではサイジングをして必要なサーバーの構成を決定していく。
例えば、最大接続数100,000ユーザーのトランザクションがある業務系WEBアプリケーションのサイジングをするとき、WEBサーバー1台だけでは、耐えられないため、サーバーの負荷分散のためのロードバランサーを配置して、その向け先として2〜3台WEBサーバーを用意する必要がある。
スケジュールとリスク管理
サイジングが終わり、サーバーの構成が決まると、次はサーバーの構築から納品までのスケジュールを決める。ここでは、人員的に予定外の作業が起きたときのリスクにどう対応していくかの検討をしておく。
インフラエンジニアの仕事はこのように、単純にサーバーを構築するのではなく、全体を見通して仕事をしていく。このプロジェクトの成否の運命は、任されたインフラエンジニアの腕にかかっているため、責任感もやりがいもある。
また、細かい話になるがSIerになると会社の取引先によって、サーバーの購入先が縛られることがあるため注意してほしい。
例えば、
▶ IBM系列の会社なら、IBM のサーバー
▶ 富士通系列の会社なら、富士通のサーバー
▶ 日立系列の会社なら、日立のサーバー
を利用することになる。このように、会社の系列によって、仕入先が異なるため注意してほしい。SEの中には、「お客さんには、会社のしがらみを捨てて、最適な構成のシステムを提供をしたい」という考えを持っているが、系列会社からサーバーを安く仕入れて環境を構築するという大人の事情がある。
設計書に従ってサーバーを構築する
設計に基づき、サーバーを構築していく。上流工程の会社になると、サーバーの構築作業は協力会社に依頼することが多い。もちろん、キャリアを積み重ねていく中で、サーバー構築は必要になるため、インフラエンジニアであれば誰しも経験する作業である。サーバーの構築で身につくスキルは以下の通りだ。
Linux サーバー、Windows サーバーの構築スキル
設計書のサーバー要件を満たすサーバーを構築していく。LinuxではCUIでの作業をしたり、WindowsではGUIでの作業を行う。
作業場所は、サーバールームであったり、ビル内のフロアでリモートで構築していく。管理人の例を紹介すると、社内SE時代は、数百万円するサーバー上にHyper-Vなどのソフトウェアを利用してWindows Serverを立ててサーバーを構築していた。
Windows Serverであれば、IPアドレスを設定したり、ウイルスソフトをインストールしたり、再起度のバッチを設定したり、資産管理ソフトを設定したり、Windows Updateを行い、初期の構築を行う。
WEBサーバー、DBサーバー、NASサーバー、Load Balancerなどのサーバー構築スキル
OSの初期設定が終わったら、次に各サーバーを設計書に従って構築していくことになる。Windows ServerはGUIで操作が簡単で作業が楽だが、Linuxの場合、CUIのため技術が必要となる。
サーバーのチューニングスキル
設計書に従って、サーバーの設定を行う。例えば、タイムアウト値の設定であったり、最高接続数の設定をしていくことになる。
ベンダーとの調整スキル
何かしら、サーバー構築で問題があると、ベンダーに電話で確認をしたり、ログを提供したりするなどの対応が必要になる。そのため、ベンダーとの調整スキルが身についていく。
構築後のテストと納品
構築が終わったら、以下のようなテストが必要となる。
ネットワーク関連
▶ 想定する最大の接続ユーザーで処理をして正しく動くのか?
▶ システムのバックアップは正しくできているか?
▶ 同一セグメント内の別サーバーからpingが通るのか?
▶ 違うセグメントからの別サーバーからpingが通るのか?
▶ Linuxでcronで設定した通りに、サーバーの再起動するのか?
▶ 再起動時に、システム起動のメールは送れるのか?
▶ 異常ログを検知したら、設定通りにメールを送れるのか?
などで、構築が正しいテストをする。そしてテストが終わったら、お客さんに納品をする。
稼働後のシステム運用
インフラエンジニアのサーバー構築から納品まで説明したが、最近の傾向として、“設計や構築を行ったエンジニアや、そのエンジニアが在籍する企業がそのまま請負契約などを交わして、システムの運用管理をアウトソーシングするというケース”が増えている。この要件定義から保守運用までを提供するというビジネススキームは大手企業で顕著になってきている。
システムの運用がない場合は、一仕事終えると、また新たな顧客の対応をして、再び要件定義をして設計と構築に取り掛かっていく。インフラエンジニアの具体的な仕事は、以上となる。
インフラエンジニアの将来性と年収について
インフラエンジニアの将来性は極めて高く、IT業界のトレンドとして Amazon AWS、Microsoft Azureといったクラウド化が進んでいる。特に、Amazon AWSに特化したエンジニアであれば、需要が非常に高いため、将来はフリーランスとしての独立も視野に入れられるだろう。
また、インフラエンジニアはSIerだけではなく、WEB系(ゲーム業界)でも必要とされているので、スキルがあれば、幅広く仕事ができる。参考までに、転職エージェントGeeklyに掲載されていた求人情報を紹介する。予定最高年収は800万円となっており、スキルを磨いていくと高年収を期待できる。
*株式会社カプコン
会社名:株式会社カプコン
- 予定最高年収:800万円
募集要項
- 想定年収
- 300〜800万円
- 仕事内容
- モバイル向けゲームのバックエンド開発/運営に携わっていただきます。
- 求める経験
- ・システム開発経験
・サービス運営経験【歓迎】
・Ruby/JS/PHP、Scala/Goなどの実務経験
・NodeJS、Express/KOA、Angular/React、Playなどの実務経験
・MongoDB/CassandraなどNoSQLでの実務経験
・Hadoop、MapReduce、Impala、Rなどの実務経験
・パブリッククラウドで中規模(100台)以上の実務経験
・マイクロサービス、サーバーレスなどの実務経験
・オンラインゲーム、モバイルアプリの実務経験
未経験からインフラエンジニアになる
未経験からインフラエンジニアになるのは、専門的な知識の習得が必要となる。独学で知識を習得する場合、分からない所がでてきて途中で挫折していまうおそれがある。
また、未経験者可なバイトに挑戦してもいいが、実際は高いレベルを要求されたり、サーバー監視の単純作業が多かったりするため、未経験者はプログラミングスクールを利用してからスキルが磨ける会社に就職する方が良い。
そこで、次に未経験者がスキルを磨く手段として最適な、プログラミングスクールを利用する方法を紹介したい。
プログラミングスクールを利用してインフラエンジニアになる方法
先程も述べたように、独学でインフラエンジニアとしての知識を習得していくときは、壁に突き当たって挫折してしまう可能性が極めて高い。
そのため、未経験者が判らずに挫折してしまうポイントで、プログラミングスクールが解るまで丁寧にフォローしてくれたり、一緒に勉強する仲間がいたりするので、モチベーションを保てずに挫折してしまう可能性が低くなる。次に、オススメの無料プログラミングスクールについて紹介したい。
オススメのプログラミングスクールについて
エンジニアカレッジについて
管理人のオススメのプログラミングスクールは、完全無料でプログラミング研修と就活サポートを受けられるエンジニアカレッジ だ。
受講期間は2ヶ月を1つのスパンとして受講期間が設定され、以降は就職先を斡旋してもらえる。ここは、提携企業からの援助があるため、完全無料でプログラミングの研修を受けることができる。
ここのサービスの凄い所は、カリキュラムが本格的な点。Linux研修コースとJava研修コースの2つがあり、有料でも行く価値があると感じている。インフラエンジニアを目指すのであれば、オススメはLinux研修コース。
というのも、このLinuxを学ぶときに、サーバーのディレクトリ構成やviを利用したCUIの操作方法などの未経験者が一番はまりやすいLinuxの概念を学ぶことができ、未経験者がつまずくところを徹底的にフォローしてもらえる。この未経験者が一番ハマりやすいところを教えてもらえるというのは羨ましい。もうちょっと苦労してもよいのではないかと思う。
Linuxのサーバー構築は独学で勉強するのはアプリ作成とは違い、作ったという達成感を得るのが難しく、しんどくて挫折する可能性が高い。そのため初心者には難しいが、カリキュラムに沿ってLinuxの仕組みや構築作業について教えてもらえ、達成感を感じることができる。そのため、モチベーションが管理しやすい。
Linuxサーバーでの構築作業ができると、サーバー室で、サーバーの構築作業であったり、ネットワーク関連の作業に携わることができる。また、このプログラミングスクールのLinuxのサーバー構築はWEB系からSIerまで幅広く案件があるため、スキルを習得したあとの就職がスムーズとなる。
未経験者が挫折するもう一つの理由
超重要な点を話すと、未経験者が挫折してしまうのは適切な課題を設定できないからで、それは本を読んで例題をこなすだけだと中々実力がつかない。サーバー構築のアルバイトに行くとレベルが高すぎることを要求されてしまい、挫折してしまうこともある。
プログラミングスクールであれば、自分のレベルの少し上の課題が常に設定されていくので、スキルが身につきやすく、またフォローもあるのでやり遂げることができる環境は整っている。
一緒に講義を受講する仲間
この研修は、Skype研修であれば1人となるが、周りに一緒に勉強する仲間がいるため、それだけでも挫折するリスクが減るため、達成しやすい。マラソンも1人でやるより、周りで人が走っている状況だと自分も走れるだろう。
また、このエンジニアカレッジ で下積み時代にできた友だちは将来も同じ業界で働くことになる。刺激し合える良い関係を築けるのも良い点だ。これから未経験者が新しい道を進んでいくときに、1人だと辛いから。一緒にがんばる仲間がいると心強いだろう。
また、現在インフラエンジニアへの転職を検討しているのであれば、転職エージェントの効率的な使い方を記載したので参考にしてみてほしい。
インフラエンジニアに転職するためのエージェントの効率的な使い方
早速ですが、評判の良い転職エージェントをまとめしたので参考にしてみてください。
IT業界専門(Web系・SIer)の転職エージェントは
▶レバテックキャリア
▶マイナビエージェント×IT ★オススメ
案件数が多く異業種転職もできる大手転職エージェントは、
▶マイナビエージェント(転職全般)
▶リクルートエージェント ★オススメ
▶DODAエージェントサービス
の順にオススメです。
初めはIT専門のエージェント1社と面談をして自身の市場価値と転職の流れを知ることが大事です。その後は、案件の多いエージェントで優良案件を探すことをオススメします。
また、エージェント毎の特徴を、以下のページにまとめていますので参考にしてみてください。