4章ネットワークとPython

ネットワークエンジニアとして自動化やプログラムの書き方を学ぶには、今が最高のタイミングです。「1章 ネットワーク業界の動向」でも述べましたが、ネットワーク業界は今まさに変革のときを迎えています。1990年代後半から2010年頃にかけてネットワークは、設計面でも運用面でもあまり変化しませんでした。この頃のネットワークエンジニアは、CLIコマンドを何百回も入力することで、ネットワーク装置の設定変更やトラブルシューティングを行っていました。今となっては狂気じみていると言っても過言ではありません。

ネットワーク運用のためにプログラムの読み書きを覚えることは大変理にかなっています。数行のプログラムやスクリプトを使ってネットワークの情報取得や設定変更をすることは、取り立てて新しいことではありません。こういった工夫は過去数年にわたって行われています。そういったエンジニアは、好みの言語でスクリプトを作成し、出力の文字列に対して複雑な解析や正規表現を適用したり、SNMP MIBに問い合わせを行うスクリプトを作ったりすることで、これまで偉業を達成してきました。実際に試してみればわかるかと思いますが、こういった作業は初めのうちは簡単そうに思えたとしても、正規表現や文字列解析はとても手間がかかることに気づくことでしょう。

幸運なことに、私達が置かれている環境はより正しい方向に向かっています。ネットワーク自動化を始める際の障壁は以前に比べて大幅に低くなりました。またネットワークベンダーを見てみても、ネットワーク自動化に利用可能なオープンソースのツールがいくつか登場するようになりました。具体的には、ネットワーク装置のAPI、ベンダー/コミュニティーがサポートするPythonライブラリ、誰でも自由に入手可能なオープンソースツールなどが次々と生まれています。そしてすべてのネットワークエンジニアが、このような成長を続けるエコシステムに参加することができ、ネットワーク自動化の世界に飛び込める環境が以前にも増して整ってきています。これらを言い換えると、書かなければならなかったプログラムの量は以前よりも大幅に少なくて済み、結果的に迅速に開発できるようになったり、本来は発生したかもしれないバグを減少させることにもつながっています。 ...

Get ネットワーク自動化とプログラマビリティ ―次世代ネットワークエンジニアのためのスキルセット now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.