インフラエンジニアとは?
まずは用語から説明しましょう。インフラエンジニアとは、どんな仕事をする職種でしょうか。コンピュータとネットワークが当たり前のように普及し、人々の生活を支える文字通りの「インフラストラクチャ:infrastructure」になっています。スマホでゲームをしたり、SNSを見たり、LINEでメッセージのやりとりをする、その裏側でコンピュータが何百万台も動き、光ファイバーや高速なネットワーク回線が利用されています。それらはまさしく、インフラ(社会基盤)になっています。本書は、そうした仕組みを支えるエンジニアに向けて企画されました。IT活動を支える技術者つまり現代のハイテク職人さん達です。
インフラ=サーバ+ネットワーク
現在では、そんなインフラの定義もかなり変化しています。たとえばスマホのゲームもそうですが、Webの仕組みの上で動くソフトウェアが開発の主流を占めるようになってしまいました。そのため、Webを支える仕組みの部分もインフラであるという方も増えています。しかし、本書ではあえてLANケーブルの物理層から、サーバーやネットワークシステムの構築に到るまでをインフラと大きくとらえました。これはインターネットの草創期から、この技術を追いかけてきた本誌の自負と誇りから、アピールさせていただきました。
クラウドコンピューティングもインフラ
さて、ここ数年の流行語である「クラウド(コンピューティング)」は、一般の方にはまったく目に入らないものです。しかし、スマホゲームの多くはクラウド上で動いています。そもそもクラウドとは、世界レベルで構築されたネットワーク上で動くコンピュータです。巨大な1つのコンピュータと考えてもかまいません。これに対して自前で持つ、従来のようなコンピュータシステムのことを「オンプレミス(on-premises)」と分類されます。
クラウドもオンプレミスと変わらないシステム
クラウドを構成するコンピュータは普段私達が使っているものと構造はほとんど変りません。基本的は同じです。違うのは高速なネットワークでそれぞれが何百万台もコンピュータが接続されている点です。ですので、私達が見てきたコンピュータシステム(クライアントサーバーとかイントラネットと呼ばれてきました)、つまりオンプレミスでのサーバやネットワークの仕組みを勉強することで、インフラエンジニアの技術が学べます。逆もしかりでて、ちゃんと仕組みを知らなければクラウド自体も安心して利用できません。
基礎技術をマスターすれば、クラウドも怖くない
クラウド以前にも、VPS(仮想サーバ)、Webホスティング、コロケーション(サーバの場所貸し)など、いろいろなサーバの利用方法があります。本書『インフラエンジニア教本』は、ネットワーク構築をひとつのテーマに、Software Design誌でここ数年特集された技術系記事を再編集しました。LANケーブルのコネクタの作り方、さらには光ファイバーの接続方法、といった物理層の話も掲載しています。ただそれだけではなく、ルーターやスイッチの仕組みも解説しています。さらには無線LAN環境構築までも! これらはまさにITインフラです。そしてそうしたインフラをコントロールするソフトウェアであるOSもUNIXの操作方法(各種コマンドの使い方)も解説しました。さらに高度なものとしてネットワークの負荷をさばくためのロードバランサ、クラスリング、プロキシーなどプロ向けの技術解説も盛りだくさんです。初心者の方にはとてもハードルが高い内容ですが、これらを知識水準として、大いに技術を磨いてほしいと思います。