More Related Content
Similar to The invitation to Infrastructure CI (20)
The invitation to Infrastructure CI
- 2. 中島倫明(Tomoaki Nakajima) @irix_jp
● 現在
○ レッドハット勤務
○ en-PiT pro 早稲田大学/SmartSE 講師
○ 国立情報学研究所/TOPSE 講師
○ 高度ITアーキテクト育成協議会(AITAC)講師
○ 日本OpenStackユーザ会 ボードメンバー
○ 一般社団法人クラウド利用促進機構技術アドバイザー
● 過去
○ en-PiT 東京大学 非常勤講師(S1/S2 月曜 2限 2014-2017)
○ 日本OpenStackユーザ会 会長(2013-2015)
2
- 7. 「変化に強い」インフラを作ろう
Infrastructure as Code
● ITインフラに関わる構成定義や管理、変更管理や作業といった様々な事柄をプ
ログラムが解釈するコードとして管理するすることで「変化が容易なインフラ」を作
るための考え方。
○ ITインフラにアプリケーション開発で培われたノウハウ(不確実性への対処)
を適用。
○ 自動化は使われているが Infrastructure as Code の一要素でしかないの
で注意。
7
目標
アーキテクチャ
プラクティス
具体的な
システム
- 12. 自動化の進め方
● 今までの作業を自動化する → Playbookを書く
● 自動化した作業をサービスとして提供する → AWX/Towerでボタンにする
12
LB
閉塞
事前
バックアップ
モジュール
更新
事後
バックアップ
LB
開放
動作確認
作業の
調整&確認
作業の
調整&確認
サーバー
チーム
アプリ
チーム
NW
チーム
手作業 or 自動化1.0
作業前の
準備
実作業
LB
閉塞
事前
バックアップ
モジュール
更新
事後
バックアップ
LB
開放
動作確認
作業の
調整&確認
サーバー
チーム
アプリ
チーム
NW
チーム
一部サービス化された状態
サービス
化された
作業
NWチーム
が登場しな
くなる
ここを作る
- 13. 悩みどころ
● 目の前の作業をAnsibleで自動化してサービス化する
○ 実はそんなに難しくない。
● 実際にやってみると出てくる悩み
○ このPlaybookって、別の環境でも動くんだっけ?
○ このPlaybook(半年前に作ったやつ)って、今そのまま動かせるんだっけ?
○ Ansibleをバージョンアップしたけどこれって動くの??
○ 操作対象のOSがバージョンアップされたけどそのままでちゃんと動く?
○ バグがあったから直した、機能を足した、今までの処理に問題は出ないよ
ね??
13
自動化側が変わらなくても、取り巻く環境は変わっていく。
- 16. CI環境の整備
● コード管理(git)
● CIツール(jenkins, gitlab-ci, travis, etc)
● テスト環境(コンテナ、VM、物理マシンなど)
16
github travis-ci
コンテナ
(テスト環境)
Action Test
テスト
条件
デモ環境
● https://github.com/irixjp/sd2018-ansible-ci
● https://travis-ci.org/irixjp/sd2018-ansible-ci
- 17. まとめ
● インフラCIが必要とされる背景
○ 安定稼働+「変化への対応」が求められる
■ 変化にコストがかかりすぎるシステムは品質が
悪い
○ 作業からサービス(開発)へ
● インフラCIでやることは簡単、やることも増えない
○ 今までやっていたことが形を変えるだけ
■ これが大変だと感じるのは、本来やるべきこと
をやってなかっただけ説
● ただし万能の手法ではない
○ 2次元で評価されるシステム(自動化1.0)では使い所
が限られる。
● インフラCIを成功させるヒント
○ 故に上兵は謀を伐つ、其の次は交を伐つ、其の次は
兵を伐つ、其の下は城を攻む、攻城の法は、已むを
得ざるが爲なり。 17