Slide 1

Slide 1 text

ネットワークエンジニアがAnsibleと出会った話 2019/2/15 株式会社リクルートテクノロジーズ 遠藤 惇平

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

これからお話すること 3 (C) Recruit Technologies Co., Ltd. - All rights reserved. 何か共感し、 一部でも持ち帰っていただければ とても嬉しいです

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

1. Ansibleに興味を持った 7 (C) Recruit Technologies Co., Ltd. - All rights reserved. この仕事を

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

1. Ansibleに興味を持った 10 (C) Recruit Technologies Co., Ltd. - All rights reserved. ■みんな大好き Ansible

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

1. Ansibleに興味を持った 13 (C) Recruit Technologies Co., Ltd. - All rights reserved. どう良かったか

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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 }}" <変数ファイル> こっちだけ編集する

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

1. Ansibleに興味を持った 18 (C) Recruit Technologies Co., Ltd. - All rights reserved. まさにAnsibleは

Slide 19

Slide 19 text

1. Ansibleに興味を持った 19 (C) Recruit Technologies Co., Ltd. - All rights reserved. インフラ自動化に うってつけ

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

1. Ansibleに興味を持った 21 (C) Recruit Technologies Co., Ltd. - All rights reserved. 突然ですが

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

2. Ansible検証を案件化した 24 (C) Recruit Technologies Co., Ltd. - All rights reserved. 上司 「いいよ。」

Slide 25

Slide 25 text

2. Ansible検証を案件化した 25 (C) Recruit Technologies Co., Ltd. - All rights reserved. 案 件 化 ※実際は10分ぐらい相談しました

Slide 26

Slide 26 text

2. Ansible検証を案件化した 26 (C) Recruit Technologies Co., Ltd. - All rights reserved. 以 上

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

さいごに 46 (C) Recruit Technologies Co., Ltd. - All rights reserved.

Slide 47

Slide 47 text

さいごに 47 (C) Recruit Technologies Co., Ltd. - All rights reserved. ■メッセージ Ansibleに興味を持ち 仕事で検証するまでのエピソードを 今回お話しました 皆さまも楽しいAnsibleライフを! Ansibleに興味がある皆さまにとって 少しでも参考になれば嬉しいです

Slide 48

Slide 48 text

48 (C) Recruit Technologies Co., Ltd. - All rights reserved. ありがとうございました