プログラマやテストエンジニアなど開発系のエンジニアとは違い、ITシステムを支えるサーバ/インフラエンジニアの仕事内容は、一般の方にはわかりづらいのではないでしょうか。
まず、その仕事内容から見ていきます。
ITシステムを支えるエンジニア
サーバエンジニア
サーバエンジニアの主な仕事内容は、ITシステムで利用するサーバ群の設計や構築、運用管理のほか、システム障害を予防するための対策や障害が発生した際の対処、さらにセキュリティ対策などが含まれます。設計する際には冗長構成や負荷分散構成を考慮する必要があります。
対象となるサーバは、Webサーバからメールサーバ、ファイルサーバ、DBサーバなど幅広く、それぞれのサーバソフトウェアやミドルウェアに加えて、OSやネットワーク、セキュリティの知識も必要になってきます。
ネットワークエンジニア
ネットワークエンジニアの主な仕事内容は、ITシステムのコンピュータネットワークの設計や構築、運用管理です。
該当のITシステムに求められるネットワーク構成を設計し、通信機器や配線などを設置し、必要なネットワーク設定を行います。
ただし、中小規模のITシステムでは専任のネットワークエンジニアが配置されることはあまりないでしょう。
インフラエンジニア
インフラエンジニアとは、一般的にはサーバエンジニアのスキルに加えて、ネットワークエンジニアのスキルも身につけたエンジニアです。
フルスタックエンジニア
さらに、昨今ではフルスタックエンジニアと呼ばれるエンジニアが、スタートアップ企業などで求められています。
仕事内容は、新しくWebサイトを立ち上げる場合であれば、インフラエンジニアの業務に加えて、DB設計やプログラミングなど、関連するすべてになります。つまりWebサイトの立ち上げや運用をほとんど一人でできてしまうエンジニアと言えるでしょう。
ここまでできるのであれば、スタッフが少なく、開発期間も短いスタートアップ企業に特に求められるがわかりますね。
サーバ/インフラエンジニアへのはじめの一歩
では、どのようにすればサーバ/インフラエンジニアやフルスタックエンジニアになれるのでしょうか。何から学べばよいのでしょうか。
千里の道も一歩から―――。技術の進歩や流行り廃りのあるIT業界においても、まずは、実際に手を動かしながら次の内容にチャレンジしてみてください。
自習用にLinuxサーバを構築する
まずは自分のPC上にLinuxサーバ環境を構築してみましょう。普段使っているPCでも仮想環境上にLinuxサーバを無料で構築できます。自習用なので操作を誤っても、自分以外の誰かに迷惑をかけることもありません。
シェルコマンドやシェルスクリプトを使いこなす
Linuxサーバ上でコマンドやシェルスクリプトを実行してみましょう。基本的なコマンドを組み合わせることで、おそらく想像以上のことができるはずです。
viエディタをマスターする
サーバのログファイルを閲覧したり、設定ファイルを編集するのにエディタを使いますが、まずはviエディタを習得しておきましょう。Emacsエディタなどもありますが、環境によっては使えない場合もあるためです。
Perlでプログラミングしてみる
サーバを管理していると、繰り返し作業になることが多いです。そのような場合、シェルスクリプトよりも簡単に処理内容が書けるPerlをマスターしておくと便利です。
当然、一人前のエンジニアになるためには、より多くの知識や経験が必要になりますが、上記をマスターすることで、初心者が越えるべき最初の壁はもちろん、次の壁を越えるための敷居も下がっているはずです。
どのサーバOSがいいの?
実際に自習用のLinuxサーバを構築しようとしても、Web上には多くの情報が溢れているので、どのOSをどこから入手すればよいのか疑問になるでしょう。
そのような方は、ぜひ本書を活用してください。本書では、仮想環境に「VirtualBox」、サーバOSに「CentOS 7」(図1)で自習環境を構築し、先の内容を丁寧に解説しています。
図1 CentOS 7のデスクトップ画面