てくなべ (tekunabe)

ansible / network automation / 学習メモ

JANOG41 Meeting in Hiroshima 参加メモ

はじめに

2018/01/24-26 に JANOG41 Meeting が広島国際会議場で開催されましました。 f:id:akira6592:20180203200809j:plain

JANOGとは (https://www.janog.gr.jp/information/ から引用)

JANOGとはJApan Network Operators' Groupを意味し、インターネットに於ける技術的事項、および、それにまつわるオペレーションに関する事項を議論、検討、紹介することにより日本のインターネット技術者、および、利用者に貢献することを目的としたグループです。

JANOGでは年に数回ミーティングという形式のイベントが開催されています。 以前から興味があったのですが、今回ようやく初めて参加(とLT登壇)することができました。

私が参加したプログラムの中で特に気になったものをメモします。

  • プログラム一覧
    • 2018年2月23日(金) 12:59 まで録画公開されているプログラムもあります。



【Day1】


■ ネットワーク運用自動化BoF

ネットワーク運用の自動化ついてのBoF(birds of a feather = 同好会 という説明が1日目にありました)です。 計5本のLTがありました。

・自動化されたネットワーク運用のテストを実現しよう

  • リンク
  • 内容メモ
    • 自動化スクリプト、テスト環境ではうまくいったのに本番環境でうまくいかないことがある
    • テスト環境と本番環境の環境差分をなくすというアプローチのアプライアンスを開発した
  • 感想
    • 後述する私の発表の中にある「検証環境ない問題」を解決する方法の一つだと思いました。

・まずはCode化だ!

  • リンク
  • 内容メモ
    • 自動化のメリットはCode化のメリットでもある
    • 必要十分な自動化手段としてCode化がある
    • pexpectというexpect の Python パッケージを利用したCode化サンプル
    • Code化していく中での疑問は、NetOpsCoding の slack の #beginner チャンネルへ (参加はこちらから)
  • 感想
    • teraterm マクロに近い抽象度の方法でした。手動への戻しやすさがあると思いました。

・NetTesterで多拠点テストも自動化!

  • リンク
  • 内容メモ
    • ボトルネックとなっているネットワークのテストを自動化で解消する取り組みをしている
    • NetTester を実際に導入し、ミスの発見や、品質保証、安心感UPなど効果があった。
  • 感想
    • 途中「ソフトウェア開発の知見を拝借」という文言が登場しますが、自動化に限らずこのアプローチは大切だと思っています。感覚的な話ですが新しい知見や手法は「ソフトウェア開発」→「サーバー」→「ネットワーク」という順に流れているような気がしているためです。

・始動編?それLC4RIでできるよ!

・勉強会のフィードバックから得られた自動化への壁(私の発表分)



【Day2】


■ 明日からはじめるネットワーク運用自動化

  • リンク
  • 内容メモ
    • ネットワーク運用の自動化のためのステップ
    • 必要になる Python の基礎、ライブラリ、汎用テンプレートエンジン(jinja2)、データフォーマット(JSON)、テストについての説明
    • ネットワーク機器の操作のためのライブラリやツール(NAPALM、Ansible、各社提供のもの)の紹介
  • 感想
    • 大勢の方々(300人以上でしょうか)が参加されていたため、関心の高さを改めて感じました。
    • 序盤の自動化の失敗パターンの紹介といった理論の話から始まり、具体的なライブラリ名、ツール名、サンプルコードまでカバーした内容で盛りだくさんでした。
    • 自動化の全体像をつかんだ上で「ここからちょっとやってみようかな」と思うような内容だったと思います。
    • また、このプログラム先だって、1/9に始動編(事前オンラインプログラム)が開催され、資料や動画も公開されています。

■ BDD + Pythonによるネットワーク機器のテスト自動化

  • リンク

  • 内容メモ

    • syslogやtrap受信時の挙動をテストする方法
    • 言語はPython、テストフレームワークはBDDな behave を利用
    • Featureファイルでテストケースを、Stepファイルで実装を記述する
  • 感想
    • BDD(Behavior Driven Development)の考え方は、ネットワークの動作のテストと親和性が高いように感じました

■ RENAT(Robotframework Extension for Network AutomationTesting)を用いたネットワーク検証の自動化について

  • リンク
  • 内容メモ
    • RobotFramework をネットワークの自動テストに利用したツール「RENAT」の適用事例
    • 検証手順をシナリオとして記述
    • 実施ログ、レポートはHTMLで出力される
    • 稼働削減や、他システム連携などの効果が得られた
  • 感想
    • ネットワーク機器を操作するライブラリはいくつか知っていましたが、RobotFramework のようなフレームワークは初耳でした。
    • 作業フローを組み上げるときに参考になりそうなので、どんなものかしらべておこうと思います。

■ NFV+SDN標準化/実装動向と運用の課題

  • リンク
  • 内容メモ
    • ESTI NFV Standardとして様々な標準化が進められている
    • 運用の課題としては、NFV基板のオーバーヘッドや既存環境との連携がある
  • 感想
    • サービスを中心としてネットワークを考える場合、ネットワークとサーバーはあまり区別しすぎない方がよいと思いました。

■ 海底ケーブルの日本への陸揚げについて、その意義と現場 - New Cross Pacific Cable Systemの事例から -

  • リンク
  • 感想
    • オフレコ部分があったため、詳細は記載できませんが、私のメモには「ロマン」とだけ書いてありました。

(懇親会)

600人以上の申し込みがあったらしく、ものすごい人口密度でした。 初参加で一人で来ましたが、初参加者用のテーブルや「自動化」や「広島好き」などテーマごとのテーブルなどがあって助かりました。



【Day3】


■ Interface Descriptionがプロジェクトの財産になる日

  • リンク
  • 内容メモ
    • インターフェースの description に、接続情報を記述して、プログラムで読み込み、構成図を生成するアイディア
  • 感想
    • descitptionメタデータの入れ物して使うアイディアは面白いと思いました。
    • 使用できる文字やパースのしやすさ等の事情で苦労された点が伝わってきました。

■ Literate Computing for Reproducible Infrastructure

  • リンク
  • 内容メモ
    • Jupyter Notebook を利用した実行可能な手順書の提案
    • 作業証跡が残る
    • 正解の実行結果も載せられる
  • 感想

Excel/CSV変換ツールのおかげでshow ip routeのコピペ地獄から解放された話

  • リンク

  • 内容メモ

    • PythonTextFSMNTC-Templates を使って、 show ip route の結果をパースしてCSVにした事例
    • ブラウザから試せるように WebFSMというWeb版も公開
  • 感想

    • showコマンド結果をパースするための正規表現をテンプレート化、シェアできるので、TextFSM / NTC-Templates の組み合わせは便利だと思いました。

福岡大学における公開用NTPサービスの現状と課題

  • リンク
  • 内容メモ
    • 福岡大学では日本で初めてNTPサーバーを立てた
    • 研究目的だったが大勢の人が使い始め、負荷が問題となった
    • 福岡大学のNTPサーバーは停止する予定
  • 感想
    • 歴史のあるNTPサーバーの停止宣言の場に立ち会えたことが思い出に残りました。 f:id:akira6592:20180203200915j:plain

まとめ

これまでのJANOG Meeting に比べ、テーマが多岐に渡っていた印象を受けました。 今回は、自動化(情報収集、設定変更、テストなど)を扱うプログラムが多かったです。 現在の私の興味と一致していたため、まだまだ知らないツールや考え方があることに気付いて大変有意義でした。

また、上記のメモにはありませんが、中国の事情にを扱うプログラムも複数ありました。 電子決済がとても普及していることなどを知り、興味深かったです。

次回の JANOG Meeting は 2018/07/11 - 13 に三重県津市で開催される予定です。次回もぜひ参加したいと思います。 運営者の皆様、発表者の皆様、ありがとうございました。

f:id:akira6592:20180203200832j:plain

togetter

実況&まとめ、ありがとうございました。