SlideShare a Scribd company logo
※ 圖片來來源:https://unsplash.com/photos/FyD3OWBuXnY
企業導入 Ansible ⾃自動化真的容易易嗎
[ chusiang@DevOpsDaysTaipei ~ ] $ cat .profile

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

# Email: chusiang@drx.tw
# Blog: https://note.drx.tw
# Date: 2019-10-17
凍仁翔
2
• 美商普維軟體⼯工程師
• Ansible Taiwan 社群組織者
• DevOps Taiwan 志⼯工
• 台灣敏捷協會成員
@chusiang_lai
DevOpsDays Taipei 2019
3
12:10 – 13:30 Break
13:30 – 14:10
LINE SRE Practice from Observability Viewpoint 洪立遠
如何利利⽤用遙測⾯面板來來改善品質 蘇義傑
企業導入 Ansible ⾃自動化真的容易易嗎 凍仁翔
14:10 – 14:20 Break
※ 圖片來來源:https://unsplash.com/photos/FyD3OWBuXnY
企業導入 Ansible ⾃自動化真的容易易嗎
[ chusiang@DevOpsDaysTaipei ~ ] $ cat .profile

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

# Email: chusiang@drx.tw
# Blog: https://note.drx.tw
# Date: 2019-10-17
難,但值得
Outline
Ansible1. Ansible 是什什麼
2. 從 1 到 20 的⾃自動化
3. 得到什什麼技藝
4. 回顧
Auto
Craft
Retro
6
Ansible Auto Craft Retro
6
1. Ansible 是什什麼
7
https://www.ansible.com
8
https://github.com/chusiang/automate-with-ansible
9
Ansible 取名⾃自
Answerable,在⼩小說

《安德的遊戲》中代表著
虛構的超光速即時通訊裝置。
» http://bit.ly/33pjmno
2013 年年的電影海海報 - https://goo.gl/4xftZT
10
https://youtu.be/8wwJd7WUtko
指揮官思維
Commander Thinking
11
指揮官性格 (ENTJ)
1. 坦率、果斷、隨時承擔領導職責。
2. 能迅速看到不合邏輯和低效的產品策略略,透過建立並
部署綜合系統,解決組織架構問題。
3. 消息靈通,知識淵博,樂於擴展知識並傳授給他⼈人。
12
» ENTJ | 維基百科 - https://zh.wikipedia.org/wiki/ENTJ
13
開始⽤用 Ansible
就該像指揮官

思考整體部署
14
Ansible Auto Craft Retro
14
2. 從 1 到 20 的⾃自動化
15
新兵報到
前置作業
減少

例例外⼯工作
Infra

標準化
設計 Playbooks

整體架構
完成 1st

Playbooks
串串 Playbooks 和 CI

打造 CD stage
招募 2nd

Ansibler
重寫 2nd.

Playbooks
2019.092017.03
幫其他團隊

寫 Playbooks
加入 Unit Test
⽤用 Docker

重構 Unit Test
招募 3rd

Ansibler
⾃自動化歷程圖
已有 CI 和

Build stage
16
Customer
Git server Development
GitLab CI Build
Test
(Docker)
Deploy
(Auto.)
Release

Modules
Engineer
Staging
Prod. Release SQA
Now
Manual
Manual
17
新兵報到
前置作業
減少

例例外⼯工作
Infra

標準化
2019.092017.03
1. 學習架構流程
已有 CI 和

Build stage
18
Customer
Git server Development
GitLab CI Build
Deploy
(Manual)
Release

Modules
Engineer
Staging
Prod. Release SQA
Ⅰ
Manual
Manual
缺乏⾃自動化部署技能
19
招兵買⾺馬⾃自⾏行行培養
慢 快
20
第 1 位被徵招的
Ansibler 在此
前置作業
21
Pair Programming寫⽂文件
慢 快
※ 圖片來來源:https://unsplash.com/photos/hLUTRzcVkqg 22
計畫外⼯工作 / 救火
減少例例外⼯工作
1. 記錄每次的變更更⼯工作,並從過往學習。
2. Pair System Administration。
3. 事先於每⽇日站立會議詢問變更更影響範圍。
4. 僅於上版⽇日變更更 Staging、Production。
23
24
新兵報到
前置作業
減少

例例外⼯工作
Infra

標準化
設計 Playbooks

整體架構
完成 1st

Playbooks
串串 Playbooks 和 CI

打造 CD stage
2019.092017.03
已有 CI 和

Build stage
2. 打造 CD pipeline
Manual
Manual
Ⅱ
25
Customer
Git server Development
GitLab CI Build
Deploy
(Auto.)
Release

Modules
Engineer
Staging
Prod. Release SQA
> Add "Deploy" stage.
_____________________________
/ DevOps ⼈人⼀一定要 
 知道的持續交付技巧 /
-----------------------------

 ^__^
 (oo)_______
(__) )/
||----w |
|| ||
[ chusiang@AgileTourTaichung ~ ]
$ cat .profile
# Author: 凍仁翔 / chusiang@drx.tw
# Blog: http://note.drx.tw
# Modified: 2018-01-13 14:00
# Reference: http://s.drx.tw/cdws
5th
27
新兵報到
前置作業
減少

例例外⼯工作
Infra

標準化
設計 Playbooks

整體架構
完成 1st

Playbooks
串串 Playbooks 和 CI

打造 CD stage
2019.092017.03
加入 Unit Test
已有 CI 和

Build stage
3. 加入 Unit Test
Manual
Manual
Ⅲ
28
Customer
Git server Development
GitLab CI Build
Deploy
(Auto.)
Test
(VM)
Release

Modules
Engineer
Staging
Prod. Release SQA
> Add "Unit Test" stage.
同事:「Unit Test 在多台 HA 架構下,會打架。」
29
凍仁:「那就建台專⾨門跑 Unit Test 的 VM 吧!」
4. ⽀支援 HA 架構
Manual
Manual
Ⅳ
30
Customer
Git server Development
GitLab CI Build
Test
(VM)
Deploy
(Auto.)
Release

Modules
Engineer
Staging
Prod. Release SQA
> Switch "Deploy" and "Test" stage.
31
新兵報到
前置作業
減少

例例外⼯工作
Infra

標準化
設計 Playbooks

整體架構
完成 1st

Playbooks
串串 Playbooks 和 CI

打造 CD stage
招募 2nd

Ansibler
重寫 2nd.

Playbooks
2019.092017.03
幫其他團隊

寫 Playbooks
加入 Unit Test
⽤用 Docker

重構 Unit Test
已有 CI 和

Build stage
5. 重構 Unit Test 架構
Manual
Manual
Ⅴ
32
Customer
Git server Development
GitLab CI Build
Test
(Docker)
Deploy
(Auto.)
Release

Modules
Engineer
Staging
Prod. Release SQA
> Refactor "Unit Test" stage via Docker.
33
新兵報到
前置作業
減少

例例外⼯工作
Infra

標準化
設計 Playbooks

整體架構
完成 3rd

Playbooks
串串 Playbooks 和 CI

打造 CD stage
招募 2nd

Ansibler
重寫 2nd.

Playbooks
2019.092017.03
幫其他團隊

寫 Playbooks⽤用 Docker

重構 Unit Test
⽤用 Docker

重構 Unit Test
招募 3rd

Ansibler
6. 如果可以重來來
已有 CI 和

Build stage
即早交付,即早發揮價值
1. Ansible playbooks:
• 1st → 2nd:8 個⽉月。
• 2nd → 3rd:? 個⽉月。
2. Unit Test
• VM → Docker:24 個⽉月。
34
技術問題
vs.
策略略問題
35
Ansible Auto Craft Retro
35
3. 得到什什麼技藝
起⼿手式
1. 最明確的部署流程。
2. 最常重複的操作。
3. 最易易出錯的地⽅方。
36
鬆綁瓶頸點
37
組態設定⼯工具 = 槓桿解
AnsibleSaltStack ChefPuppet
[ chusiang@AgileTourKaohsiung ~ ] $ cat .profile

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

# Email: chusiang@drx.tw

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

# Date: 2018-12-15

# Reference: http://s.drx.tw/dpse
__________________________
< 系統⼯工程師的 DevOps 實踐之道 >
--------------------------
業務專案
待辦量量
IT 內部專案
⼯工作量量
Ansible

組態
新需求
⼿手動

組態
捨本逐末
R1

新⼯工作
B2

⼿手動
協作⼒力力
39
B3

Playbooks
R4

協作⼒力力降低
–《第五項修練》
「將注意⼒力力集中在根本解。但如果問題急迫,
由於根本解的效果受時間滯延影響,在進⾏行行
根本解的過程中,可暫時使⽤用症狀狀解來來
換取時間。」
40
捨本逐末
Ansible 組態
⼿手動組態
業務專案
待辦量量
IT 內部專案
⼯工作量量
計畫外⼯工作
發⽣生率
變更更⼯工作

品質
新需求
⼿手動

組態
預演

變更更成本
飲鴆⽌止渴 3
R1

新⼯工作
B2

⼿手動
R3

害怕變更更
Ansible

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

品質
新需求
⼿手動

組態
⼈人為

失誤率
飲鴆⽌止渴 2
R1

新⼯工作
B2

⼿手動
R3

重蹈覆徹
從過往

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

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

失誤率
飲鴆⽌止渴 1
R1

新⼯工作
B2

加班
R3

品質下降
43
–《第五項修練》
「眼光凝聚在長期焦點。如果可能的話,完全摒
除那種短期對策。除非短期對策只是⽤用來來換取時
間,以尋求更更妥善的長期解決⽅方案。」
44
飲鴆⽌止渴
Ansible 組態
⼿手動組態、加班
業務專案
待辦量量
IT 內部專案
⼯工作量量
Ansible

組態
新需求
成長上限
R1

新⼯工作
協作⼒力力
45
B2

Playbooks
R3

共享組態
⼿手動組態
加班時數
⼯工作完成量量
–《第五項修練》
「不要去推動『增強 -- 成長 -- 環路路』,應
該要除去 (或減弱) 限制的來來源。」
46
成長上限
Ansible 組態 ーー 協作⼒力力
⼿手動組態、加班、
⼯工作完成量量
為什什麼⾃自動化
1. 寫出漂亮⼜又可⽤用的 Ansible Playbooks。
2. 提⾼高團隊產能。
3. 降低計畫外⼯工作發⽣生率。
47
– Chu-Siang Lai
「⾃自動化無法直接減少計畫外⼯工作,我們應
時常於安全環境預演變更更,減少浪費。」
48
49
Ansible Auto Craft Retro
49
4. 回顧
50
開始⽤用 Ansible
就該像指揮官

思考整體部署
51
新兵報到
前置作業
減少

例例外⼯工作
Infra

標準化
設計 Playbooks

整體架構
完成 1st

Playbooks
串串 Playbooks 和 CI

打造 CD stage
招募 2nd

Ansibler
重寫 2nd.

Playbooks
2019.092017.03
幫其他團隊

寫 Playbooks
加入 Unit Test
⽤用 Docker

重構 Unit Test
招募 3rd

Ansibler
⾃自動化歷程圖
已有 CI 和

Build stage
52
組態設定⼯工具 = 槓桿解
AnsibleSaltStack ChefPuppet
53
業務專案
待辦量量
IT 內部專案
⼯工作量量
計劃外⼯工作
發⽣生頻率
變更更⼯工作

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

失誤率
⼿手動

組態
協作⼒力力
Pair

System 

Admin]
記錄

變更更
從過往

學習
Ansible
組態
預演組態

變更更成本
]
學習架

構流程
撰寫 Ansible

Playbooks
Zabbix

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

架構牆
⼯工作完成量量
CLD
54
# — ⾃自我成長 ——————————
# — DevOps ——————————
「只要你有耐⼼心,先專注在流程改善上,
隨後⼀一段時間,品質會上升,成本也會上升;
但不久之後,你便便發覺有些成本快速下降;
數年年之內,成本⼤大幅下滑,兩兩者兼得。」
55
– 彼得.聖吉,《第五項修練》
Q & A
56http://bit.ly/32v3G1C
【萍⽔水相逢.tw @ 彩虹市集】
 10/26 (六) 12:00 ~ 18:00 臺灣同志⼤大遊⾏行行 (台北市府前)
https://t.me/devopstw
https://www.facebook.com/groups/DevOpsTaiwan/
https://devopstw.club/
DevOps Taiwan
58
Ansible Taiwan
https://t.me/ansible_tw
https://github.com/ansible-tw
http://ansible.tw
59
https://www.facebook.com/groups/agile.kaohsiung/
https://www.facebook.com/AgileTourHsinchu/
https://www.facebook.com/groups/AgileNeihu/
http://fb.me/AgileCommunity.tw
60
61
[ chusiang@DevOpsDaysTaipei ~ ] $ cat .profile

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

# Email: chusiang@drx.tw
# Blog: https://note.drx.tw
# Date: 2019-10-17
END

More Related Content

PDF
My DevOps Tour 2.3
PDF
My DevOps Tour 0.1
PDF
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
PDF
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
PDF
跟著 geerlingguy 大神
一起測試 Ansible Roles
PDF
GitLab Auto DevOps 大解析—CI/CD 原來可以這樣做
PPTX
用Octopus deploy做自動部署 - 快速上手
PDF
iThome Serverless All-Star 開場
My DevOps Tour 2.3
My DevOps Tour 0.1
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
跟著 geerlingguy 大神
一起測試 Ansible Roles
GitLab Auto DevOps 大解析—CI/CD 原來可以這樣做
用Octopus deploy做自動部署 - 快速上手
iThome Serverless All-Star 開場

What's hot (20)

PDF
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
PDF
困境與轉型:一個小型開發團隊的 DevOps 學習之旅
PPTX
Agile / Scrum
PDF
Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2
PDF
01 DevOps and Azure DevOps overview
PDF
CICD Workshop 20180922
PDF
以自動化先行的 DevOps 實踐經驗分享
PPTX
認識 Docker
PDF
Continuous Delivery - 敏捷開發的最後一哩路
PDF
從 DevOps 到 ChatOps:War Room、Bots 與 Automation
PPTX
20170905 dev ops in hiiir
PDF
SITCON 2016 ─ Modern Front-End Workflow with Webpack
PPTX
Go 語言基礎簡介
PDF
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
PDF
容器式軟體開發介紹
PDF
Effective DevOps (Agile Tour HsinChu 2017)
PDF
twMVC#23 | 快速上手 Azure Functions
PPTX
電子內容管理 使用Git 與 github 1
PDF
運用 Docker 整合 Laravel 提升團隊開發效率
PDF
Dev ops 簡介
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
困境與轉型:一個小型開發團隊的 DevOps 學習之旅
Agile / Scrum
Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2
01 DevOps and Azure DevOps overview
CICD Workshop 20180922
以自動化先行的 DevOps 實踐經驗分享
認識 Docker
Continuous Delivery - 敏捷開發的最後一哩路
從 DevOps 到 ChatOps:War Room、Bots 與 Automation
20170905 dev ops in hiiir
SITCON 2016 ─ Modern Front-End Workflow with Webpack
Go 語言基礎簡介
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
容器式軟體開發介紹
Effective DevOps (Agile Tour HsinChu 2017)
twMVC#23 | 快速上手 Azure Functions
電子內容管理 使用Git 與 github 1
運用 Docker 整合 Laravel 提升團隊開發效率
Dev ops 簡介
Ad

Similar to Is it really easy for companies to import Ansible automation (20)

PDF
Continuous Delivery with Ansible x GitLab CI
PDF
Continuous Delivery with Ansible x GitLab CI (2e)
PDF
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
PDF
現代 IT 人一定要知道的 Ansible 自動化組態技巧
PDF
Automate with Ansible basic (3/e)
PDF
Continuous Delivery Workshop with Ansible x GitLab CI
PPTX
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
PDF
Automate with Ansible basic (2/e)
PDF
過來人經驗 - 在企業中推行 DevOps 前該具備的認知與工具箱
PDF
[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例
PPTX
Ansible 101
PPTX
從無到有建立一個敏捷開發團隊的經驗甘苦談
PDF
Testing in Production, Deploy on Fridays
PDF
My DevOps Tour 1.0
PDF
How to integrate GitLab CICD into B2B service
PPTX
從研發團隊管理及產品發展的角度看 DevOps
PDF
重新想像:如何做技術選型決策 / Rethinking : Technical Decision
PDF
從敏捷開始的測試 從測試開始的自動化
PDF
Continuous integration
PPTX
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
Continuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CI (2e)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
現代 IT 人一定要知道的 Ansible 自動化組態技巧
Automate with Ansible basic (3/e)
Continuous Delivery Workshop with Ansible x GitLab CI
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
Automate with Ansible basic (2/e)
過來人經驗 - 在企業中推行 DevOps 前該具備的認知與工具箱
[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例
Ansible 101
從無到有建立一個敏捷開發團隊的經驗甘苦談
Testing in Production, Deploy on Fridays
My DevOps Tour 1.0
How to integrate GitLab CICD into B2B service
從研發團隊管理及產品發展的角度看 DevOps
重新想像:如何做技術選型決策 / Rethinking : Technical Decision
從敏捷開始的測試 從測試開始的自動化
Continuous integration
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
Ad

More from Chu-Siang Lai (15)

PDF
The System Engineer in Agile Team
PDF
See the Agile from Mindset
PDF
Writing skills for Information Technology
PDF
Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)
PDF
Automate with Ansible basic (2/e, English)
PDF
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
PDF
前端工程師一定要知道的 Docker 虛擬化容器技巧
PDF
Git and Github basic with SourceTree
PDF
helloTux 2012
PDF
Unity & Googlizer
PDF
使用 Multi-sites 技術快速建置多 Drupal 網站
PDF
歡迎來到 Ubuntu 9.10 Release Party (台中)
PDF
無痛入門 Chromecast
ODP
Ubuntu 藍星侵略計劃
PDF
Intro of Network, WiFi on Ubuntu
The System Engineer in Agile Team
See the Agile from Mindset
Writing skills for Information Technology
Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)
Automate with Ansible basic (2/e, English)
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
前端工程師一定要知道的 Docker 虛擬化容器技巧
Git and Github basic with SourceTree
helloTux 2012
Unity & Googlizer
使用 Multi-sites 技術快速建置多 Drupal 網站
歡迎來到 Ubuntu 9.10 Release Party (台中)
無痛入門 Chromecast
Ubuntu 藍星侵略計劃
Intro of Network, WiFi on Ubuntu

Is it really easy for companies to import Ansible automation