ネットワーク自動化とプログラマビリティ
ネットワークジドウカトプログラマビリティ
次世代ネットワークエンジニアのためのスキルセット
- 著者:
- Jason Edelman / Scott S. Lowe / Matt Oswalt / 土屋 太二 / 牧野 聡(ジェイソン エーデルマン / スコット エス ロウ / マット オズワルト / ツチヤ タイジ / マキノ サトシ)
- 注目:
- 総合 2290 位
- 出版社:
- オライリー・ジャパン
- 出版日:
- 2022年02月24日頃
- ISBN:
- 9784873119816
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
次世代ネットワークエンジニアのための入門書!
ネットワークエンジニアの業務を「より効率良く」「より生産的に」進化させるためのエッセンスが詰まったノウハウ集です。ネットワーク運用業務 (ネットワーク装置のコンフィグレーションやトポロジー管理、サービス死活監視など) をどのように効率化・自動化させるかという観点から、次世代ネットワークエンジニアが知るべきすべての側面を網羅的に解説します。プログラミングの基本についての解説から、実践的な自動化ツールの解説まで幅広く扱います。
技書の森解説
『ネットワーク自動化とプログラマビリティ』 (Jason Edelman、Scott S. Lowe、Matt Oswalt 著、土屋 太二 監訳、牧野 聡 訳、オライリー・ジャパン、2022 年 2 月刊) は、原書 Network Programmability and Automation の日本語版で、ネットワーク運用の効率化と自動化を扱う解説書です。副題は「次世代ネットワークエンジニアのためのスキルセット」です。版元の紹介文によると、本書はネットワーク装置のコンフィグレーションやトポロジー管理、サービス死活監視などの運用業務をどのように効率化し自動化するかという観点で書かれ、Python を用いたプログラミングの基本から Linux の操作、データモデル、Git による管理、実践的な自動化ツールまでを扱います。
全 11 章と付録 2 本、SDN の登場から文化の構築までの構成
本文は監訳者まえがきに続く全 11 章です。1 章「ネットワーク業界の動向」は OpenFlow と SDN の登場、2 章「ネットワークの自動化」は自動化する意義と、SNMP から API へのマネジメントプレーンの進化を扱います。続いて 3 章「Linux」、4 章「ネットワークと Python」、5 章「データフォーマットとデータモデル」、6 章「ネットワーク設定のテンプレート」、7 章「ネットワーク API」、8 章「Git によるソースコード管理」、9 章「自動化ツール」、10 章「継続的インテグレーション」が並び、11 章「ネットワーク自動化に取り組むための文化の構築」は組織的な戦略と柔軟性、失敗を許容すること、スキルと教育を扱って終わります。付録 A「Linux における高度なネットワーク操作」は macvlan インタフェース、仮想マシンのネットワーク、ネットワーク名前空間、Linux コンテナのネットワーク、Open vSwitch を、付録 B「NAPALM」は NAPALM による設定の置換とマージ、データの取得、Ansible と Salt からの利用を扱います。巻末には索引があります。
Python の基礎、データ形式と Jinja のテンプレート
4 章は Python インタプリターの利用からデータ型、条件分岐、in 演算子、ループ、関数、ファイル操作、モジュール、スクリプトへの引数、pip を使ったパッケージのインストールまでを順に扱います。5 章は YAML、XML、JSON の 3 つのデータ形式と、YANG を使ったデータモデルを取り上げ、6 章は Jinja を使ったネットワーク設定のテンプレートの章です。YAML は字下げで階層を表す、人が読み書きしやすいデータ形式で、機器ごとに変わるホスト名やインタフェースの値を書き出しておく用途に使われます。テンプレートの側に設定の共通の形を書いておき、そこへ値を流し込むと、機器ごとの設定の文が組み上がります。YANG はネットワーク機器の設定や状態の構造を定義するためのデータモデリングの言語で、NETCONF などの API がやり取りするデータの形を決めます。
NETCONF と Ansible、継続的インテグレーションのパイプライン
7 章は HTTP ベースの API と NETCONF の仕組みと利用を説明したあと、requests、ncclient、netmiko の 3 つのライブラリを使った自動化を扱います。9 章が取り上げる自動化ツールは Ansible、Salt、StackStorm の 3 つで、StackStorm はイベント駆動型のネットワーク自動化として扱われます。10 章は継続的インテグレーションの概要、継続的デリバリー、テスト駆動開発の説明に続き、ピアレビュー、ビルド自動化、テスト環境 / 開発環境 / ステージング環境、デプロイツール、テストツールの順にネットワークのパイプラインを組み立てます。ソフトウェア開発の 継続的インテグレーション は、変更をこまめに共有のリポジトリへ統合し、そのたびに自動のテストを走らせる手法です。テスト駆動開発 は、期待する結果を確かめるテストを先に書き、それを満たすように実装を進める手法です。ネットワークの本の選び方は ネットワーク本ガイド にまとめています。
本書は、SDN の登場とネットワーク自動化の意義から、Linux、Python、データ形式とテンプレート、ネットワーク API、Git によるソースコード管理、自動化ツール、継続的インテグレーション、自動化に取り組む組織の文化までを全 11 章と付録 2 本に収めています。
この本に興味がある方におすすめ
関連する本
関連記事
ネットワーク本ガイド - TCP/IP の教科書からプロトコル各論や実務書までの選び方
ネットワークを学ぶ技術書の選び方を 3 段階 (全体像の教科書 → HTTP や DNS のプロトコル各論 → 実務と運用) で整理。マスタリング TCP/IP や図解入門 TCP/IP などの定番書の使い分けと、ネットワーク本の賞味期限の考え方を解説します。
OS / 低レイヤー本ガイド - コンピューターの仕組みを学ぶ技術書の選び方
OS、コンパイラー、ネットワークなど低レイヤーを学べる技術書の 4 ジャンルと、どこから始めるべきかの指針、賞味期限の見極め方を紹介します。
インフラ / クラウド本ガイド - AWS や Docker を本で学ぶ
クラウドインフラ、コンテナ、IaC を学べる技術書の選び方と学習順序を紹介。インフラ本の賞味期限問題と公式ドキュメントとの使い分けも解説します。