Upgrade to Pro — share decks privately, control downloads, hide ads and more …

My DevOps Tour 1.0

Chu-Siang Lai
December 09, 2017

My DevOps Tour 1.0

# 從一個人的 DevOps,到一個 DevOps 的團隊
 
這是一場關於凍仁和團隊的 DevOps 學習旅程。也是一位 DevOps 黑手技師,於團隊實踐 DevOps 的心得分享。
 
每位伙伴的 DevOps 起手式都有所不同,而在每個階段看到的眼界,和使用的手法也會不同。
 
希望透過這個小小的案例分享,可以讓各位了解到,正在使用 Scrum 、Kanban 的 DevOps team,是長什麼樣子的。
 
* 活動網址:Agile Tour Kaohsiung 2017 - https://www.accupass.com/event/1709111042501613360068

Chu-Siang Lai

December 09, 2017
Tweet

More Decks by Chu-Siang Lai

Other Decks in Technology

Transcript

  1. [ [email protected] ~ ] $ cat .profile

    # Author: 凍仁翔

    # Email: [email protected]

    # 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 的團隊 /
    --------------------
    \
    \

    View Slide

  2. 2

    View Slide

  3. 關於我
    • 凍仁翔 (@chusiang_lai)。
    • DevOps ⿊黑⼿手技師。
    • DevOps Taiwan 志⼯工。
    • 5 年年 IT 維運經驗。
    3

    View Slide

  4. 4

    View Slide

  5. 凍仁的 DevOps
    成長⽇日記

    5

    View Slide

  6. 凍仁與 DevOps
    team 的成長⽇日記

    6

    View Slide

  7. 從⼀一個⼈人的 DevOps
    到⼀一個 DevOps 的團隊
    7

    View Slide

  8. 8
    Join the DevOps team ?
    or build one !

    View Slide

  9. Ready?
    要起跑了了!
    9

    View Slide

  10. Ready?
    要起跑了了!
    10
    2

    View Slide

  11. Ready?
    要起跑了了!
    11
    1

    View Slide

  12. Outline
    1. DevOps 是什什麼?
    12

    View Slide

  13. Outline
    1. DevOps 是什什麼?
    2. ⼀一個⼈人的 DevOps?
    13

    View Slide

  14. Outline
    1. DevOps 是什什麼?
    2. ⼀一個⼈人的 DevOps?
    3. ⼀一個 DevOps 的團隊?
    14

    View Slide

  15. Ⅰ. DevOps 是什什麼?
    15

    View Slide

  16. 狹義的 DevOps 是什什麼?
    16
    ※ 本圖取⾃自許峰於 DevOpsDays Taipei 2017 分享的 DevOps in a value stream - https://youtu.be/qWbcujKw57c?t=9m39s
    Infra
    Dev Ops
    ITSM
    DevOps

    View Slide

  17. Agile
    Agile 是什什麼?
    17
    Infra
    Dev Ops
    ITSM
    DevOps
    Invest
    Req
    ※ 本圖取⾃自許峰於 DevOpsDays Taipei 2017 分享的 DevOps in a value stream - https://youtu.be/qWbcujKw57c?t=9m39s

    View Slide

  18. 廣義的 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

    View Slide

  19. 廣義的 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

    View Slide

  20. Ⅱ. ⼀一個⼈人的 DevOps?
    20

    View Slide

  21. 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

    View Slide

  22. 22
    2008
    GNU/Linux

    View Slide

  23. ※ 本圖取⾃自 Future Proof Your SysAdmin Career - https://go.pardot.com/l/6342/2017-07-17/3vwshv
    Linux 系統⼯工程師

    View Slide

  24. 24
    Shell
    Script
    2011
    2008
    Linux

    View Slide

  25. 25
    《Git Magic 》
    Shell Script
    2011 2012
    Git
    2008
    Linux

    View Slide

  26. 26
    Shell Script
    2011 2012
    Git
    2008
    Linux
    2013
    Make

    View Slide

  27. 27
    《CI 關鍵技術 - 使⽤用 Jenkins 》
    Shell Script
    2011 2012
    Git
    2014
    Jenkins CI
    2008
    Linux
    2013
    Make

    View Slide

  28. 28
    《AWS 雲端企業實戰聖經》

    《Docker 入⾨門與實戰》
    Shell Script
    2011 2012
    Git
    2014
    Jenkins
    2015
    AWS,
    Docker,
    Zabbix
    2008
    Linux
    2013
    Make

    View Slide

  29. 29
    https://twitter.com/william_yeh/status/678524911351029760

    View Slide

  30. 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

    View Slide

  31. – 陳昭穎.《砍掉重練》作者
    「不平凡的唯⼀一⽅方式:搭上火箭!」
    31

    View Slide

  32. 32
    凍仁的⽣生命歷程圖

    View Slide

  33. 33
    Shell Script
    2011 2012
    Git
    2014
    Jenkins
    2015
    AWS,
    Docker,
    Zabbix
    2016
    Ansible,
    Vagrant
    2017
    GitLab,
    DevOps,
    Agile,
    Scrum
    2008
    Linux
    2013
    Make

    View Slide

  34. 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

    View Slide

  35. 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 ?

    View Slide

  36. 36
    The Phoenix Poject Workshop

    View Slide

  37. Ⅲ. ⼀一個 DevOps 的團隊?
    37

    View Slide

  38. 38
    Scrum
    Team

    View Slide

  39. 39
    Product Owner♂

    View Slide

  40. 40
    Scrum Master♂

    View Slide

  41. 41
    Development Team
    6 = ♂ × 5 + ♀

    View Slide

  42. 42
    ※ 本圖出⾃自新世紀 GPX サイバーフォーミュラ ZERO。

    View Slide

  43. View Slide

  44. Two week sprint.

    View Slide

  45. Stand-up Meeting.
    (time < 30)

    View Slide

  46. 46
    ※ 本圖取⾃自 http://www.thebluediamondgallery.com/wooden-tile/p/priority.html

    View Slide

  47. ⽤用 Kanban 討論⼯工作順序
    47
    Doing
    Write
    Playbook
    Depend Done
    TODo
    Release
    Master
    Provision
    ldap
    Member
    Jonny
    Terry
    C.W.

    View Slide

  48. ⽤用 Kanban 討論⼯工作順序
    48
    Doing
    Release
    Master
    Depend
    Provision
    ldap
    Done
    Write
    Playbook
    TODo Member
    Jonny
    Terry
    C.W.

    View Slide

  49. ⽤用 Kanban 討論⼯工作順序
    49
    Doing
    Release
    Master
    Depend Done
    Write
    Playbook
    TODo
    Provision
    ldap
    Member
    Jonny
    Terry
    C.W.

    View Slide

  50. 發掘潛在的例例外⼯工作
    當變更更⼯工作沒做好時,
    就成了了例例外⼯工作!
    《The Phoenix Project》
    Amazon - https://goo.gl/visckK
    50

    View Slide

  51. – Chu-Siang Lai
    「⼀一個好的站立會議,可以避免救不完火的⼀一天!」
    51
    https://twitter.com/chusiang_lai/status/919977398686294016

    View Slide

  52. Weekly Review
    + Release.

    View Slide

  53. 53
    Release Master !

    View Slide

  54. Change Management
    ① Application Upgrade:
    • htdocs.
    • api.
    ② Ansible Playbooks:
    • Modify group_vars.
    • Modify config template.
    54
    ③ Database:
    • PostgreSQL Clusters.
    ④ Change Architecture:
    • Add haproxy.
    ⑤ Verify.

    View Slide

  55. Retrospective.
    (Every two week)

    View Slide

  56. No Laptop !

    56

    View Slide

  57. 57

    Who is the star ?

    View Slide

  58. 58
    Kaizen
    Level Up !

    View Slide

  59. 看板管理理
    Kanban 來來⾃自⽇日語「看板」,是豐⽥田⽣生產模式中的重要概念念。
    59
    Doing Depend
    Member Done Close
    TODo

    View Slide

  60. 60
    ≠ Document
    Issue Tracking

    View Slide

  61. 61
    <
    Doing Done
    TODo
    Kanban
    Issue Tracking

    View Slide

  62. 62
    and
    Doing Done
    TODo
    Kanban
    Post-it
    Change
    admin
    password

    View Slide

  63. 63
    link Issue Tracking
    Post-it
    Change
    admin
    password
    # 1024

    View Slide

  64. 64
    Communication !

    View Slide

  65. 65

    No write a book.

    View Slide

  66. 66
    Write document
    with Markdown.

    View Slide

  67. 67
    ⼀一路路上遇過哪些阻礙?

    View Slide

  68. A. 怎麼開始⾃自動化?
    68

    View Slide

  69. A1. 怎麼請 RD 寫⽂文件?

    > GitBook × GitLab CI × Markdown
    69

    View Slide

  70. A2. 怎麼導入組態管理理⼯工具?
    > Ansible
    70

    View Slide

  71. A3. 怎麼導入持續交付?
    > Ansible × GitLab CI
    71

    View Slide

  72. ______________________________
    / DevOps ⼈人⼀一定要知道的持續交付技巧 \
    \ - Ansible & GitLab CI 實戰演練 (3rd)/
    ------------------------------
    \
    \ ^__^
    \ (oo)\_______
    (__)\ )\/\
    ||----w |
    || ||
    [ [email protected] ~ ] $ cat .profile
    # Author: 凍仁翔 / [email protected]
    # 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

    View Slide

  73. B. 怎麼才不會變成布倫倫特?
    73

    View Slide

  74. B1. ⾝身為⼀一位完美主義的⼯工程師
    ,我想要什什麼都⾃自⼰己處理理,
    這樣就可以省下溝通的時間成本。
    74

    View Slide

  75. B2. 怎麼輪輪流操作
    各個⼯工具、流程?
    75

    View Slide

  76. C. 怎麼凝聚團隊感情?
    76

    View Slide

  77. ⼀一起吃午餐、下午茶茶。
    77

    View Slide

  78. 78
    Eat outside after
    sprint review.

    View Slide

  79. D. 怎麼讓其他 team
    也 DevOps?
    79

    View Slide

  80. 80

    View Slide

  81. 81
    「世界,是沒法⼀一天就所改變,
    我們必需要很有愛,努⼒力力並
    堅持才有機會改變!」
    – Chu-Siang Lai

    View Slide

  82. 我今天分享了了什什麼?
    82

    View Slide

  83. DevOps 價值流
    83
    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

    View Slide

  84. 84
    今天提的 DevOps 是什什麼?

    View Slide

  85. Q & A
    嚴禁拍打餵食
    85

    View Slide

  86. • 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

    View Slide

  87. 圖片來來源
    • 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

    View Slide

  88. https://www.facebook.com/groups/agile.kaohsiung/
    https://www.facebook.com/AgileTourHsinchu/
    https://www.facebook.com/groups/AgileNeihu/
    88
    http:/
    /fb.me/AgileCommunity.tw

    View Slide

  89. https://t.me/devopstw
    https://www.facebook.com/groups/DevOpsTaiwan/
    https://devopstw.club/
    DevOps Taiwan
    89

    View Slide

  90. Ansible Taiwan
    https://t.me/ansible_tw
    https://github.com/ansible-tw
    http://ansible.tw
    90

    View Slide

  91. http://萍⽔水相逢.tw
    91

    View Slide

  92. 92
    END

    View Slide