SlideShare uma empresa Scribd logo
1 de 92
Baixar para ler offline
[ chusiang@AgileTourKH ~ ] $ cat .profile

# Author: 凍仁翔

# Email: chusiang@drx.tw

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

# Date: 2017-12-09
-` `-/+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+/.`
____________________
/ 從⼀一個⼈人的 DevOps 
 到⼀一個 DevOps 的團隊 /
--------------------
2
關於我
• 凍仁翔 (@chusiang_lai)。
• DevOps ⿊黑⼿手技師。
• DevOps Taiwan 志⼯工。
• 5 年年 IT 維運經驗。
3
4
凍仁的 DevOps
成長⽇日記╳5
凍仁與 DevOps
team 的成長⽇日記
△6
從⼀一個⼈人的 DevOps
到⼀一個 DevOps 的團隊
7
○
8
Join the DevOps team ?
or build one !
Ready?
要起跑了了!
9
Ready?
要起跑了了!
10
2
Ready?
要起跑了了!
11
1
Outline
1. DevOps 是什什麼?
12
Outline
1. DevOps 是什什麼?
2. ⼀一個⼈人的 DevOps?
13
Outline
1. DevOps 是什什麼?
2. ⼀一個⼈人的 DevOps?
3. ⼀一個 DevOps 的團隊?
14
Ⅰ. DevOps 是什什麼?
15
狹義的 DevOps 是什什麼?
16
※ 本圖取⾃自許峰於 DevOpsDays Taipei 2017 分享的 DevOps in a value stream - https://youtu.be/qWbcujKw57c?t=9m39s
Infra
Dev Ops
ITSM
DevOps
Agile
Agile 是什什麼?
17
Infra
Dev Ops
ITSM
DevOps
Invest
Req
※ 本圖取⾃自許峰於 DevOpsDays Taipei 2017 分享的 DevOps in a value stream - https://youtu.be/qWbcujKw57c?t=9m39s
廣義的 DevOps 是什什麼?
18
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 是什什麼?
19
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
Ⅱ. ⼀一個⼈人的 DevOps?
20
DevOps Tools
21
Version

Control
Configuration
Management
Continuous
Integration
Measurement Log
Git, GitHub
GitLab
Ansible
Chef
GitLab CI
Jenkins CI
Zabbix Zabbix
Provisioning
Vagrant, Docker
※ Ref: ⾺馬上能⽤用的 DevOps ⼯工具包 | iThome - http://www.ithome.com.tw/news/96864
22
2008
GNU/Linux
※ 本圖取⾃自 Future Proof Your SysAdmin Career - https://go.pardot.com/l/6342/2017-07-17/3vwshv
Linux 系統⼯工程師
24
Shell
Script
20112008
Linux
25
《Git Magic 》
Shell Script
2011 2012
Git
2008
Linux
26
Shell Script
2011 2012
Git
2008
Linux
2013
Make
27
《CI 關鍵技術 - 使⽤用 Jenkins 》
Shell Script
2011 2012
Git
2014
Jenkins CI
2008
Linux
2013
Make
28
《AWS 雲端企業實戰聖經》

《Docker 入⾨門與實戰》
Shell Script
2011 2012
Git
2014
Jenkins
2015
AWS,
Docker,
Zabbix
2008
Linux
2013
Make
29
https://twitter.com/william_yeh/status/678524911351029760
30
《Apprenticeship Patterns》

《Ansible Up & Running》

《The Phoenix Project》
Shell Script
2011 2012
Git
2014
Jenkins
2015
AWS,
Docker,
Zabbix
2016
Ansible,
Vagrant
2008
Linux
2013
Make
– 陳昭穎.《砍掉重練》作者
「不平凡的唯⼀一⽅方式:搭上火箭!」
31
32
凍仁的⽣生命歷程圖
33
Shell Script
2011 2012
Git
2014
Jenkins
2015
AWS,
Docker,
Zabbix
2016
Ansible,
Vagrant
2017
GitLab,
DevOps,
Agile,
Scrum
2008
Linux
2013
Make
34
《⽬目標》

《砍掉重練》

《Continuous Delivery》

《SCRUM:⽤用⼀一半的時間做兩兩倍的事》

《軟體開發本質論》《鳳凰項⽬目沙盤特別版》

《克服團隊領導的 5 ⼤大障礙》《敏捷與 Scrum 軟體開發速成》
Shell Script
2011 2012
Git
2014
Jenkins
2015
AWS,
Docker,
Zabbix
2016
Ansible,
Vagrant
2017
GitLab,
DevOps,
Agile,
Scrum
2008
Linux
2013
Make
35
《⽬目標》

《砍掉重練》

《Continuous Delivery》

《SCRUM:⽤用⼀一半的時間做兩兩倍的事》

《軟體開發本質論》《鳳凰項⽬目沙盤特別版》

《克服團隊領導的 5 ⼤大障礙》《敏捷與 Scrum 軟體開發速成》
Shell Script
2011 2012
Git
2014
Jenkins
2015
AWS,
Docker,
Zabbix
2016
Ansible,
Vagrant
2017
GitLab,
DevOps,
Agile,
Scrum
2008
Linux
2013
Make
Choose one ?
36
The Phoenix Poject Workshop
Ⅲ. ⼀一個 DevOps 的團隊?
37
38
Scrum
Team
39
Product Owner♂
40
Scrum Master♂
41
Development Team
6 = ♂ × 5 + ♀
42
※ 本圖出⾃自新世紀 GPX サイバーフォーミュラ ZERO。
Two week sprint.
Stand-up Meeting.
(time < 30)
46
※ 本圖取⾃自 http://www.thebluediamondgallery.com/wooden-tile/p/priority.html
⽤用 Kanban 討論⼯工作順序
47
Doing
Write
Playbook
Depend DoneTODo
Release
Master
Provision
ldap
Member
Jonny
Terry
C.W.
⽤用 Kanban 討論⼯工作順序
48
Doing
Release
Master
Depend
Provision
ldap
Done
Write
Playbook
TODo Member
Jonny
Terry
C.W.
⽤用 Kanban 討論⼯工作順序
49
Doing
Release
Master
Depend Done
Write
Playbook
TODo
Provision
ldap
Member
Jonny
Terry
C.W.
發掘潛在的例例外⼯工作
當變更更⼯工作沒做好時,
就成了了例例外⼯工作!
《The Phoenix Project》
Amazon - https://goo.gl/visckK
50
– Chu-Siang Lai
「⼀一個好的站立會議,可以避免救不完火的⼀一天!」
51
https://twitter.com/chusiang_lai/status/919977398686294016
Weekly Review
+ Release.
53
Release Master !
Change Management
① Application Upgrade:
• htdocs.
• api.
② Ansible Playbooks:
• Modify group_vars.
• Modify config template.
54
③ Database:
• PostgreSQL Clusters.
④ Change Architecture:
• Add haproxy.
⑤ Verify.
Retrospective.
(Every two week)
No Laptop !
╳56
57
✪Who is the star ?
58
Kaizen
Level Up !
看板管理理
Kanban 來來⾃自⽇日語「看板」,是豐⽥田⽣生產模式中的重要概念念。
59
Doing DependMember Done CloseTODo
60
≠ DocumentIssue Tracking
61
<
Doing DoneTODo
KanbanIssue Tracking
62
and
Doing DoneTODo
KanbanPost-it
Change
admin
password
63
link Issue TrackingPost-it
Change
admin
password
# 1024
64
Communication !
65
╳No write a book.
66
Write document
with Markdown.
Q & A
嚴禁拍打餵食
67
68
⼀一路路上遇過哪些阻礙?
A. 怎麼開始⾃自動化?
69
A1. 怎麼請 RD 寫⽂文件?

> GitBook × GitLab CI × Markdown
70
A2. 怎麼導入組態管理理⼯工具?
> Ansible
71
A3. 怎麼導入持續交付?
> Ansible × GitLab CI
72
______________________________
/ DevOps ⼈人⼀一定要知道的持續交付技巧 
 - Ansible & GitLab CI 實戰演練 (3rd)/
------------------------------

 ^__^
 (oo)_______
(__) )/
||----w |
|| ||
[ chusiang@nutc ~ ] $ cat .profile
# Author: 凍仁翔 / chusiang@drx.tw
# Blog: http://note.drx.tw
# Modified: 2017-11-25 11:25
※ Continuous Delivery Workshop - https://speakerdeck.com/chusiang/continuous-delivery-workshop-with-ansible-x-gitlab-ci-3rd
B. 怎麼才不會變成布倫倫特?
74
B1. ⾝身為⼀一位完美主義的⼯工程師
,我想要什什麼都⾃自⼰己處理理,
這樣就可以省下溝通的時間成本。
75
╳
B2. 怎麼輪輪流操作
各個⼯工具、流程?
76
C. 怎麼凝聚團隊感情?
77
⼀一起吃午餐、下午茶茶。
78
79
Eat outside after
sprint review.
D. 怎麼讓其他 team
也 DevOps?
80
81
82
「世界,是沒法⼀一天就所改變,
我們必需要很有愛,努⼒力力並
堅持才有機會改變!」
– Chu-Siang Lai
我今天分享了了什什麼?
83
DevOps 價值流
84
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
85
今天提的 DevOps 是什什麼?
• DevOps in a value stream by 許峰

- https://youtu.be/qWbcujKw57c?t=9m39s
• Effective DevOps by Chen Cheng-Wei

- https://goo.gl/x2iBnw
• 敏捷原理理與團隊塑造 by William Yeh

- http://get.soft-arch.net/agile-workshop/
• 《鳳凰項⽬目》沙盤⼯工作坊 by 許峰

- https://devopsdays.tw/workshop_phoenix.html
• Scrum 敏捷軟體開發⽅方法⼯工作坊 by David Ko

- https://goo.gl/aXmvam
參參考⽂文獻
86
圖片來來源
• Text-Image - http://www.text-image.com/
• unicorn-circle by trps | Flickr

- https://www.flickr.com/photos/trp/3508516524
• Scrum Diagram by Jordan Job

- https://jordanjob.me/2015/12/07/scrum-diagram/
• Yoda with custom cape | Flickr

- https://www.flickr.com/photos/isherwoodchris/6955395580
• Priority | Wooden Tiles

- http://www.thebluediamondgallery.com/wooden-tile/p/priority.html
• Wall, Brick, Stone, Background | Pixabay

- https://pixabay.com/p-1957768/
87
https://www.facebook.com/groups/agile.kaohsiung/
https://www.facebook.com/AgileTourHsinchu/
https://www.facebook.com/groups/AgileNeihu/
88
http://fb.me/AgileCommunity.tw
https://t.me/devopstw
https://www.facebook.com/groups/DevOpsTaiwan/
https://devopstw.club/
DevOps Taiwan
89
Ansible Taiwan
https://t.me/ansible_tw
https://github.com/ansible-tw
http://ansible.tw
90
http://萍⽔水相逢.tw
91
92
END

Mais conteúdo relacionado

Mais de Chu-Siang Lai

The System Engineer in Agile Team
The System Engineer in Agile TeamThe System Engineer in Agile Team
The System Engineer in Agile TeamChu-Siang Lai
 
Is it really easy for companies to import Ansible automation
Is it really easy for companies to import Ansible automationIs it really easy for companies to import Ansible automation
Is it really easy for companies to import Ansible automationChu-Siang Lai
 
See the Agile from Mindset
See the Agile from MindsetSee the Agile from Mindset
See the Agile from MindsetChu-Siang Lai
 
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
 Continuous Delivery Workshop with Ansible x GitLab CI (5th) Continuous Delivery Workshop with Ansible x GitLab CI (5th)
Continuous Delivery Workshop with Ansible x GitLab CI (5th)Chu-Siang Lai
 
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)Chu-Siang Lai
 
Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)Chu-Siang Lai
 
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)Chu-Siang Lai
 
Continuous Delivery Workshop with Ansible x GitLab CI
Continuous Delivery Workshop with Ansible x GitLab CIContinuous Delivery Workshop with Ansible x GitLab CI
Continuous Delivery Workshop with Ansible x GitLab CIChu-Siang Lai
 
Continuous Delivery with Ansible x GitLab CI (2e)
Continuous Delivery with Ansible x GitLab CI (2e)Continuous Delivery with Ansible x GitLab CI (2e)
Continuous Delivery with Ansible x GitLab CI (2e)Chu-Siang Lai
 
Continuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CIContinuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CIChu-Siang Lai
 
Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)Chu-Siang Lai
 
Automate with Ansible basic (2/e, English)
Automate with Ansible basic (2/e, English)Automate with Ansible basic (2/e, English)
Automate with Ansible basic (2/e, English)Chu-Siang Lai
 
Automate with Ansible basic (2/e)
Automate with Ansible basic (2/e)Automate with Ansible basic (2/e)
Automate with Ansible basic (2/e)Chu-Siang Lai
 
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & WindowsChu-Siang Lai
 
前端工程師一定要知道的 Docker 虛擬化容器技巧
前端工程師一定要知道的 Docker 虛擬化容器技巧前端工程師一定要知道的 Docker 虛擬化容器技巧
前端工程師一定要知道的 Docker 虛擬化容器技巧Chu-Siang Lai
 
現代 IT 人一定要知道的 Ansible 自動化組態技巧
現代 IT 人一定要知道的 Ansible 自動化組態技巧現代 IT 人一定要知道的 Ansible 自動化組態技巧
現代 IT 人一定要知道的 Ansible 自動化組態技巧Chu-Siang Lai
 
Git and Github basic with SourceTree
Git and Github basic with SourceTreeGit and Github basic with SourceTree
Git and Github basic with SourceTreeChu-Siang Lai
 

Mais de Chu-Siang Lai (20)

My DevOps Tour 2.3
My DevOps Tour 2.3My DevOps Tour 2.3
My DevOps Tour 2.3
 
The System Engineer in Agile Team
The System Engineer in Agile TeamThe System Engineer in Agile Team
The System Engineer in Agile Team
 
Is it really easy for companies to import Ansible automation
Is it really easy for companies to import Ansible automationIs it really easy for companies to import Ansible automation
Is it really easy for companies to import Ansible automation
 
My DevOps Tour 0.1
My DevOps Tour 0.1My DevOps Tour 0.1
My DevOps Tour 0.1
 
See the Agile from Mindset
See the Agile from MindsetSee the Agile from Mindset
See the Agile from Mindset
 
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
 Continuous Delivery Workshop with Ansible x GitLab CI (5th) Continuous Delivery Workshop with Ansible x GitLab CI (5th)
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
 
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
 
Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)
 
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd)
 
Continuous Delivery Workshop with Ansible x GitLab CI
Continuous Delivery Workshop with Ansible x GitLab CIContinuous Delivery Workshop with Ansible x GitLab CI
Continuous Delivery Workshop with Ansible x GitLab CI
 
Continuous Delivery with Ansible x GitLab CI (2e)
Continuous Delivery with Ansible x GitLab CI (2e)Continuous Delivery with Ansible x GitLab CI (2e)
Continuous Delivery with Ansible x GitLab CI (2e)
 
Continuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CIContinuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CI
 
Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)
 
Automate with Ansible basic (2/e, English)
Automate with Ansible basic (2/e, English)Automate with Ansible basic (2/e, English)
Automate with Ansible basic (2/e, English)
 
Automate with Ansible basic (2/e)
Automate with Ansible basic (2/e)Automate with Ansible basic (2/e)
Automate with Ansible basic (2/e)
 
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
 
前端工程師一定要知道的 Docker 虛擬化容器技巧
前端工程師一定要知道的 Docker 虛擬化容器技巧前端工程師一定要知道的 Docker 虛擬化容器技巧
前端工程師一定要知道的 Docker 虛擬化容器技巧
 
現代 IT 人一定要知道的 Ansible 自動化組態技巧
現代 IT 人一定要知道的 Ansible 自動化組態技巧現代 IT 人一定要知道的 Ansible 自動化組態技巧
現代 IT 人一定要知道的 Ansible 自動化組態技巧
 
Git and Github basic with SourceTree
Git and Github basic with SourceTreeGit and Github basic with SourceTree
Git and Github basic with SourceTree
 
helloTux 2012
helloTux 2012helloTux 2012
helloTux 2012
 

My DevOps Tour 1.0