Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ネットワークエンジニアがAnsibleと出会った話

 ネットワークエンジニアがAnsibleと出会った話

2019/02/15 Ansible Night in Nagoya 2019.02での、遠藤の講演資料になります

Recruit Technologies

February 15, 2019
Tweet

More Decks by Recruit Technologies

Other Decks in Technology

Transcript

  1. これからお話すること 2 (C) Recruit Technologies Co., Ltd. - All rights

    reserved. シンプルでパワフルなAnsibleに惹かれ、 社内で提案して案件化し、 仲間と試行錯誤しながら計画を立て、 ようやく検証開始までこぎつけた 一連のエピソードをお話します
  2. これからお話すること 3 (C) Recruit Technologies Co., Ltd. - All rights

    reserved. 何か共感し、 一部でも持ち帰っていただければ とても嬉しいです
  3. コンテンツ 4 (C) Recruit Technologies Co., Ltd. - All rights

    reserved. ▪こんな流れでお話します 1. Ansibleに興味を持った 2. Ansible検証を案件化した 3. 案件計画を立てた
  4. コンテンツ 5 (C) Recruit Technologies Co., Ltd. - All rights

    reserved. 1. Ansibleに興味を持った 2. Ansible検証を案件化した 3. 案件計画を立てた
  5. 1. Ansibleに興味を持った 6 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. ▪普段の仕事は、ほぼネットワーク設定とその準備 手順書作成 コピペで設定投入
  6. 1. Ansibleに興味を持った 8 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. 自動化して 楽にしたい
  7. 1. Ansibleに興味を持った 9 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. そして 目をつけたのが
  8. 1. Ansibleに興味を持った 11 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. Ansibleの どこが良かったのか
  9. 1. Ansibleに興味を持った 12 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. ▪(個人的に嬉しい) Ansibleの特長 変数 Playbook 1. ネットワーク機器に対応 2. プログラミング不要 3. 変数と Playbook の ファイル分離が可能 4. 条件分岐が可能
  10. 1. Ansibleに興味を持った 14 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. ▪ネットワーク機器に対応 これは大前提
  11. 1. Ansibleに興味を持った 15 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. ▪プログラミング不要 プログラミングが苦手な ネットワークエンジニアにウケる YAML
  12. 1. Ansibleに興味を持った 16 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. ▪変数と Playbook のファイル分離が可能 Playbookを使う分には Playbookをいじる必要すらない interfaces: - name: gi 1/0/1 ip_address: 10.0.0.1/24 - name: configure ip addresses ios_l3_interface: name: "{{ item.name }}" ipv4: "{{ item.ip_address }}" loop: "{{ interfaces }}" <変数ファイル> <Playbook> こっちだけ編集する
  13. 1. Ansibleに興味を持った 17 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. ▪条件分岐が可能 手作業と同等の 手堅い確認プロセスを維持できる 確認コマンド実行 設定変更 継続 中止 想定外 想定通り
  14. 1. Ansibleに興味を持った 19 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. インフラ自動化に うってつけ
  15. コンテンツ 20 (C) Recruit Technologies Co., Ltd. - All rights

    reserved. 1. Ansibleに興味を持った 2. Ansible検証を案件化した 3. 案件計画を立てた
  16. 2. Ansible検証を案件化した 22 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. ほとばしる Ansibleの可能性に 興奮を 抑えきれなくなった ある日のこと
  17. 2. Ansible検証を案件化した 23 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. ▪先輩 & 上司との会話 「Ansibleでネットワーク自動化できそうです!」 「家で検証して筋が良ければ提案します!」 先輩 「もう会社で検証すれば?上司に聞いてみ?」 私
  18. 2. Ansible検証を案件化した 25 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. 案 件 化 ※実際は10分ぐらい相談しました
  19. コンテンツ 27 (C) Recruit Technologies Co., Ltd. - All rights

    reserved. 1. Ansibleに興味を持った 2. Ansible検証を案件化した 3. 案件計画を立てた
  20. 3. 案件計画を立てた 28 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. ▪当初の計画イメージ 項目 詳細 部署目標 (上位目的) ・事業への貢献 ・新しい技術の探求 案件目的 工数削減? 流れ 自動化対象を決めたらすぐ実装? 自動化対象 作業頻度の高い作業?
  21. 3. 案件計画を立てた 29 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. 次に 各担当者にヒアリングしてみた ※ここで計画に磨きがかかった
  22. 3. 案件計画を立てた 30 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. ▪運用改善担当者へのヒアリング Q. 「案件計画は妥当?」
  23. 3. 案件計画を立てた 31 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. ▪運用改善担当者へのヒアリング Q. 「案件計画は妥当?」 A1. 「工数削減を目的にするのはおすすめしない」 ・「今回の場合」開発工数の大きさが目立つ ・付加価値向上を目的にしたい
  24. 3. 案件計画を立てた 32 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. ▪運用改善担当者へのヒアリング Q. 「案件計画は妥当?」 A1. 「工数削減を目的にするのはおすすめしない」 ・「今回の場合」開発工数の大きさが目立つ ・付加価値向上を目的にしたい A2. 「実装の前に、検証のステップを設けよう」 ・慣れない技術だし、まずは理解を深めたい
  25. 3. 案件計画を立てた 33 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. ▪計画の修正 項目 詳細 部署目標 (上位目的) ・事業への貢献 ・新しい技術の探求 案件目的 ・工数削減? ・納期短縮 ・自動化ノウハウの蓄積 ・作業負荷の低減 流れ 自動化対象を決めたらすぐ実装? 1.自動化対象を決める 2.1つの作業を自動化してみる (PoC検証) 3.Ansibleの運用装着 & 自動化範囲拡大 自動化対象 作業頻度の高い作業?
  26. 3. 案件計画を立てた 34 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. ▪ネットワークチーム (利用者) へのヒアリング Q1. 案件計画とAnsibleでできることの共有
  27. 3. 案件計画を立てた 35 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. ▪ネットワークチーム (利用者) へのヒアリング Q1. 案件計画とAnsibleでできることの共有 A1. 「Ansibleすげぇ! 自動化もありがたい!」
  28. 3. 案件計画を立てた 36 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. ▪ネットワークチーム (利用者) へのヒアリング Q1. 案件計画とAnsibleでできることの共有 A1. 「Ansibleすげぇ! 自動化もありがたい!」 Q2. 「自動化対象のブレスト協力して!」
  29. 3. 案件計画を立てた 37 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. ▪ネットワークチーム (利用者) へのヒアリング Q1. 案件計画とAnsibleでできることの共有 A1. 「Ansibleすげぇ! 自動化もありがたい!」 A2. 20作業の洗い出し & 優先順位決定 Q2. 「自動化対象のブレスト協力して!」 ・第一優先:自動化難易度の低さ ・第二優先:自動化の効果 (削減工数 x 頻度)
  30. 3. 案件計画を立てた 38 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. ▪ネットワークチーム (利用者) へのヒアリング Q1. 案件計画とAnsibleでできることの共有 A1. 「Ansibleすげぇ! 自動化もありがたい!」 A2. 20作業の洗い出し & 優先順位決定 ・第一優先:自動化難易度の低さ ・第二優先:自動化の効果 (削減工数 x 頻度) Q2. 「自動化対象のブレスト協力して!」 初Ansibleなので、実現可能性を重視した
  31. 3. 案件計画を立てた 39 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. ▪計画の修正 項目 詳細 部署目標 (上位目的) ・事業への貢献 ・新しい技術の探求 案件目的 ・納期短縮 ・自動化ノウハウの蓄積 ・作業負荷の低減 流れ 1.自動化対象を決める 2.1つの作業を自動化してみる (PoC検証) 3.Ansibleの運用装着 & 自動化範囲拡大 自動化対象 作業頻度の高い作業? 難易度の低い、定期ログインパスワード変更
  32. 3. 案件計画を立てた 40 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. こうして みんなの力で 計画に磨きがかかり
  33. 3. 案件計画を立てた 41 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. たのしいたのしい Ansible検証が始まりました
  34. 3. 案件計画を立てた 42 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. その後 どうなったかというと...
  35. 3. 案件計画を立てた 43 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. • Pythonライブラリ足りない • SSL通信でエラーになる • モジュール対応してないんだが... 約 2ヶ月 ▪様々な困難を乗り越え...
  36. 約 2ヶ月 3. 案件計画を立てた 44 (C) Recruit Technologies Co., Ltd.

    - All rights reserved. • Pythonライブラリ足りない • SSL通信でエラーになる • モジュール対応してないんだが... • 既知のバグ踏んだ • 未知のバグ踏んだ ▪様々な困難を乗り越え...
  37. 3. 案件計画を立てた 45 (C) Recruit Technologies Co., Ltd. - All

    rights reserved. ▪無事、約2ヶ月でPoC検証完了しました 約 2ヶ月 • Pythonライブラリ足りない • SSL通信でエラーになる • モジュール対応してないんだが... 検証完了! (ios, nxos, panos, junos, bigip) • 既知のバグ踏んだ • 未知のバグ踏んだ
  38. さいごに 47 (C) Recruit Technologies Co., Ltd. - All rights

    reserved. ▪メッセージ Ansibleに興味を持ち 仕事で検証するまでのエピソードを 今回お話しました 皆さまも楽しいAnsibleライフを! Ansibleに興味がある皆さまにとって 少しでも参考になれば嬉しいです