[ chusiang@AgileTourTaichung ~ ] $ cat .profile

# Author: 凍仁翔 (Chu-Siang Lai)

# Email: chusiang@drx.tw

# Blog: https://note.drx.tw

# Date: 2019-12-28
_____________________________
< 系統⼯工程師的 DevOps 實踐之道 3/e >
-----------------------------
Agile Tour Taichung 2019
2
09:30 - 10:20 該敏捷的不是專案,是⼈人⽣生 ~ 董⼤大偉
10:30 - 11:20 槍林林彈雨中的敏捷 伊森李
11:30 - 12:30 系統⼯工程師的 DevOps 實踐之道 3/e 凍仁翔
12:30 – 14:00 Lunch & Lighting Talk
凍仁翔
3
• 系統⼯工程師
• Ansible Taiwan 社群組織者
• DevOps Taiwan 志⼯工
• 台灣敏捷協會會員
@chusiang_lai
4
http://wiki.drx.tw/#!presentation.md
5※ 圖片來來源:https://unsplash.com/photos/FXFz-sW0uwo
Linux System Engineer
6※ 圖片來來源:https://unsplash.com/photos/j-MPRQOJfVU
Recovery work
Amazon - https://goo.gl/visckK
7
《鳳凰專案》
踏入 DevOps 之旅的第⼀一本書
- http://s.drx.tw/tppb
R1
新工作
8
業務專案
待辦量量
IT 內部專案
⼯工作量量
計劃外⼯工作
發⽣生率
變更更⼯工作

品質
新需求
加班時數
⼈人為

失誤率
⼿手動

組態
協作⼒力力
Pair

System 

Admin
記錄

變更更
從過往

學習
Ansible
組態
預演組態

變更更成本
學習架

構流程
撰寫 Ansible

Playbooks
Zabbix

監控
系統掌握度
便便利利貼

架構牆
⼯工作完成量量
B4
加班
B8
人工
R13
共享
組態
B12
自動化
B11
即時
偵錯
B17
遙測
R18
可視化
CLD 3/e
9
業務專案
待辦量量
IT 內部專案
⼯工作量量
計劃外⼯工作
發⽣生頻率
變更更⼯工作

品質
新需求
加班時數
⼈人為

失誤率
⼿手動

組態
協作⼒力力
Pair

System 

Admin]
記錄

變更更
從過往

學習
Ansible
組態
預演組態

變更更成本
]
學習架

構流程
撰寫 Ansible

Playbooks
Zabbix

監控
系統掌握度
便便利利貼

架構牆
⼯工作完成量量
CLD 2/e
1. DevOps 是什什麼?
2. 從系統思考看 DevOps 實踐
3. 系統基模分析
4. 回顧
Outline
Analysis
DevOps
Practice
Retro
1. DevOps 是什什麼?
11
AnalysisDevOps Practice Retro
12
Infra
Dev Ops
ITSM
狹義的 DevOps 是什什麼?
※ 本圖修改⾃自許峰於 DevOpsDays Taipei 2017 的 DevOps in a value stream 分享 - https://youtu.be/qWbcujKw57c?t=9m39s
DevOps
Agile
Agile 是什什麼?
13
Infra
Dev Ops
ITSM
Invest
Req
※ 本圖修改⾃自許峰於 DevOpsDays Taipei 2017 的 DevOps in a value stream 分享 - https://youtu.be/qWbcujKw57c?t=9m39s
DevOps
廣義的 DevOps 是什什麼?
14
Infra
Dev Ops
ITSM
Agile
Req
Invest
Use
Value
※ 本圖修改⾃自許峰於 DevOpsDays Taipei 2017 的 DevOps in a value stream 分享 - https://youtu.be/qWbcujKw57c?t=9m39s
DevOps
廣義的 DevOps 是什什麼?
15
Infra
Dev Ops
ITSM
Agile
Req
Invest
Use
Value
DevOps
※ 本圖修改⾃自許峰於 DevOpsDays Taipei 2017 的 DevOps in a value stream 分享 - https://youtu.be/qWbcujKw57c?t=9m39s
DevOps
16
※ Design by Ruddy Lee - http://bit.ly/2RCvICV
17
※ Design by Ruddy Lee - http://bit.ly/2RCvICV
「系統思考將引導⼀一條
路路,使⼈人由看片段到整
體;從對現狀狀做被動反
應,轉為創造未來來;從迷
失在複雜的細節中,到掌
握動態的均衡搭配。」
– 彼得.聖吉,《第五項修練》
18
天瓏網路路書店 - http://bit.ly/351G9WL
– Chu-Siang Lai
「系統思考是⼀一項⽤用因果關係,推導變量量間的
關係和結構,進⽽而從整體看⾒見見系統⾏行行為、
找出槓桿解的⾼高深技藝。」
19
20
系統當機 重新開機
根治問題
+
- -
-
LOOPY - http://s.drx.tw/CLD-reboot
B1
重開
R2
學習
⼩小試⾝身⼿手
1. 正相關:
2. 負相關:
3. 時間延遲:
4. 平衡環路路:Balance
5. 增強環路路:Reinforcing
+
-
21
▲重開機,治百病 - http://s.drx.tw/CLD-reboot
http://bit.ly/2QXbYNC
22
四種⼯工作類型
4 Types of Work in IT
業務專案
IT 內部專案
變更更⼯工作
計劃外⼯工作
23
業務專案
24※ 圖片來來源:https://unsplash.com/photos/hUV5dE9jh1s
IT 內部專案
25※ 圖片來來源:https://unsplash.com/photos/r6FbzziRN88
變更更⼯工作
26※ 圖片來來源:https://unsplash.com/photos/RLw-UC03Gwc
計劃外⼯工作
27※ 圖片來來源:https://unsplash.com/photos/e5s4jQxEExo
R3
救火
R2
失誤
R1
新工作
四種⼯工作類型 → CLD
28
業務專案
待辦量量
IT 內部專案
⼯工作量量
計劃外⼯工作
發⽣生率
+
變更更⼯工作

品質
+
+
-
-
-
新需求
+
29
▲《鳳凰專案》四種⼯工作類型 - http://s.drx.tw/4ToW
2. 從系統思考看 DevOps 實踐
30
AnalysisDevOps Practice Retro
B4
加班
R1
新工作
加班!?
31
業務專案
待辦量量
IT 內部專案
⼯工作量量
計劃外⼯工作
發⽣生率
變更更⼯工作

品質
新需求
加班時數
治標不治本
R2
失誤
R3
救火
R5
超載
保護變更更⼯工作
當變更更⼯工作沒做好
,就成了了計劃外⼯工作!
《The Phoenix Project》
天瓏網路路書店 - https://goo.gl/bRUHq6
32
⾝身為⼀一位系統⼯工程師,

我想要提升變更更⼯工作品質

、降低計劃外⼯工作發⽣生率,

這樣才能建立與企業雙贏

的⼯工作環境,提早下班!
33
⾝身為⼀一位系統⼯工程師,

我想要提升變更更⼯工作品質

、降低計劃外⼯工作發⽣生率,

這樣才能建立與企業雙贏

的⼯工作環境,提早下班!
34
Kobo - http://bit.ly/360g23G
35
《我要 準時下班!》
我想提早下班
提升變更更⼯工作品質
36
業務專案
待辦量量
IT 內部專案
⼯工作量量
計劃外⼯工作
發⽣生率
變更更⼯工作

品質
新需求
加班時數
減少變更更範圍
、降低例例外發⽣生
R1
新工作
B4
加班
R5
超載
R6
減少變更範圍
R7
降低例外
R9
人為失誤
B4
加班
37
IT 內部專案
⼯工作量量
計劃外⼯工作
發⽣生率
變更更⼯工作

品質
加班時數
⼈人為

失誤率
⼿手動

組態
協作⼒力力
⼯工作完成量量
瓶頸 1:⼈人為失誤
B8
人工
R3
救火
38
IT 內部專案
⼯工作量量
計劃外⼯工作
發⽣生率
變更更⼯工作

品質
加班時數
⼈人為

失誤率
⼿手動

組態
協作⼒力力 記錄

變更更
從過往

學習
⼯工作完成量量
記錄變更更、
從過往學習
R3
救火
B8
人工
B4
加班
瓶頸 1:⼈人為失誤
R10
Retro
R9
人為失誤
39
Whiteboard Issue Tracking
記錄變更更
40
IT 內部專案
⼯工作量量
計劃外⼯工作
發⽣生率
變更更⼯工作

品質
加班時數
⼈人為

失誤率
⼿手動

組態
協作⼒力力
Pair

System 

Admin
記錄

變更更
從過往

學習
⼯工作完成量量
Pair System
Administration
B8
人工
B4
加班
瓶頸 1:⼈人為失誤
B11
即時
偵錯
R3
救火
R10
Retro
R9
人為失誤
– Chu-Siang Lai
「⼀一個好的站立會議,可以避免救不完火的⼀一
天!」
41
https://twitter.com/chusiang_lai/status/919977398686294016
⼈人為

失誤率
Ask on

Stand-up

Meeting
瓶頸 1:⼈人為失誤
B12
自動化
42
IT 內部專案
⼯工作量量
Ansible
組態
學習架

構流程
撰寫 Ansible

Playbooks
瓶頸 2:導入 Ansible ⾃自動化
43
Write documents
※ 圖片來來源:https://unsplash.com/photos/s9CC2SKySJM
44
Pair Programming
※ 圖片來來源:https://www.flickr.com/photos/esti/4638056301
45
IT 內部專案
⼯工作量量
⼈人為

失誤率
協作⼒力力
Ansible
組態
預演組態

變更更成本
學習架

構流程
撰寫 Ansible

Playbooks
B12
自動化
R13
共享
組態
瓶頸 2:導入 Ansible ⾃自動化
46
IT 內部專案
⼯工作量量
計劃外⼯工作
發⽣生率
變更更⼯工作

品質
⼈人為

失誤率
⼿手動

組態
協作⼒力力
Pair

System 

Admin
記錄

變更更
從過往

學習
⼯工作完成量量
導入 Ansible ⾃自動化前
B11
即時
偵錯
B8
人工
R3
救火
R9
人為失誤
B14
降低人為失誤
47
IT 內部專案
⼯工作量量
計劃外⼯工作
發⽣生率
變更更⼯工作

品質
⼈人為

失誤率
協作⼒力力
Pair

System 

Admin
記錄

變更更
從過往

學習
Ansible
組態
預演組態

變更更成本
學習架

構流程
撰寫 Ansible

Playbooks
⼯工作完成量量
導入 Ansible ⾃自動化後
B11
即時
偵錯
B12
自動化
R13
共享
組態
B15
降低預演成本
B16
降低例外組態管理理
欲速則不達
48
IT 內部專案
⼯工作量量
計劃外⼯工作
發⽣生率
Zabbix

監控
系統掌握度
瓶頸 3:降低計劃外⼯工作
B17
遙測
49
Zabbix 監控
_______________________
< 簡單易易⽤用的 Zabbix 監控服務 >
-----------------------


[ chusiang@DevOpsTaiwan ~ ]
$ cat .profile
# Author: 凍仁翔 / chusiang@drx.tw
# Blog: https://note.drx.tw
# Modified: 2018-05-26 14:00
.::!!!!!!!:.
.!!!!!:. .:!!!!!!!!!!!!
~~~~!!!!!!. .:!!!!!!!!!UWWW$$$
:$$NWX!!: .:!!!!!!XUWW$$$$$$$$$P
$$$$$##WX!: .<!!!!UW$$$$" $$$$$$$$#
$$$$$ $$$UX :!!UW$$$$$$$$$ 4$$$$$*
^$$$B $$$$ $$$$$$$$$$$$ d$$R"
"*$bd$$$$ '*$$$$$$$$$$$o+#"
"""" """""""
http://s.drx.tw/Zbx01
Monitoring 是什什麼?
51
Infra
Dev Ops
ITSM
Agile
Req
Invest
Use
Value
※ 本圖修改⾃自許峰於 DevOpsDays Taipei 2017 的 DevOps in a value stream 分享 - https://youtu.be/qWbcujKw57c?t=9m39s
52
IT 內部專案
⼯工作量量
計劃外⼯工作
發⽣生率
Zabbix

監控
系統掌握度
便便利利貼

架構牆
瓶頸 3:降低計劃外⼯工作
B17
遙測
R18
可視化
R1
新工作
53
業務專案
待辦量量
IT 內部專案
⼯工作量量
計劃外⼯工作
發⽣生率
變更更⼯工作

品質
新需求
加班時數
⼈人為

失誤率
⼿手動

組態
協作⼒力力
Pair

System 

Admin
記錄

變更更
從過往

學習
Ansible
組態
預演組態

變更更成本
學習架

構流程
撰寫 Ansible

Playbooks
Zabbix

監控
系統掌握度
便便利利貼

架構牆
⼯工作完成量量
B4
加班
B8
人工
R13
共享
組態
B12
自動化
B11
即時
偵錯
B17
遙測
R18
可視化
Practice
3. 系統基模分析
54
AnalysisDevOps Practice Retro
捨本逐末、飲鴆⽌止渴、成長上限
「將注意⼒力力集中在根本解。但如果問題急迫
,由於根本解的效果受時間滯延影響,在進⾏行行
根本解的過程中,可暫時使⽤用症狀狀解
來來換取時間。」
55
捨本逐末
Ansible 組態
⼿手動組態
業務專案
待辦量量
IT 內部專案
⼯工作量量
Ansible

組態
新需求
⼿手動

組態
捨本逐末
R1
新工作
B8
人工
協作⼒力力
56
B12
自動化
R19
協作力下降
「眼光凝聚在長期焦點。如果可能的話,完全摒
除那種短期對策。除非短期對策只是⽤用來來換取
時間,以尋求更更妥善的長期解決⽅方案。」
57
飲鴆⽌止渴
Ansible 組態
⼿手動組態、加班
業務專案
待辦量量
IT 內部專案
⼯工作量量
計畫外⼯工作
發⽣生率
變更更⼯工作

品質
新需求
⼿手動

組態
預演

變更更成本
飲鴆⽌止渴 3
R1
新工作
B8
人工
R20
害怕變更
Ansible

組態
58
業務專案
待辦量量
IT 內部專案
⼯工作量量
⼯工作完成量量 變更更⼯工作

品質
新需求
⼿手動

組態
⼈人為

失誤率
飲鴆⽌止渴 2
R1
新工作
B2
人工
R21
重蹈覆徹
從過往

學習
59
業務專案
待辦量量
IT 內部專案
⼯工作量量
計畫外⼯工作
發⽣生率
變更更⼯工作

品質
新需求
加班時數
⼈人為

失誤率
飲鴆⽌止渴 1
R1
新工作
B4
加班
R5
超載
60
「不要去推動『增強 -- 成長 -- 環路路』
,應該要除去 (或減弱) 限制的來來源。」
61
成長上限
Ansible 組態、協作⼒力力
⼿手動組態、加班
、⼯工作完成量量
業務專案
待辦量量
IT 內部專案
⼯工作量量
Ansible

組態
新需求
成長上限
R1
新工作
協作⼒力力
62
B12
自動化
R13
共享組態
⼿手動組態
加班時數
⼯工作完成量量
4. 回顧
63
AnalysisDevOps Practice Retro
DevOps 價值流
64
Infra
Dev Ops
ITSM
Agile
Req
Invest
Use
Value
DevOps
※ 本圖取⾃自許峰於 DevOpsDays Taipei 2017 分享的 DevOps in a value stream - https://youtu.be/qWbcujKw57c?t=9m39s
DevOps
R1
新工作
65
業務專案
待辦量量
IT 內部專案
⼯工作量量
計劃外⼯工作
發⽣生率
變更更⼯工作

品質
新需求
加班時數
⼈人為

失誤率
⼿手動

組態
協作⼒力力
Pair

System 

Admin
記錄

變更更
從過往

學習
Ansible
組態
預演組態

變更更成本
學習架

構流程
撰寫 Ansible

Playbooks
Zabbix

監控
系統掌握度
便便利利貼

架構牆
⼯工作完成量量
B4
加班
B8
人工
R13
共享
組態
B12
自動化
B11
即時
偵錯
B17
遙測
R18
可視化
Practice
系統基模
捨本逐末、飲鴆⽌止渴、成長上限
天瓏網路路書店 - http://bit.ly/351G9WL
66
67
Q & A
https://www.facebook.com/groups/agile.kaohsiung/
https://www.facebook.com/AgileTourHsinchu/
https://www.facebook.com/groups/AgileNeihu/
68
http://fb.me/AgileCommunity.tw
https://t.me/devopstw
https://www.facebook.com/groups/DevOpsTaiwan/
https://devopstw.club/
DevOps Taiwan
69
Ansible Taiwan
https://t.me/ansible_tw
https://github.com/ansible-tw
http://ansible.tw
70
71
買禮物?
→ http://萍⽔水相逢.tw
-` `-/+oooo+/-`
/+. `/shhs+/:--:/+shhs/`
.hhNs:` `:sds-
`smohh:` `:/+-:/-. `+ms`
.dh. /md+`yMMdNMMmdso:` .hd.
`dh` `oNmMMMMMMMNMMNNh: `hd`
+M. -NMMMMMMMMMMNmmdo` .M+
dd .smMMMMMMMMMMMMMNNy dd
dm /mMmMMMMMMMMMMMMMNdy` dd
oM- `sMMMMMMMMMMMMMMMMMMMM:.Mo
`md` -mMMMmhyo:+MMMMMMMMMMMM+hm`
-md:-dNh/` :mMMMMMMMMMMMMNm-
.yNh+/.`.-+dMMMMMMMMMMMMMMy.
:hMNNNNNMMMMMMMMMMMMMMh:
.+hNMMMMMMMMMMMMNh+.
`./+ssyyss+/.`
END
Taichung 2019

My DevOps Tour 2.3