SlideShare a Scribd company logo
1 of 38
Download to read offline
Ansible Night Online 2021.02
Date:10th February 2021
Presenter:Kenji KAMTATA
『組織で⾃動化に着⼿する前に⾏うべきだと感じた3つの下拵え』
今回は所属企業名を伏せての登壇である為、
事実に即した詳細な内容の話はできません。
家庭の事情により⽣活⾳や幼児の⾳声が⼊る可能性があります。
はじめに
注意事項
Photo by Pop & Zebra on Unsplash 2
⽒名︓鎌⽥ 健司
所属︓⼩さなSES会社
仕事︓Red Hat社から⽀援を受けている某企業のパートナースタッフとして
   Network業務の⾃動化を担当
趣味︓バイク
   Honda Jazz ⇒ Royal Enfield Bullet 350
   ⇒ Honda DN-01 ⇒ Honda VFR(RC46-2)
⾃⼰紹介
3
障害受付から原因調査〜部品交換経験のある機器達
Personal Computer
・Desktop
・Notebook
・Workstation
Server
・x86
(Entry,Mid-Range)
・RISC
(Entry,Mid-Range)
Banking Machine
・⾏員端末
・通帳/伝票 Printer
・紙幣⼊出⾦機
・硬貨⼊出⾦機
・ATM
Storage
・Mid-Range Storage
(SCSI/SAS,FC,Flash)
・SAN Switch
・Tape Autoloader
Printer
・Dot Inpact
(⼩型,中型)
・Laser
(⼩型,中型,⼤型)
Checkout Machine
・Cash Register
・Self Checkout
Network
・Router
・L2 Switch
経歴
某外資系ベンダーのパートナースタッフとして
地⽅でのカスタマーエンジニア歴11年
インフラエンジニア歴3年⽬
⾃⼰紹介
4
1. 上司に対しての下拵え
2. ⾃動化対象選定の下拵え
3. チームでの⾃動化開発に向けた下拵え
3つの下拵えとは?
Photo by Harry Grout on Unsplash 5
『運⽤⾃動化を進めるには⼼理的安全性が⾮常に重要』
3つの下拵えの詳細に⼊る前に
6
ハーバード⼤学のエドモンドソン教授による⼼理的安全性の定義
3つの下拵えの詳細に⼊る前に
⼼理的安全性とは?
"A shared belief held by members of a team that the team is safe for interpersonal risk taking."


Edmondson (1999) Administrative Science Quarterly. 44(2) 7
1. 上司に対しての下拵え
⾃動化担当者 と 決定権を有している⾃動化担当者の上司
2. ⾃動化対象選定の下拵え
⾃動化担当者 と 現在運⽤を担当している作業者
3. チームでの⾃動化開発に向けた下拵え
⾃動化担当チームメンバー
3つの下拵えの詳細に⼊る前に
⼼理的安全性が最低限必要な対象
8
『運⽤⾃動化についての正しい認識を共有しておく』
上司に対しての下拵え
9
【上司】
『Ansibleを導⼊さえすれば今の運⽤のまま簡単に⼯数削減できる︕』
【私】
『その認識だけは勘弁して下さい…』
上司に対しての下拵え
こんなことを⾔われたら泣きそうになるパターン
Photo by Alex Azabache on Unsplash 10
このイベントに参加している⽅々には釈迦に説法かもしれませんが…
Ansibleでの⾃動化可否はModuleに依存する。
Network機器対象の場合、機器によってはCommand系Moduleが無いものも存在する。
Moduleによっては冪等性を担保しないものや安定性に⽋くものも存在する。
本当に運⽤に耐えうるかは⼊念なテストが必要となる。
共有しておきたい認識
『Ansibleは銀の弾丸ではない』
(当然ながら)簡単に何でも⾃動化とは⾏かない場合がある。
『運⽤⾃動化はキラキラしたものではなく泥臭い地道なものである』
上司に対しての下拵え
Ansibleを導⼊さえすれば⾃動化可能?
11
Infrastructure as Codeの原則
簡単に再現できるシステム
使い捨てにできるシステム
Pets Model vs Cattle Model:『サーバーはペットではなく家畜として扱え』
上司に対しての下拵え
Ansibleで今の運⽤をそのまま⾃動化?
Bill Baker
Servers are like pets
You name them and when they get sick, you nurse Servers are like pets them back to
health.
Servers are like cattle
You number them and when they get Servers are like cattle sick, you shoot them.


Randy Bias(2012) Architectures for open and scalable clouds 12
現⾏の運⽤がPets Modelに該当するのであれば
IaC toolであるAnsibleの利⽤はCattle Modelでの使⽤を念頭に
導⼊に際しては適切に運⽤の⾒直しを⾏うべき。
機械処理する以上、機械が処理しやすい形への運⽤変更は必須。
共有しておきたい認識
⾃動化に際して現⾏運⽤の⾒直しや改定は殆どの場合で必要になる
上司に対しての下拵え
Ansibleで今の運⽤をそのまま⾃動化?
Photo by Oriol Pascual on Unsplash 13
⾃動化に関係する⼯数
【⼿動の⼯数】
対象業務の着⼿から完了するまでの時間
【⾃動化でかかる⼯数】
開発⼯数
実⾏時間
保守⼯数
上司に対しての下拵え
Ansibleで⼯数削減?
Photo by Jon Tyson on Unsplash 14
保守⼯数を考えずに⾃動化で⼯数削減と判断しているなら
以下のような原因でCodeが使えなくなり保守⼯数がかさむ可能性も…
AnsibleとそのModuleのアップデートによる仕様の変更
対象機器のOSやSoftware version変化に伴う修正
システム構成変更などによる運⽤⼿順の変更
etc...
⾃動化すると早くなる?
(Networkの場合は特に)処理によっては熟達した⼈の⽅が早い場合もある。
Moduleの仕様に頼らず、機器の状況確認処理を⼊念に取り⼊れると⼿動の⽅が早い事もある。
上司に対しての下拵え
Ansibleで⼯数削減?
15
共有しておきたい認識
『⾃動化の対象によっては⼯数削減にならない場合もある』
上司に対しての下拵え
Ansibleで⼯数削減?
Photo by Kevin Maillefer on Unsplash 16
まとめ
Ansibleは銀の弾丸ではない
運⽤⾃動化はキラキラしたものではなく泥臭い地道なものである
⾃動化に際して現⾏運⽤の⾒直しと改定は殆どの場合で必要になる
⾃動化の対象によっては⼯数削減にならない場合もある
上記の認識の共有を踏まえて
失敗する可能性についても認識を共有しておく必要がある
『上司と⾃動化のデメリットも含めて正しく認識を共有しておく』
上司に対しての下拵え
運⽤⾃動化についての正しい認識を共有しておく
Photo by Charles Deluvio on Unsplash 17
『事前に適切な業務分析を⾏っておく』
⾃動化対象選定の下拵え
18
これも釈迦に説法かもしれませんが…
Ansibleでの⾃動化に向かない対象
⼿順の標準化がなされていないもの
対象機器が局所的かつ複数回の実⾏を想定していないもの
判断ロジックが明確でなく⼈による判断が必要になるもの
Ansibleでの⾃動化に向く対象
コード化できるレベルで⼿順のロジックが明確なもの
対象機器の範囲が広い、または繰り返し実⾏される作業
⾃動化対象選定の下拵え
Ansibleでの⾃動化に向く対象・向かない対象
19
⾃動化に向かない対象は⼀旦「やらないことリスト」に⼊れる
⾃動化に向く対象がある場合はその中から実装が容易なものから⾃動化する
⾃動化対象選定の理想としては…
実装が容易なものから⾃動化する(スモールスタート)
Point
往々にして⾼スキル技術者の⼯数を低スキル技術者の為に消費する事になっても
⾃動化を定着させる事が⽬的の場合、周囲を巻き込み易くするという観点でも
⽬に⾒える成果を積み重ねる事が重要。
⾃動化対象選定の下拵え
Ansibleでの⾃動化に向く対象・向かない対象
20
そうは⾔っても⼀番困ってる事から⾃動化しろって⾔われますよね?
⾃動化対象選定の下拵え
理想と現実
21
対象機器が局所的かつ複数回の実⾏を想定していないもの
⾃動化のメリットが少ないことは⽂書に残して粛々と対応
⼿順の標準化がなされていないもの / 判断ロジックが明確でなく⼈による判断が必要になるもの
内容を分析して細分化した上で⾃動化を⽬指す
⾃動化対象選定の下拵え
Ansibleでの⾃動化に向かない対象から⾃動化する場合
22
1. 適切な⼿法を⽤いた現状分析
2. ⾃動化後の現実的なTo-Be像を定義する
3. To-Be像と現状のギャップ分析を⾏い、その中の⼿順で⾃動化に向く項⽬を選定する
4. 洗い出した⾃動化に向く項⽬から⾃動化後を⾒越した標準化を⾏う
5. 標準化した項⽬から順に個別に⾃動化していく
6. ⾃動化した項⽬をワークフローで繋いで⾃動化を完成させる
Point
現状の個別最適に陥らないよう全体を俯瞰して⾃動化計画を策定する
向かない対象でも細かく分割した上でスモールスタートさせる
実際の開発着⼿は遅くなっても全体最適を⽬指す
⾃動化対象選定の下拵え
Ansibleでの⾃動化に向かない対象から⾃動化する場合
23
適切な⼿法を⽤いた現状分析とは?
様々なワークショップ⼿法から適切なものを組み合わせて実施すること
分析ワークショップの実施
個別ヒアリングはコミュニケーションコストが⾼い
属⼈的な隠れ⼿順による抜け漏れを無くして⾃動化する
全体で⼀度認識を合わせることが重要
⾃動化対象選定の下拵え
Ansibleでの⾃動化に向かない対象から⾃動化する場合
24
ワークショップ⼿法の例
Value Stream Mapping
SIPOC
Logic Tree
etc...
⾃動化担当者はこれらの⼿法を習得し実践する能⼒が必要とされる。
⾃動化前の下拵え
『業務分析⼿法について学習し実践する』
⾃動化対象選定の下拵え
Ansibleでの⾃動化に向かない対象から⾃動化する場合
Photo by Sandra Seitamaa on Unsplash 25
まとめ
業務分析⼿法について学習し実践する
『⾃動化に適さない業務でも適切に分析し分割して対応』
⾃動化対象選定の下拵え
事前に適切な業務分析を⾏っておく
Photo by Jess Bailey on Unsplash 26
『コミュニケーションコストを下げる為の仕組みを⽤意しておく』
チームでの⾃動化開発に向けた下拵え
27
⾃動化を担当するメンバーってどこから調達しますか?
既存の運⽤メンバーを教育して内製化︖
Ansibleの⾃動化開発経験者を外部から雇う︖
チームでの⾃動化開発に向けた下拵え
⾃動化開発チーム⽴ち上げにあたって
28
メンバーの調達はケースバイケースとはいえ
チームでの⾃動化開発の前に
『⼀⼈前であるといえる⾃動化チームメンバーの⼈物像を定義』
チームでの⾃動化開発に向けた下拵え
⾃動化開発チーム⽴ち上げにあたって
29
業務分析ワークショップの実施は中々⼤変
ワークショップ⽤資料の作成
ワークショップのファシリテート
ワークショップ開催の為の事前調整
etc...
更にインフラ畑の⼈が開発となると開発⼿法に関しても学習する必要が…
チームでの⾃動化開発に向けた下拵え
先ほど業務分析⼿法について学習し実践すると⾔いましたが…
Photo by Luis Villasmil on Unsplash 30
チームでの⾃動化開発の前に
『業務分析で使⽤するワークショップ⽤のテンプレートを作成』
チームでの⾃動化開発に向けた下拵え
先ほど業務分析⼿法について学習し実践すると⾔いましたが…
Photo by Ashkan Forouzani on Unsplash 31
他の⼈が書いたPlaybookって簡単に理解出来ますか?
チームでの⾃動化開発に向けた下拵え
突然ですが
私は他の⼈どころか⾃分が書いた半年前のPlaybookを読み返すのも結構⼤変です… 32
チームでの⾃動化開発の前に
『コーディングの⽅針を定めて⽂書化』
チームでの⾃動化開発に向けた下拵え
他の⼈が書いたPlaybookの理解は難しい
Photo by Jaredd Craig on Unsplash 33
コーディング⽅針決めのヒント
原則的に使う機能を絞って単純化
例えばhandlerは使わない、など
Lint開発などCodeチェックに関しても⾃動化を想定して⽅針を策定する
YAMLはBlock Styleのみにする、など
個々⼈で判断が別れそうな内容はルールを決める
改⾏ルール、Assertのやり⽅、など
どのような点で初学者が悩むか⼿っ取り早く知りたい場合
Ansibleユーザー会の もくもく会に参加してQAを複数回眺めるのもおすすめ
チームでの⾃動化開発に向けた下拵え
他の⼈が書いたPlaybookの理解は難しい
34
まとめ
⾃動化チームメンバーの⼈物像を定義する
業務分析で使⽤するWorkshop⽤のテンプレートを作成する
Codingの⽅針を定めて⽂書化する
『くれぐれも⾃動化担当者が属⼈化しないように!』
チームでの⾃動化開発に向けた下拵え
コミュニケーションコストを下げる為の仕組みを⽤意しておく
Photo by krakenimages on Unsplash 35
上司に対しての下拵え
『運⽤⾃動化についての正しい認識を共有しておく』
⾃動化対象選定の下拵え
『事前に適切な業務分析を⾏っておく』
チームでの⾃動化開発に向けた下拵え
『コミュニケーションコストを下げる為の仕組みを⽤意しておく』
組織で⾃動化に着⼿する前に⾏うべきだと感じた3つの下拵え
36
『課題解決の為のコミュニケーションコストを下げる為の下準備』
何か⾊々⾔いましたが
必要な下拵えとは
37
Happy Automation !

More Related Content

What's hot

What's hot (20)

Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
 
WayOfNoTrouble.pptx
WayOfNoTrouble.pptxWayOfNoTrouble.pptx
WayOfNoTrouble.pptx
 
Monitoring - 入門監視
Monitoring - 入門監視Monitoring - 入門監視
Monitoring - 入門監視
 
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
 
20190911 AWS Black Belt Online Seminar AWS Batch
20190911 AWS Black Belt Online Seminar AWS Batch20190911 AWS Black Belt Online Seminar AWS Batch
20190911 AWS Black Belt Online Seminar AWS Batch
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門
 
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
 
インフラCICDの勘所
インフラCICDの勘所インフラCICDの勘所
インフラCICDの勘所
 
AWSからのメール送信
AWSからのメール送信AWSからのメール送信
AWSからのメール送信
 
「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018
「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018
「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018
 
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
 
Serverless Framework Pluginで行うLambdaテスト
Serverless Framework Pluginで行うLambdaテストServerless Framework Pluginで行うLambdaテスト
Serverless Framework Pluginで行うLambdaテスト
 
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
 
Keycloak入門
Keycloak入門Keycloak入門
Keycloak入門
 
【Veeam基礎】簡単解説!バックアップ可能な環境や機能をご紹介
【Veeam基礎】簡単解説!バックアップ可能な環境や機能をご紹介【Veeam基礎】簡単解説!バックアップ可能な環境や機能をご紹介
【Veeam基礎】簡単解説!バックアップ可能な環境や機能をご紹介
 
インフラ廻戦 品川事変 前夜編
インフラ廻戦 品川事変 前夜編インフラ廻戦 品川事変 前夜編
インフラ廻戦 品川事変 前夜編
 
基礎から学ぶ? EC2マルチキャスト
基礎から学ぶ? EC2マルチキャスト基礎から学ぶ? EC2マルチキャスト
基礎から学ぶ? EC2マルチキャスト
 
Azure AD の新しいデバイス管理パターンを理解しよう
Azure AD の新しいデバイス管理パターンを理解しようAzure AD の新しいデバイス管理パターンを理解しよう
Azure AD の新しいデバイス管理パターンを理解しよう
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
 
サーバPUSHざっくりまとめ
サーバPUSHざっくりまとめサーバPUSHざっくりまとめ
サーバPUSHざっくりまとめ
 

Recently uploaded

研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
atsushi061452
 

Recently uploaded (16)

20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイント
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
 
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
 
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
 

組織で自動化に着手する前に行うべきだと感じた3つの下拵え