見出し画像

マネージドサービスに任せきらないIT基礎術

わたしは常々、後輩の初学者たちに伝えることは「基礎をおさえよ」です。基礎となる土台が雑だと、上に乗っかっているすべてのものは、一瞬にして崩れ去ります。逆に基礎がしっかりしていれば、上に乗っかっているものがもろくとも、耐えられることがあります。必ず耐えきれるわけじゃないですけれども。

基礎があるから応用ができる。しょっさんが言わずとも、みなさんも理解していることでしょう。

土台的な話で行くと、最近、インフラエンジニアってなんだったっけ。と思う事象が散見されるようになりました。以前、インフラエンジニアへ期待していることを、ちょろっとまとめました。こちらも合わせて読んでいただきたいです。

クラウドな社会

クラウドがメインプラットフォームな世の中になりました。多くの機能やミドルウェアのサービスが、マネージドサービスとして提供されています。利用したいサービスを追加して、ちょっとカスタマイズすれば、よく知らなくても使える時代が到来しています。便利な世の中になりました。設定ファイルの内容を一文字打ちまちがえて、一切合切起動しない、なんて世の中は終わりを告げたかのようです。

が。適当にやっても動いてしまうので、まちがった設定をしていてもそれっぽく動いてしまいます。しかし、想定外の操作や要求が来たときには、設定通り、想定外の動作を引き起こしてしまいます。動作としては正しいんですが、どこの何の設定が引き起こしているのかを理解できず、そのままやばい状況が進行することがあります。最近ですと、まちがったFQDN情報が展開されたり、RFC違反していて、一部のシステムからは利用できないとかも経験しました。マネージドサービス側も万能じゃないので、常に正しい利用方法となるかは、はっきりしないこともありますよね。設定できてエラーでないからOKってわけではありません。

他にも、そのクラウドサービスが障害やメンテで止まることを想定していないケースも散見されます。そういった場合に、そのダウンを想定していないサービスが落ちると、引きずられて全部のサービスが止まったりもします。影響を抑制するために、マイクロサービス化せよということではなくて、DNSで名前解決できなかったときはどうするのか、そのサービスが止まっていてHTTPリクエストが帰ってこなかったらどうするのか、3分もタイムアウトを待つのか、メールが絶対に届くとなぜ信じていた?みたいなことです。ちょろっとエラーを引っ掛けたときのエラーハンドリング、忘れていませんか?

まぁそういったケースにおいて、何が、どう動いてるかわからないから、何が原因でどのように止まったか、マネージドサービスに任せっきりだとわからないんです。ブラックボックスだから、じゃないんです。そのサービスの理屈が分かっていないから、なんです。

そしてもっともっと基本的なことに立ち返ると、インフラに限らずですけど、そもそもプログラムやネットワークがどうやって動いてるか分かってないと、どうにもこうにもならない場合があります。だからこそ、基礎をおさえていることが、とにもかくにも重要なんです。

言ってみれば、これは別にITに限らずですよね。最近気がつきました。
沢山の本を読んできてみて分かったことがあるんです。結局「古典が重要」なんです。多読で多くの知識・情報を得るではなくて、最小限の良い古典を精読することが重要だと感じています。

インフラの理解者が減ってきている

最近の私はプラットフォーム屋さんやってますけど、なぜかインフラエンジニアみたいなことを代替することも多いです。アプリだけの専門家だったり、ネットワークよくわからない人との会話をするときには、下位層で発生しうるリスクや問題について情報を提供したりしています。

上位層のアプリケーションを動かすためには、それの土台となる下位層を理解しておくことが重要。で、そこを突き詰めていくと、コンピュータサイエンスをまずやっておけみたいになります。電気・電子から論理回路までやってもらうと、理屈と、コンピュータが本当にできること・できないことを明確に理解できてなおよしです。

リスキリングには、基礎・土台を固めるところからどうぞ。

貴方がサポートしてくれると、私が幸せ。 私が幸せになると、貴方も幸せ。 新しいガジェット・ソフトウェアのレビューに、貴方の力が必要です。