こんにちは。ビデオリサーチの新入社員のモリです。
本記事では、名著『ネットワークはなぜつながるのか』は、ひよっ子IT部門社員にとって、(主にAWSの学習補助という観点から)どのような読み方/使い方ができるかについて、私なりの意見を述べていきます。
あなたは誰ですか。
25年の4月に入社し、システムソリューションユニットに配属されましたが、大学・大学院時代の専攻は(端的に言えば)文系でした。
しかし、大学は理系科目で入学していて、線形代数や微積分、アルゴリズム/統計学(2級程度)/Python/Rubyなども、教養科目で修めて参りました。
実際の開発実績(?)で言えば、とあるボードゲームをオンラインで友人とプレイするために、Discordの簡単なbotを四苦八苦しながら作った程度の経験があります。当時はAIコーディングが一般的ではなかったので、APIリファレンスとにらめっこしながらがんばりました。ある程度動かしてみるまでは、async/awaitの理解は中々の鬼門でした。
今何をしていますか。
現在のわたしの主な業務は、ビデオリサーチの資産である各種データを活用したWebサービスの開発・管理です。
そして、そのようなサービスの大半はAWSやGCPによって構築されているため、多種多様なクラウド用語がミーティングで当たり前のように飛び交っています。
ふわっとしか分からなくても現状としては問題ないのですが、ちゃんと知っておくに越したことは無いですし、AWS資格の取得を今年度の目標に据えたこともあり、業務の合間を縫って日々勉強に励んでいます。
なぜこの本なのですか。
Udemy等を活用した日々の学習の中で、まずわたしが躓いたのが、VPCやRoute53、ELBといった、ネットワーク関連サービスの部分でした。
どの動画も何の説明もなく「ルートテーブル」とか「ゲートウェイ」とか「エンドポイント」とか「SSH」とか、知らない言葉を平気で使ってきて、おまけに説明がざっくりしすぎていて、全くイメージが掴めない!
何となくの理解で済ませても資格は取れるでしょうが、ある程度腑に落ちないと気持ち悪いと思ってしまう性格のわたしは、ここで大きく足踏みをしていました。
そこで部署の先輩に薦められたのが、『ネットワークはなぜつながるのか』でした。
クラウドサービス云々以前に、そもそもネットワークとは何か。どのような設計で、どうやって通信が成立しているのか。どういう役割のどういう部品で構成されていて、それがなぜ必要なのか。
それらが分かれば、AWSの各種機能がなぜそのように存在していて、またそれらがどれほど「便利」なのか、より実感できるかもしれない。
そういう期待を以て、これらの本を読み始めました。
どういう本なのですか。
この本の最大の特徴は、通常のネットワーク解説書とは異なるアプローチを取っている点です。
多くのネットワーク関連書籍が「OSI参照モデル」に沿って各層の機能を体系的に説明するのに対し、本書は「ブラウザにURLを入力してからページが表示されるまでに、何が起きているのか」を、通信経路の順を追って解説していきます。
従来型の書籍が「部品の図鑑」だとすれば、本書は「完成品の動きを見ながら、その流れに沿って順番に関係する部品をざっくり解説していく」ようなスタイルです。
この「スタイル」の良さ
ものごとを"ちゃんと"学ぶためには、図鑑のように網羅性があり、体系だった専門書が不可欠です。(※)
しかし、専門書だけでは「なぜそれを学ぶのか」「なぜそれが必要なのか」が分かりにくいこともあります。
一方で、実際の使われ方から分野の概要を辿るような補助教材は、それ単体で分野の学習を完成させるには不十分かもしれませんが、学習の動機付けや理解の整理に非常に役立ちます。
この意味で、「学習に"物語"が欲しい初学者」が最初に触れる教材として有用であると思いました。単純に読み物として面白いです。
また、他の読者の方々の感想を見てみると、「通信の流れを順番に追う思考が身につくことで、障害発生時の問題切り分けがしやすくなる」というものがありました。
わたしにはまだそのような経験がありませんが、なるほどと納得できる内容になっていました。この意味で、「実務経験を少し積んだ中級者」の方にもおススメできる内容だと思います。
※書籍を使った学習を進めるにあたって、『マスタリングTCP/IP』という本も一緒に、部署の先輩に薦めていただきました。こちらの本はここで言う「部品の図鑑」のような役割をしていて、並行してこちらの学習も進めています。 www.ohmsha.co.jp
本書の「やさしさ」
その他の点で、個人的に特に好印象だったのは、初学者が思いつきそうな疑問を先回りして丁寧に解説してくれているところです。
たとえば、
というありがちな疑問に対しては、予めそれに回答するセクションが用意されていて、
といった理由が説明されています。
前者は直感的に納得しやすいですし、後者もExcelなどで事務処理をした経験がある方なら、すぐにピンとくるのではないでしょうか。
たとえば、「この帳票を整理して、利用履歴のあるユーザーを重複なしでリストアップしておいて」と依頼されて、「書式も入力規則も何もかも定まっておらず、表記揺れまみれの未整理すぎるシート」を渡されたら、きっと誰もがうんざりするはずです。自動化が困難で、非効率な手作業を強いられるわけですから。
このように、読み進める中で自然と浮かんでくる疑問の多くは、本書の中で解決することができます。
疑問が生じた直後に本文や脚注でその答えが提示されることもあれば、「その疑問は後のこの流れの中で解説した方がより理解しやすいと思うので、詳しくはそちらを参照してください」といった形で、読者が理解しやすいようにタイミングを考慮した案内がされていることもあります。
こうした構成には、初学者への丁寧な心遣いが感じられます。
単に情報を並べるのではなく、「どの順番で、どのように理解していくとスムーズか」を意識して設計されているため、読みながら安心感があります。
まるで、少し先を歩いている先輩が「次はここでつまずきそうだから、先にヒントを出しておくね」と声をかけてくれているような感覚で、やりやすい職場環境みたいな“やさしさ”を感じる本でした。
AWSの学習に役立ちましたか。
そもそも本書を読み始めた目的、「AWSなどのクラウドサービスの理解補助」の視点で評価するならば、「役に立つ。ただし、目的によっては遠回りになる可能性もある」というのが率直な感想です。
もし、AWS認定資格(特にPractitionerレベル)の取得だけを目的とするのであれば、AWSのサービスについて“ざっくり”理解し、過去問演習を積むだけでも十分に合格は可能でしょう。
そのため、TCP/IPの仕組みやDNSの内部動作などを深掘りすることは、純粋な試験対策としてはオーバースペックであると感じました。
どのように役立てましたか。
一方で、VPCやRoute 53、ELBなどのAWSサービス(の一部)が「ネットワークの基本的な仕組みを抽象化し、部品として切り分けて提供しているもの」であることは、本書を通じて理解できるようになります。
解説動画を見ながら「ルートテーブルとかゲートウェイとか中継点多すぎだろ。こいつら何してんだよ。何でこんなにいるんだよ」と感じていた疑問も、「通信」がどのような手順で成立するのかを知ることで、その必要性に納得できるはずです。
NATやSSHなど、一部本書では直接扱われていない事項もありますが、それらは『マスタリングTCP/IP』が補ってくれました。
先ほど述べた通り、図鑑のような専門書に記載された各項目が、実際の通信の流れの中でどのように働いているのかを理解しながら読むことで、単に各項目を眺めるよりも、体系的な知識として吸収しやすくなります。
つまり、『ネットワークはなぜつながるのか』は、OSI参照モデル型の解説書を読む上で、並行して学習する教材としても非常に有用です。
どういう人におすすめですか。
「クラウドについて知識は必要ではあるけれど、実務でAWSを触る機会はそこまで多くない」新入社員やIT初心者で、「無理に詰め込みをしようとすると迷子になってしまうタイプ」の人には、AWSの勉強と並行して本書を持っておくことは有効だと思います。
業務でAWSを触る機会があるのであれば、まずは資格取得に注力して一通りのサービスを覚え、慣れてきた頃に、本書を通じてクラウドサービスの背景にある技術に触れ、知識を整理・体系化する、という流れが理想的だと感じました。
さいごに―不変的で普遍的な基礎学習
今からエンジニアリングの勉強を始めるとなると、多くの人が今をときめく生成AI関連の話題に飛びつきたくなると思います。わたし自身も、最初はその一人でした。
しかし、急速に進化する技術においていかれないために、AIチャットツール等に軽く触れこそすれ、全くのIT初心者であればこそ、生成AI到来以前と変わらず、ネットワークやアーキテクチャといった、基礎的な技術の学習に腰を据えて取り組むべきではないか?と、ここ数ヶ月で考えを改めました。
プロンプトエンジニアリングに求められる技術は、来年どころか、数ヶ月後、あるいは明日には、全く別物になっている可能性があります。今ある技術は急速に陳腐化していくでしょうし、そうした役割自体が不要になる未来すら、想像に難くありません。
一方で、ネットワークやインフラの基礎的な仕組みが、今すぐ大きく変わることは考えにくいでしょう。
また、「AI活用」と一口に言っても、それを“ちゃんと使えるサービス”にするには、ただプロンプトを書けるだけでは不十分で、「形にする」ためのインフラ技術と、それと不可分なネットワーク関連知識が不可欠です。
情報化や自動化がいくら進んだとしても、それらによって、ものごとから"質量"が喪われることは無く、必ずどこかで地面と接しています。地に張った根が無ければ何も生らない、ということを忘れてはなりません。根無し草に花は咲かせられないし、人が高く"跳ぶ"ためには強く地面を踏み込まなけばならないのです。
一見遠回りに見えるかもしれませんが、「長く使えるスキル」として定着させたいのであれば、不変的で普遍的な基礎を学ぶことは、有意義な寄り道だと考えます。
その第一歩の指南書として、『ネットワークはなぜつながるのか』は、有力な選択肢となり得るでしょう。