SlideShare a Scribd company logo
ラクス共通Ansibleコードテ
ンプレートを作った話
自動化大好きエンジニアLT会 第4回
■自己紹介
 [名前]: 上畑圭史(うえはたけいじ)
 [Twitter]: いじけまん(@ijikeman)
 [職業]:株式会社ラクスのインフラエンジニア
 [趣味1]: 自作キーボード大好き
アクリル板(4mm)にキーの穴(60個)を手であけた
自キー(自作キーボード)界隈ではちょっとした有名人
 [趣味2]: ピアノ歴5ヵ月(コロナを契機に)
 [趣味3]: 市民農園を借りたので、毎朝5時起床する超健康的(おじ
いちゃん)な生活を送っています。
 [趣味4]: 自動化大好きエンジニアLT会登壇(第1-4回) 2
■きっかけ
ラクス入社時(2018年)のAnsibleの導入状況
• 各サービスのサーバ構成管理としてAnsibleを
導入し始める。
• 社内でAnsibleの勉強会が何度か開催されてい
たレベル
本格的に導入されていなかった
■導入が進む先の未来を想像
ラクスでは各サービスグループ毎
に運用者が分かれる。それぞれの
責任で運用している大所帯な組織。
このままAnsible化を進める
と。。。
■導入が進む先の未来を想像
それぞれが独自に実装を始める為、
コード化しても再利用・保守性が
下がってしまう。
■導入が進む先の未来を想像
もし、1つのAnsibleコードで全ての商材の
サーバを管理した場合。
相互に影響が発生する為、難しい。
Pull
push
Ansibleをテンプレート化し
よう!!
■Ansibleテンプレート化
[懸念事項]
使われない or ごく一部のみ適用
革
新
者
2
.
5
%
初
期
採
用
者
13
.
5
%
遅
滞
者
16
%
前
期
追
随
者
34
%
工
期
追
随
者
34
%
キャズム理論
普及率16%を超えた辺り
で市場への浸透が本格的
になる
キ
ャ
ズ
ム
大
き
な
谷
[原因]
- コアメンバーのみが保守 → 技術の伝達
- 理解が進まない → 理解度向上の為の施策
■キャズム(16%)を超えろ
キャズム
■キャズム(16%)を超えろ
○初期採用者向け施策(コアメンバー育成)
・各実装の説明&勉強会実施
・各自のコードレビューに参加し、考え方や法則等伝達
○全体(追随者)向け施策
・Readme拡充 (ディレクトリ構成や命名規則)
・Ansibleテンプレートを使ったAnsibleの基礎学習
Howto (アニメーションGIF)
・Howtoの勉強会実施
・コアメンバーによるコードレビュー
Ansibleテンプレート化
ちらみせ
テンプレート化: 共通処理
パッケージ管理(roles/common/tasks/main.yml)
COMMON_INSTALL_PACKAGES… 全ての環境に適
用
COMMON_HOSTGROUP_INSTALL_PACKAGES…
特定のグループ全てに適用
(例: 全てのWEBサーバにのみ適用したい)
INVENTORY_INSTALL_PACKAGES… 特定のステー
ジの環境のホスト全てに適用
(例: 本番環境全てに適用したい)
INVENTORY_HOSTGROUP_INSTALL_PACKAGES
… 特定のステージの特定のグループに適用
(例: 社内環境と本番環境でバージョンを変えたい)
テンプレート化: ミドルウェ
ア(基本系)
roles/middlewares/[ミドルウェア名]/tasks/main.yml
roles/middlewares/[ミドルウェア名]/tasks/install.yml
roles/middlewares/[ミドルウェア名]/vars/main.yml
varsを修正するだけでインストールと起動が行われる
ご清聴ありがとうございました。

More Related Content

What's hot

CVE、JVN番号の取得経験者になろう!
CVE、JVN番号の取得経験者になろう!CVE、JVN番号の取得経験者になろう!
CVE、JVN番号の取得経験者になろう!kazkiti
 
QEMUでARM64bitベアメタルプログラミング
QEMUでARM64bitベアメタルプログラミングQEMUでARM64bitベアメタルプログラミング
QEMUでARM64bitベアメタルプログラミングYuma Ohgami
 
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計Takahiro Kubo
 
Ansibleの最近の動向を追ってみた
Ansibleの最近の動向を追ってみたAnsibleの最近の動向を追ってみた
Ansibleの最近の動向を追ってみたKeijiUehata1
 
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについてSEGADevTech
 
セキュリティを楽しむ(CTFとbugbountyの始め方)
セキュリティを楽しむ(CTFとbugbountyの始め方)セキュリティを楽しむ(CTFとbugbountyの始め方)
セキュリティを楽しむ(CTFとbugbountyの始め方)kazkiti
 
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 Hiroshi Ito
 
レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法Takeshi Mikami
 
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1Masashi Shibata
 
初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法kazkiti
 
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDSIbis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDSCloudera Japan
 
テスト計画セッション
テスト計画セッションテスト計画セッション
テスト計画セッションTomoaki Fukura
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門Preferred Networks
 
強化学習技術とゲーム AI 〜 今できる事と今後できて欲しい事 〜
強化学習技術とゲーム AI  〜 今できる事と今後できて欲しい事 〜強化学習技術とゲーム AI  〜 今できる事と今後できて欲しい事 〜
強化学習技術とゲーム AI 〜 今できる事と今後できて欲しい事 〜佑 甲野
 
Amazon AthenaでSageMakerを使った推論
Amazon AthenaでSageMakerを使った推論Amazon AthenaでSageMakerを使った推論
Amazon AthenaでSageMakerを使った推論西岡 賢一郎
 
ぷよぷよ AI: mayah(AI) の実装
ぷよぷよ AI: mayah(AI) の実装ぷよぷよ AI: mayah(AI) の実装
ぷよぷよ AI: mayah(AI) の実装mayahjp
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作るtorisoup
 
プログラミング言語のマスコットとか紹介
プログラミング言語のマスコットとか紹介プログラミング言語のマスコットとか紹介
プログラミング言語のマスコットとか紹介Takaaki Hirano
 
#IkaLog によるスプラトゥーンの画像解析と機械学習
#IkaLog によるスプラトゥーンの画像解析と機械学習#IkaLog によるスプラトゥーンの画像解析と機械学習
#IkaLog によるスプラトゥーンの画像解析と機械学習Takeshi HASEGAWA
 
Machine Learning Night - Preferred Networksの顧客向けプロダクト開発 - 谷脇大輔
Machine Learning Night - Preferred Networksの顧客向けプロダクト開発 - 谷脇大輔Machine Learning Night - Preferred Networksの顧客向けプロダクト開発 - 谷脇大輔
Machine Learning Night - Preferred Networksの顧客向けプロダクト開発 - 谷脇大輔Preferred Networks
 

What's hot (20)

CVE、JVN番号の取得経験者になろう!
CVE、JVN番号の取得経験者になろう!CVE、JVN番号の取得経験者になろう!
CVE、JVN番号の取得経験者になろう!
 
QEMUでARM64bitベアメタルプログラミング
QEMUでARM64bitベアメタルプログラミングQEMUでARM64bitベアメタルプログラミング
QEMUでARM64bitベアメタルプログラミング
 
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計
 
Ansibleの最近の動向を追ってみた
Ansibleの最近の動向を追ってみたAnsibleの最近の動向を追ってみた
Ansibleの最近の動向を追ってみた
 
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
 
セキュリティを楽しむ(CTFとbugbountyの始め方)
セキュリティを楽しむ(CTFとbugbountyの始め方)セキュリティを楽しむ(CTFとbugbountyの始め方)
セキュリティを楽しむ(CTFとbugbountyの始め方)
 
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
 
レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法
 
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1
 
初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法
 
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDSIbis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
 
テスト計画セッション
テスト計画セッションテスト計画セッション
テスト計画セッション
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門
 
強化学習技術とゲーム AI 〜 今できる事と今後できて欲しい事 〜
強化学習技術とゲーム AI  〜 今できる事と今後できて欲しい事 〜強化学習技術とゲーム AI  〜 今できる事と今後できて欲しい事 〜
強化学習技術とゲーム AI 〜 今できる事と今後できて欲しい事 〜
 
Amazon AthenaでSageMakerを使った推論
Amazon AthenaでSageMakerを使った推論Amazon AthenaでSageMakerを使った推論
Amazon AthenaでSageMakerを使った推論
 
ぷよぷよ AI: mayah(AI) の実装
ぷよぷよ AI: mayah(AI) の実装ぷよぷよ AI: mayah(AI) の実装
ぷよぷよ AI: mayah(AI) の実装
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
 
プログラミング言語のマスコットとか紹介
プログラミング言語のマスコットとか紹介プログラミング言語のマスコットとか紹介
プログラミング言語のマスコットとか紹介
 
#IkaLog によるスプラトゥーンの画像解析と機械学習
#IkaLog によるスプラトゥーンの画像解析と機械学習#IkaLog によるスプラトゥーンの画像解析と機械学習
#IkaLog によるスプラトゥーンの画像解析と機械学習
 
Machine Learning Night - Preferred Networksの顧客向けプロダクト開発 - 谷脇大輔
Machine Learning Night - Preferred Networksの顧客向けプロダクト開発 - 谷脇大輔Machine Learning Night - Preferred Networksの顧客向けプロダクト開発 - 谷脇大輔
Machine Learning Night - Preferred Networksの顧客向けプロダクト開発 - 谷脇大輔
 

Similar to ラクス共通Ansibleコードテンプレートを作った話

Ansibleの実行速度を1/3にした話
Ansibleの実行速度を1/3にした話Ansibleの実行速度を1/3にした話
Ansibleの実行速度を1/3にした話KeijiUehata1
 
20221102_automation_lt09.pptx
20221102_automation_lt09.pptx20221102_automation_lt09.pptx
20221102_automation_lt09.pptxKeijiUehata1
 
20221102_automation_lt09.pptx
20221102_automation_lt09.pptx20221102_automation_lt09.pptx
20221102_automation_lt09.pptxKeijiUehata1
 
既存サーバを後からAnsibleで構成管理する
既存サーバを後からAnsibleで構成管理する既存サーバを後からAnsibleで構成管理する
既存サーバを後からAnsibleで構成管理するKeijiUehata1
 
Kubernetes サーバレス知識ゼロのエンジニアがKnative環境構築してみた
Kubernetes サーバレス知識ゼロのエンジニアがKnative環境構築してみたKubernetes サーバレス知識ゼロのエンジニアがKnative環境構築してみた
Kubernetes サーバレス知識ゼロのエンジニアがKnative環境構築してみたKeijiUehata1
 
Python製BDDツールで自動化してみた
Python製BDDツールで自動化してみたPython製BDDツールで自動化してみた
Python製BDDツールで自動化してみたKeijiUehata1
 

Similar to ラクス共通Ansibleコードテンプレートを作った話 (6)

Ansibleの実行速度を1/3にした話
Ansibleの実行速度を1/3にした話Ansibleの実行速度を1/3にした話
Ansibleの実行速度を1/3にした話
 
20221102_automation_lt09.pptx
20221102_automation_lt09.pptx20221102_automation_lt09.pptx
20221102_automation_lt09.pptx
 
20221102_automation_lt09.pptx
20221102_automation_lt09.pptx20221102_automation_lt09.pptx
20221102_automation_lt09.pptx
 
既存サーバを後からAnsibleで構成管理する
既存サーバを後からAnsibleで構成管理する既存サーバを後からAnsibleで構成管理する
既存サーバを後からAnsibleで構成管理する
 
Kubernetes サーバレス知識ゼロのエンジニアがKnative環境構築してみた
Kubernetes サーバレス知識ゼロのエンジニアがKnative環境構築してみたKubernetes サーバレス知識ゼロのエンジニアがKnative環境構築してみた
Kubernetes サーバレス知識ゼロのエンジニアがKnative環境構築してみた
 
Python製BDDツールで自動化してみた
Python製BDDツールで自動化してみたPython製BDDツールで自動化してみた
Python製BDDツールで自動化してみた
 

ラクス共通Ansibleコードテンプレートを作った話