サーバーエンジニアとして働こうと思っても
「何から勉強したらよいかわからない。」
という声をよく聞きます。
また、ITというとアプリみたいなところがある為、会社に入った途端にインフラの部署にまわされて
「インフラって何!?」
からはじまる人も多いですよね。かく言う私もそうでした。
研修でもインフラに触れる事ってなかなかない為、サーバー関係の設定や運用保守を任されて四苦八苦している人も多いのではないでしょうか?
そこで本日は、サーバーエンジニア初心者が勉強しておきたい事と勉強法についてお話していこうと思います。
サーバーエンジニアとして勉強しておきたい事
ここからはサーバーエンジニアとして勉強しておきたい事や触れておきたい知識について紹介していきます。
基本的なOSの事を勉強する
サーバーエンジニアになるとサーバーの専門家として見られます。
中でも基本的な事として知っておきたいのがOS。
企業のサーバーとなるとWindows以外のOSに触れる機会も多くなるのですが、普段使いのパソコンがWindowsである事が多い為かあまり知らない人もいるというのが実態でしょう。
しかし、企業のニーズとしてはWindowsよりもLinuxを理解している技術者の方がニーズが多いですし、コマンドラインベースの
その為、せめてOSの種類やどういったところで使われているのかを知っておくと良いです。
例えばWindowsサーバー以外でよく使われるのがLinuxですが、
そもそもUNIXという系統の派生OSである事、
Androidにも使われている事、
UNIX系ととしてAIXやSolarisなんかがエンタープライズサーバーに使われている事
などはUNIXの歴史を勉強するとわかります。
特にLinuxよりもAIXやSolarisを基幹システムの中心に据える傾向が強かった為、実際に高性能なサーバーではそれらのOSが動いている事が多いので実際に触る機会も多くなってくるはずです。
実際に触るのは実務についてからでもいいのかもしれませんが、可能であれば触れておく事が望ましいですし、
OSがどのように起動してサービス展開しているのか?
どうやってログインするのか?
ファイル編集するのか?
などを勉強しておくと必ず役立ちます。
これらの情報を統括して学ぶのに本を利用するのもいいのですが、できれば自宅にサーバ構築するかレンタルサーバで実際に操作をしてみるのが望ましいです。
自作サーバは敷居が高いと抵抗があるなら、まずはお名前.comやエックスサーバーのようなレンタルサーバを借りて、SSHログインやFTPログインを試してみると良いでしょう。
それでもなお自分で調べるハードルが高いと思うなら、Linuxアカデミーや<a href=”https://px.a8.net/svt/ejp?a8mat=3BSOG7+8PA7FU+33T0+ZS5GI” rel=”nofollow”>ウズウズカレッジ</a><img border=”0″ width=”1″ height=”1″ src=”https://www15.a8.net/0.gif?a8mat=3BSOG7+8PA7FU+33T0+ZS5GI” alt=””>ようなインフラエンジニア向けスクールを頼るのも良いかと思います。
どんな選択肢だとしてもサーバーエンジニアとして学ぶポイントは変わらないので、まずはOSを学びながら基本操作を一通りやってみる事から始めると良いです。
サーバープログラミング以外の知識
サーバーエンジニアというのは実際にサーバーのメンテナンスや保守をする部隊もいれば開発を行う部隊もいます。
開発となると必要なスペックを決めるところやベンダーと連絡をとってサーバーを購入する事、サーバーを導入する施設や場所を決めるなどモノを配置するところからはじまります。
更にサーバーを入れる際にはネットワークとつないだりサーバーをラックに格納するための構成図を作ったり、OSを入れるために設計したりとやる事は多岐に渡ります。
正直、機器スペックの確認や導入ベンダーとの調整、実際に機器を組み立てるといった
サーバーにプログラミングを行う作業以外の作業が多い事を認識しておく
事が必要です。その上で
サーバーの種類はどんなものがあるのか?
ネットワーク機器ってどんなものがあるのか?
一般的な3階層モデルってどんなものなのか?
といった話を勉強していくと良いです。。
これらの話は基本的な知識に含まれてくるので、極端な話が基本情報技術者試験に出てくる内容を勉強すれば問題ない内容と言えます。
よく企業の研修の一環として基本情報技術者を取得する事をノルマにされていますが
実務と関係ない為に試験に受かる事のみ考えて勉強してしまいがちです。
しかし、実際にはかなり役立つ基礎知識が含まれている為、試験に受かった後でも見直すと結構勉強になります。
というかむしろ試験に受かった後に実務で振り返ると
「あっ、そういう事だったのか!!」
となる事も多いぐらいです。
実務経験がある人は実務と紐づけて更に理解が深まるため、大変おすすめの勉強法です。
シェル・バッチの知識
サーバープログラミングでよく利用されるのがシェルやバッチです。
シェルスクリプトやバッチスクリプトなんて呼び方をしますが、サーバーに対する命令として利用されているプログラミング言語になります。
Windowsでは以前はバッチがメインでしたが、最近ではPowershellが主流となってきているところも多いので、使えるとかなり便利です。
シェルやバッチというのはとにかく数を作ってコードに触れる事が1番の上達の近道ですので、実際に自由にできる環境で作ってみるのがいいと思います。
そんな環境がすぐには作れない。。。
という人はお名前.comやエックスサーバーで一番安いサーバを借りて、SSH接続を行って動かしてみると良いでしょう。
自宅に簡単な自作サーバを作るよりも安く、簡単に動かす事ができます。
クラウドの知識
これからの時代、クラウドコンピューティングの知識は必須となります。
AmazonのAWSやGoogleのGoogle platformを筆頭にクラウドはどんどん領域を広げ、社会を変えていっています。
もう10年以上前になりますが、筆者が駆け出しの頃にも
「インフラの仕事はクラウドにとられる」
と言う話を聞いていましたが、その流れは今なお変わっていません。
よってクラウドの知識は絶対勉強しておいて損はないですし、特にAWSについてはAWS認定資格を取得すれば世界でも通用するプラットフォームとして成長を続けています。
よってAWSの一通りの知識をAmazonのページで日々勉強するようにルーティーンを作ると将来的に重宝される技術者になれます。
サーバーエンジニアの勉強に役立つ本やサービス
サーバーエンジニアとして勉強するのに役立つ本やサービスを随時紹介していきます。
最近は本だけでなく簡単にサーバーを持つ事もできますし、プログラミングスクールも増えたので勉強する方法が多くできています。
OS関連の本
やはりOSについての知識は必須ですので、OS関連の本を読むのは最低限の知識を身に着けるのに役立ちます。
役立ちそうな本をピックアップしてみました。
絵で見てわかるOS/ストレージ/ネットワーク データベースはこう使っている
初心者でも読みやすい文字通り絵でみてわかる本。
タイトルにもある通りにOS、ストレージ、ネットワーク、データベースとサーバーエンジニアをやっていれば一通り触れるであろうことについて記載している。
Oracleのパフォーマンスチューニングの経験を元に書かれている為、実践的でためになる1冊。
UNIX考古学
UNIXの歴史を知るのに良い本です。
昔はこの手の本が多く出ていましたが、最近ではめっきり減ったように思える中で2016年に刊行された本なので近年の流れにも触れています。
ちょっとUNIXに触れすぎていて、多少知識がついてきてから読んだ方がいいかとは思いますが、UNIXの歴史を知る事はOSを知る上では非常に役立ちますので興味があれば読んでみるといいと思います。
シェル・バッチ関係の本
シェルやバッチの本は読むというよりは1冊置いてあると便利といった感じです。
シェルやバッチを実際に作る際に横にあると迷ったときに非常に役立ちます。設計する時やコーディングする時にちょっとわからない事があった時とかにすぐ見れる位置に置いておくと仕事も早くなります。
サーバーエンジニア講座
色々と本のことを書きましたが、結局は触れるのが一番なので実際に触れることができる講座を受けるというのも手です。
オンラインスクールもたくさん出てきましたので、サーバー関連に強そうな講座を受けるのが良いと思います。
リナックスアカデミー
Linux全般の知識やサーバープログラミングを学ぶ事ができるアカデミー。
名前の通りLinuxについて学ぶ事ができるため、今後のサーバーエンジニアとして必須な知識を学ぶ事ができます。
Linuxをはじめとしたサーバ講座やプログラミング講座を開講しているリナックスアカデミー。2000年代初頭から開講されており、企業研修も行っている会社が主催している為、指導力には定評がある。
LPICやCCNAの資格対策も行っている為、資格を取得するまでの確かな知識を求めているなら受講してみるのもおすすめ。
ウズウズカレッジ
ネットワークの資格で最も有名と言っても過言ではないCCNAという資格取得を目指しながら、オンラインでインフラ技術の習得を行う事ができるスクールです。
ウズウズカレッジ
オンラインでの受講ができる為、通わなくても良いというのもメリットの1つです。
まとめ
サーバーエンジニアとして活動するために基本的に勉強しておきたい内容についてまとめてみました。
一言にサーバーエンジニアと言っても立場は様々な為、必要な知識は変わってきます。
しかし、基本的なベースとなる知識はどこに行っても通用するものなので、根幹部分として知っておくとどんなところでも使える強味があります。
スポーツで言うランニングで足腰を作るように、どんな分野にいったとしても応用して使う事ができる力をつけてサーバーエンジニアとして高みを目指してみてはいかがでしょうか?
あわせて読みたい
インフラエンジニアとして働いている人と話をしていた際に「インフラエンジニアが副業としてできる事ってどんなものがある?」という話題が上がりました。実際に話を聞いてみると「プログラミングができるわけではな[…]