Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ネットワークエンジニアがAnsibleと出会った話
Search
Recruit Technologies
February 15, 2019
Technology
5
2.9k
ネットワークエンジニアがAnsibleと出会った話
2019/02/15 Ansible Night in Nagoya 2019.02での、遠藤の講演資料になります
Recruit Technologies
February 15, 2019
Tweet
Share
More Decks by Recruit Technologies
See All by Recruit Technologies
障害はチャンスだ! 障害を前向きに捉える
rtechkouhou
1
630
Flutter移行の苦労と、乗り越えた先に得られたもの
rtechkouhou
3
11k
ここ数年間のタウンワークiOSアプリのエンジニアのチャレンジ
rtechkouhou
1
1.4k
大規模環境をAWS Transit Gatewayで設計/移行する前に考える3つのポイントと移行への挑戦
rtechkouhou
1
1.9k
【61期 新人BootCamp】TOC入門
rtechkouhou
3
41k
【RTC新人研修 】 TPS
rtechkouhou
1
41k
Android Boot Camp 2020
rtechkouhou
0
41k
HTML/CSS
rtechkouhou
10
50k
TypeScript Bootcamp 2020
rtechkouhou
9
45k
Other Decks in Technology
See All in Technology
徹底比較!HA Kubernetes ClusterにおけるControl Plane LoadBalancerの選択肢
logica0419
2
140
AI機能の開発運用のリアルと今後のリアル
akiroom
0
250
エンジニアが一生困らない ドキュメント作成の基本
naohiro_nakata
2
140
FOSS4G 2024 Japan コアデイ 一般発表25 PythonでPLATEAUのデータを手軽に扱ってみる
ra0kley
1
130
Railsで4GBのデカ動画ファイルのアップロードと配信、どう実現する?
asflash8
1
210
プロポーザルのつくり方 〜個人技編〜 / How to come up with proposals
ohbarye
4
310
データ活用促進のためのデータ分析基盤の進化
takumakouno
2
420
軽量DDDはもういらない! スタイルガイド本で OOPの実装パターンを学ぼう
panda_program
29
11k
2024年グライダー曲技世界選手権参加報告/2024 WGAC report
jscseminar
0
200
DatabricksにおけるLLMOpsのベストプラクティス
taka_aki
4
1.6k
10分でわかるfreeeのQA
freee
1
3.5k
Engineering at LY Corporation
lycorp_recruit_jp
0
310
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
32
1.5k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
4 Signs Your Business is Dying
shpigford
180
21k
Practical Orchestrator
shlominoach
186
10k
We Have a Design System, Now What?
morganepeng
50
7.2k
The Language of Interfaces
destraynor
154
24k
Done Done
chrislema
181
16k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Happy Clients
brianwarren
97
6.7k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Transcript
ネットワークエンジニアがAnsibleと出会った話 2019/2/15 株式会社リクルートテクノロジーズ 遠藤 惇平
これからお話すること 2 (C) Recruit Technologies Co., Ltd. - All rights
reserved. シンプルでパワフルなAnsibleに惹かれ、 社内で提案して案件化し、 仲間と試行錯誤しながら計画を立て、 ようやく検証開始までこぎつけた 一連のエピソードをお話します
これからお話すること 3 (C) Recruit Technologies Co., Ltd. - All rights
reserved. 何か共感し、 一部でも持ち帰っていただければ とても嬉しいです
コンテンツ 4 (C) Recruit Technologies Co., Ltd. - All rights
reserved. ▪こんな流れでお話します 1. Ansibleに興味を持った 2. Ansible検証を案件化した 3. 案件計画を立てた
コンテンツ 5 (C) Recruit Technologies Co., Ltd. - All rights
reserved. 1. Ansibleに興味を持った 2. Ansible検証を案件化した 3. 案件計画を立てた
1. Ansibleに興味を持った 6 (C) Recruit Technologies Co., Ltd. - All
rights reserved. ▪普段の仕事は、ほぼネットワーク設定とその準備 手順書作成 コピペで設定投入
1. Ansibleに興味を持った 7 (C) Recruit Technologies Co., Ltd. - All
rights reserved. この仕事を
1. Ansibleに興味を持った 8 (C) Recruit Technologies Co., Ltd. - All
rights reserved. 自動化して 楽にしたい
1. Ansibleに興味を持った 9 (C) Recruit Technologies Co., Ltd. - All
rights reserved. そして 目をつけたのが
1. Ansibleに興味を持った 10 (C) Recruit Technologies Co., Ltd. - All
rights reserved. ▪みんな大好き Ansible
1. Ansibleに興味を持った 11 (C) Recruit Technologies Co., Ltd. - All
rights reserved. Ansibleの どこが良かったのか
1. Ansibleに興味を持った 12 (C) Recruit Technologies Co., Ltd. - All
rights reserved. ▪(個人的に嬉しい) Ansibleの特長 変数 Playbook 1. ネットワーク機器に対応 2. プログラミング不要 3. 変数と Playbook の ファイル分離が可能 4. 条件分岐が可能
1. Ansibleに興味を持った 13 (C) Recruit Technologies Co., Ltd. - All
rights reserved. どう良かったか
1. Ansibleに興味を持った 14 (C) Recruit Technologies Co., Ltd. - All
rights reserved. ▪ネットワーク機器に対応 これは大前提
1. Ansibleに興味を持った 15 (C) Recruit Technologies Co., Ltd. - All
rights reserved. ▪プログラミング不要 プログラミングが苦手な ネットワークエンジニアにウケる YAML
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> こっちだけ編集する
1. Ansibleに興味を持った 17 (C) Recruit Technologies Co., Ltd. - All
rights reserved. ▪条件分岐が可能 手作業と同等の 手堅い確認プロセスを維持できる 確認コマンド実行 設定変更 継続 中止 想定外 想定通り
1. Ansibleに興味を持った 18 (C) Recruit Technologies Co., Ltd. - All
rights reserved. まさにAnsibleは
1. Ansibleに興味を持った 19 (C) Recruit Technologies Co., Ltd. - All
rights reserved. インフラ自動化に うってつけ
コンテンツ 20 (C) Recruit Technologies Co., Ltd. - All rights
reserved. 1. Ansibleに興味を持った 2. Ansible検証を案件化した 3. 案件計画を立てた
1. Ansibleに興味を持った 21 (C) Recruit Technologies Co., Ltd. - All
rights reserved. 突然ですが
2. Ansible検証を案件化した 22 (C) Recruit Technologies Co., Ltd. - All
rights reserved. ほとばしる Ansibleの可能性に 興奮を 抑えきれなくなった ある日のこと
2. Ansible検証を案件化した 23 (C) Recruit Technologies Co., Ltd. - All
rights reserved. ▪先輩 & 上司との会話 「Ansibleでネットワーク自動化できそうです!」 「家で検証して筋が良ければ提案します!」 先輩 「もう会社で検証すれば?上司に聞いてみ?」 私
2. Ansible検証を案件化した 24 (C) Recruit Technologies Co., Ltd. - All
rights reserved. 上司 「いいよ。」
2. Ansible検証を案件化した 25 (C) Recruit Technologies Co., Ltd. - All
rights reserved. 案 件 化 ※実際は10分ぐらい相談しました
2. Ansible検証を案件化した 26 (C) Recruit Technologies Co., Ltd. - All
rights reserved. 以 上
コンテンツ 27 (C) Recruit Technologies Co., Ltd. - All rights
reserved. 1. Ansibleに興味を持った 2. Ansible検証を案件化した 3. 案件計画を立てた
3. 案件計画を立てた 28 (C) Recruit Technologies Co., Ltd. - All
rights reserved. ▪当初の計画イメージ 項目 詳細 部署目標 (上位目的) ・事業への貢献 ・新しい技術の探求 案件目的 工数削減? 流れ 自動化対象を決めたらすぐ実装? 自動化対象 作業頻度の高い作業?
3. 案件計画を立てた 29 (C) Recruit Technologies Co., Ltd. - All
rights reserved. 次に 各担当者にヒアリングしてみた ※ここで計画に磨きがかかった
3. 案件計画を立てた 30 (C) Recruit Technologies Co., Ltd. - All
rights reserved. ▪運用改善担当者へのヒアリング Q. 「案件計画は妥当?」
3. 案件計画を立てた 31 (C) Recruit Technologies Co., Ltd. - All
rights reserved. ▪運用改善担当者へのヒアリング Q. 「案件計画は妥当?」 A1. 「工数削減を目的にするのはおすすめしない」 ・「今回の場合」開発工数の大きさが目立つ ・付加価値向上を目的にしたい
3. 案件計画を立てた 32 (C) Recruit Technologies Co., Ltd. - All
rights reserved. ▪運用改善担当者へのヒアリング Q. 「案件計画は妥当?」 A1. 「工数削減を目的にするのはおすすめしない」 ・「今回の場合」開発工数の大きさが目立つ ・付加価値向上を目的にしたい A2. 「実装の前に、検証のステップを設けよう」 ・慣れない技術だし、まずは理解を深めたい
3. 案件計画を立てた 33 (C) Recruit Technologies Co., Ltd. - All
rights reserved. ▪計画の修正 項目 詳細 部署目標 (上位目的) ・事業への貢献 ・新しい技術の探求 案件目的 ・工数削減? ・納期短縮 ・自動化ノウハウの蓄積 ・作業負荷の低減 流れ 自動化対象を決めたらすぐ実装? 1.自動化対象を決める 2.1つの作業を自動化してみる (PoC検証) 3.Ansibleの運用装着 & 自動化範囲拡大 自動化対象 作業頻度の高い作業?
3. 案件計画を立てた 34 (C) Recruit Technologies Co., Ltd. - All
rights reserved. ▪ネットワークチーム (利用者) へのヒアリング Q1. 案件計画とAnsibleでできることの共有
3. 案件計画を立てた 35 (C) Recruit Technologies Co., Ltd. - All
rights reserved. ▪ネットワークチーム (利用者) へのヒアリング Q1. 案件計画とAnsibleでできることの共有 A1. 「Ansibleすげぇ! 自動化もありがたい!」
3. 案件計画を立てた 36 (C) Recruit Technologies Co., Ltd. - All
rights reserved. ▪ネットワークチーム (利用者) へのヒアリング Q1. 案件計画とAnsibleでできることの共有 A1. 「Ansibleすげぇ! 自動化もありがたい!」 Q2. 「自動化対象のブレスト協力して!」
3. 案件計画を立てた 37 (C) Recruit Technologies Co., Ltd. - All
rights reserved. ▪ネットワークチーム (利用者) へのヒアリング Q1. 案件計画とAnsibleでできることの共有 A1. 「Ansibleすげぇ! 自動化もありがたい!」 A2. 20作業の洗い出し & 優先順位決定 Q2. 「自動化対象のブレスト協力して!」 ・第一優先:自動化難易度の低さ ・第二優先:自動化の効果 (削減工数 x 頻度)
3. 案件計画を立てた 38 (C) Recruit Technologies Co., Ltd. - All
rights reserved. ▪ネットワークチーム (利用者) へのヒアリング Q1. 案件計画とAnsibleでできることの共有 A1. 「Ansibleすげぇ! 自動化もありがたい!」 A2. 20作業の洗い出し & 優先順位決定 ・第一優先:自動化難易度の低さ ・第二優先:自動化の効果 (削減工数 x 頻度) Q2. 「自動化対象のブレスト協力して!」 初Ansibleなので、実現可能性を重視した
3. 案件計画を立てた 39 (C) Recruit Technologies Co., Ltd. - All
rights reserved. ▪計画の修正 項目 詳細 部署目標 (上位目的) ・事業への貢献 ・新しい技術の探求 案件目的 ・納期短縮 ・自動化ノウハウの蓄積 ・作業負荷の低減 流れ 1.自動化対象を決める 2.1つの作業を自動化してみる (PoC検証) 3.Ansibleの運用装着 & 自動化範囲拡大 自動化対象 作業頻度の高い作業? 難易度の低い、定期ログインパスワード変更
3. 案件計画を立てた 40 (C) Recruit Technologies Co., Ltd. - All
rights reserved. こうして みんなの力で 計画に磨きがかかり
3. 案件計画を立てた 41 (C) Recruit Technologies Co., Ltd. - All
rights reserved. たのしいたのしい Ansible検証が始まりました
3. 案件計画を立てた 42 (C) Recruit Technologies Co., Ltd. - All
rights reserved. その後 どうなったかというと...
3. 案件計画を立てた 43 (C) Recruit Technologies Co., Ltd. - All
rights reserved. • Pythonライブラリ足りない • SSL通信でエラーになる • モジュール対応してないんだが... 約 2ヶ月 ▪様々な困難を乗り越え...
約 2ヶ月 3. 案件計画を立てた 44 (C) Recruit Technologies Co., Ltd.
- All rights reserved. • Pythonライブラリ足りない • SSL通信でエラーになる • モジュール対応してないんだが... • 既知のバグ踏んだ • 未知のバグ踏んだ ▪様々な困難を乗り越え...
3. 案件計画を立てた 45 (C) Recruit Technologies Co., Ltd. - All
rights reserved. ▪無事、約2ヶ月でPoC検証完了しました 約 2ヶ月 • Pythonライブラリ足りない • SSL通信でエラーになる • モジュール対応してないんだが... 検証完了! (ios, nxos, panos, junos, bigip) • 既知のバグ踏んだ • 未知のバグ踏んだ
さいごに 46 (C) Recruit Technologies Co., Ltd. - All rights
reserved.
さいごに 47 (C) Recruit Technologies Co., Ltd. - All rights
reserved. ▪メッセージ Ansibleに興味を持ち 仕事で検証するまでのエピソードを 今回お話しました 皆さまも楽しいAnsibleライフを! Ansibleに興味がある皆さまにとって 少しでも参考になれば嬉しいです
48 (C) Recruit Technologies Co., Ltd. - All rights reserved.
ありがとうございました