ネットワーク技術の必要性が高まっている
下記の記事を読んで、共感したし、ネットワーク技術の必要性が高まっているような気がした。
浅はかな理解のメモ。
【参考】
いまクラウドよりオンプレを学ぶべき理由 - Yuichi Murata's Engineering Blog
(引用開始)
この問題を解決したのは、チームでは新参のエンジニアであった。彼はもともとネットワーク・エンジニアとしてのバックグラウンドを持っていた。彼は持ち前のネットワークの知識を活用しつつ、このクラウド・ベースのアプリケーションの問題を一つずつ紐解いていった。
(中略)
通信が途絶える可能性のある経路をたどり、全ての仮説を上げて一つずつ潰していく。一つずつ被疑箇所を修正し、リリースし、変化を計測する。 一つの問題を解決するとタイムアウトの発生件数ががくっと下がり、複合問題がそれぞれの問題に分解され、より効果的に問題分析を進めることができた。 アプリケーション・ログや業者への問い合わせのみに頼ることなく、システムの下回りで何が起きているのかを、一つ一つ丁寧に掘り下げていった。
クラウドやマネージド・サービスは重要である。便利である。これらはあなたのシステムが扱いやすいように全てを抽象化してくれる。
一方、仕組みが抽象化された世界では、問題すら抽象化されてしまう。
つまりそのままでは解決が難しいということだ。 だから、発生した問題をネットワークやオペレーティングシステムといった低次元のレベルまで掘り下げて分析をしていかなければいけない。
(引用終了)
現代のIT技術者であれば、アプリ開発者であれ、ネットワーク担当者であれ、クラウドの知識と理解は必須だろう。
しかし、クラウドで注意すべき点は、「仕組みが抽象化された世界では、問題すら抽象化されてしまう」ことだという指摘には、なるほどと思った。
つまり、ネットワーク機器やネットワーク構造そのものがソフトウェア化されてしまったために、手で触ってみたり、実際に動かしてみる、という操作がやりにくい面がある。
逆に、Cisico機器のネットワークの経験があれば、クラウド上でのネットワークのトラブルシューティングにもその知識を応用できる。
そういう話を聞くと、Linuxのカーネルレベルの理解、コンパイラの理解があれば、ソフトウェアの理解やプログラミングの理解が早いということと同じような気がした。
クラウドの出現によって、アプリ開発者もL7のアプリケーション層だけでなく、L2のイーサネット層やL3のネットワーク層の知識や技術を要求されるようになった。
同様に、ネットワーク担当者も、L2のイーサネット層やL3のネットワーク層だけでなく、SDNやその実装ツールの一つであるAnsibleなどにも精通する必要が出てきた。
結局、アプリ開発者もネットワーク担当者も以前より深い知識が要求されている。
もはや単に、オブジェクト指向プログラミングができますよ、だけでは物足りない。
そういう状況は自問しておく。
他に、下記の記事に、AWSのVPCとオンプレのネットワーク構造の対比が図示されていて、なるほど、とようやく気づいた。
コラム - 知っておきたい Amazon Web Services のキホン | 第2回 AWSの仮想データセンタ「VPC」を理解する|CTC教育サービス 研修/トレーニング
クラウド上では、ルータやスイッチが仮想化されたことで、設定画面に埋もれてしまって、見えなくなっているわけだ。
自分はまだまだAWSが分かってないので、色々試してみる。
| 固定リンク
「ネットワーク・クラウド」カテゴリの記事
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- マイクロサービス設計は従来のアーキテクチャ設計と何が違うのか(2024.01.02)
- 「ソフトウェアアーキテクチャ・ハードパーツ」の情報リンク~マイクロサービスの設計技法の課題は何なのか(2023.11.12)
- パッケージ設計の原則の意義は変化しているのか(2023.09.30)
- Go言語でできることは何なのか(2022.11.06)
コメント