Top Banner
Body Level One Body Level Two Body Level Three Body Level Four Body Level Five 圖⽚來源: https://unsplash.com/photos/1rZcfdsjoR4 Cheng Wei Chen @ Cloud & DataCenter EXPO 2016 iThome 困境與轉型一個小型開發團隊的DevOps學習之旅
102

困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Jan 12, 2017

Download

Technology

Chen Cheng-Wei
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Body Level One!Body Level Two!

Body Level Three!Body Level Four!

Body Level Five

圖⽚來源: https://unsplash.com/photos/1rZcfdsjoR4 Cheng Wei Chen @ Cloud & DataCenter EXPO 2016 iThome

困境與轉型: 一個小型開發團隊的DevOps學習之旅

Page 2: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

!Cheng Wei Chen 陳 正瑋

!DevOps Engineer @ TheQwan 得寬科技

chengweichen.com

Page 3: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

關於得寬科技網路服務・社群整合・行動應用

Page 4: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

說一個故事

Page 5: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅
Page 6: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅
Page 7: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

OOO 音樂教室XXX 美術教室

Page 8: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

OOO 音樂教室XXX 美術教室XXX 程式教室

Page 9: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅
Page 10: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

“the people who are crazy enough to think they can change the world are the ones who do.”

― Steve Jobs

We can change the world.

Page 11: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

“the people who are crazy enough to think they can change the world are the ones who do.”

― Steve Jobs

We need $ $ $ $$

!?

Page 12: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Project-001: Website

Date

Page 13: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Project-001: Website

Date

Project-002: iOS App

Page 14: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Project-001: Website

Project-003: Website

Date

Project-005: EDM

Project-002: iOS App

Project-004: iOS App

Page 15: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Project-001: Website

Project-003: Website

Date

Project-005: EDM怒

煩累

Project-002: iOS App

Project-004: iOS App

Page 16: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Date

煩累

規劃 環境 開發

規劃 環境 開發

規劃 環境 開發

規劃 環境 開發

規劃 開發

Page 17: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Date

煩累

規劃 環境 開發

規劃 環境 開發

規劃 環境 開發

規劃 環境 開發

規劃 開發

Page 18: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Date

煩累

規劃 環境 開發

規劃 環境 開發

規劃 環境 開發

規劃 環境 開發

規劃 開發

Page 19: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Page 20: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

We need more $$$

Page 21: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Date

Project-001: Website

Project-003: Website

Project-005: EDM

Project-002: iOS App

Project-004: iOS App

Page 22: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Date

Page 23: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Date

怒煩累

Page 24: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Date

怒煩累

Page 25: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Date

怒煩累

新技術? 新流程? 新方法?

Page 26: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

聽說此團隊, 想要做自己的產品?

Page 27: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

故事中的困境

Page 28: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

資源 有限

Page 29: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

資源 有限

資金

Page 30: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

資源 有限

資金

人力

Page 31: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

資源 有限

資金

人力

時間

Page 32: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

重複 勞動

Page 33: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

重複 勞動

規劃 環境 開發

規劃 環境 開發

規劃 環境 開發

規劃 環境 開發

規劃 開發

Page 34: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

重複 勞動

規劃 環境 開發

規劃 環境 開發

規劃 環境 開發

規劃 環境 開發

規劃 開發

Page 35: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

需求 差異

Page 36: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

需求 差異

規劃 環境 開發

規劃 環境 開發

規劃 環境 開發

規劃 環境 開發

規劃 開發

Page 37: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

專案 管理

Page 38: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

專案 管理

Date

Page 39: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

專案 管理

Page 40: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

技術 工具 方法

Page 41: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

技術 工具 方法

The Good Old Days

Page 42: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

技術 工具 方法

The Good Old Days

BRAND NEW DAY

Page 43: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

困境

Page 44: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

困境

生產力

Page 45: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

困境資訊

透明度

生產力

Page 46: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

困境資訊

透明度 文化

生產力

Page 47: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

DevOps

HERO

Page 48: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

DevOps

!?

Page 49: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

DevOps

HERO

今天不談 What is DevOps

Page 50: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

DevOps 三個關鍵

Page 51: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

DevOps 三個關鍵

資料來源: https://channel9.msdn.com/Events/DevOps-TW/2015-DevOps-Day/b01

Page 52: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

DevOps 三個關鍵

自動化

資料來源: https://channel9.msdn.com/Events/DevOps-TW/2015-DevOps-Day/b01

Page 53: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

DevOps 三個關鍵

透明度

自動化

資料來源: https://channel9.msdn.com/Events/DevOps-TW/2015-DevOps-Day/b01

Page 54: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

DevOps 三個關鍵

透明度

自動化

資料來源: https://channel9.msdn.com/Events/DevOps-TW/2015-DevOps-Day/b01

敏捷

Page 55: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

DevOps 三個關鍵

透明度 敏捷 精實

自動化

資料來源: https://channel9.msdn.com/Events/DevOps-TW/2015-DevOps-Day/b01

Page 56: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

敏捷 精實

資料來源: https://channel9.msdn.com/Events/DevOps-TW/2015-DevOps-Day/b01

Page 57: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

敏捷技巧

持續改善

看見問題

減少浪費

敏捷 精實

資料來源: https://channel9.msdn.com/Events/DevOps-TW/2015-DevOps-Day/b01

Page 58: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

透明度

資料來源: https://channel9.msdn.com/Events/DevOps-TW/2015-DevOps-Day/b01

Page 59: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

需求反饋

專案管理

維運狀況

程式碼技術

透明度

資料來源: https://channel9.msdn.com/Events/DevOps-TW/2015-DevOps-Day/b01

Page 60: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

自動化

資料來源: https://channel9.msdn.com/Events/DevOps-TW/2015-DevOps-Day/b01

Page 61: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

減少浪費

加快速度

減少人為疏失

有效運用人力

自動化

資料來源: https://channel9.msdn.com/Events/DevOps-TW/2015-DevOps-Day/b01

Page 62: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

DevOps 三個關鍵

透明度 敏捷 精實

自動化

資料來源: https://channel9.msdn.com/Events/DevOps-TW/2015-DevOps-Day/b01

Page 63: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

透明度 敏捷 精實

自動化

資料來源: https://channel9.msdn.com/Events/DevOps-TW/2015-DevOps-Day/b01

持續改善

Page 64: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

得寬科技 DevOps 之旅

Page 65: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

LEAN

Agile

Continuous Integration

Continuous Delivery

在談 DevOps 之前

Virtualization

Infrastructure as

Code

Page 66: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

DevOps

圖⽚來源: http://negativespace.co/photos/guitarist/ , http://finda.photo/image/11418 , http://nos.twnsnd.co/image/58523667245 , https://www.flickr.com/photos/nationalarchives/3047452735/ , http://nos.twnsnd.co/image/83208814778

Page 67: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

DevOps

圖⽚來源: http://negativespace.co/photos/guitarist/ , http://finda.photo/image/11418 , http://nos.twnsnd.co/image/58523667245 , https://www.flickr.com/photos/nationalarchives/3047452735/ , http://nos.twnsnd.co/image/83208814778

Sharing

LEANAutomationCulture

Measurement

Page 68: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

文化

Culture

圖⽚來源: http://negativespace.co/photos/guitarist/

Page 69: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

文化

Culture 鼓勵創新

容許錯誤

持續改善

圖⽚來源: http://negativespace.co/photos/guitarist/

Page 70: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Project Management

Workflow

Development Pipeline

重新檢視現況

Page 71: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

code build test release deploy operateplan

Pipeline

Page 72: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

operate

Plan

看板方法 KanBan

deployreleasetestbuildcodeplan

圖⽚來源: http://www.tenlong.com.tw/items/9865617021

Page 73: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

operate

Plan

影響地圖 Impact Mapping

deployreleasetestbuildcodeplan

圖⽚來源: https://www.impactmapping.org/book.html

Page 74: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

operate

Plan

影響地圖 Impact Mapping

deployreleasetestbuildcodeplan

圖⽚來源: https://www.impactmapping.org/book.html

Why -> Who -> How -> What

Page 75: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

operate

Plan

deployreleasetestbuildcodeplan

除了討論 Functional requirements

還要討論 Non-Functional requirements

Page 76: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

operate

Plan

deployreleasetestbuildcodeplan

Security

Backups

High Availability

Upgradeability

Configuration management

Monitoring

Logging

Metrics

Non-Functional requirements

Page 77: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

operateplan

Development Pipeline

deployreleasetestbuildcode

Page 78: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

operateplan

Development Pipeline

deployreleasetestbuildcode

Version Control Provisioning

Configuration Management

Page 79: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

operateplan

Development Pipeline

deployreleasetestbuildcode

透明度、⾃動化

Page 80: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

operateplan

Development Pipeline

deployreleasetestbuildcode

透明度、⾃動化

CIcommit dev stagingtest

testprod deploy

Page 81: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

code build test release deploy operateplan

Measurement !!Monitor Metrics Analytics

Measurement

Feedback

Page 82: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

code build test release deploy operateplan

Measurement !!Monitor Metrics Analytics

Measurement

Feedback

透明度

Page 83: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

code build test release deploy operateplan

Measurement !!Monitor Metrics Analytics

Measurement

Feedback

Page 84: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

code build test release deploy operateplan

Measurement !!Monitor Metrics Analytics

Measurement

Feedback

Page 85: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

工具選擇策略

Page 86: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

工具選擇策略

符合需求 學習成本

價格 售後服務 商業支援

生態系社群教學資源

設計邏輯

Page 87: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Before, After

Page 88: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Before, After

debug

create environment

deployment

又短又快

environment config

Page 89: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Before, After

debug

create environment

deployment

又短又快

environment confighour minute

Page 90: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Before, After

效率、品質

Issue Tracking

Source Control

Collaboration

Performance Availability

Page 91: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Before, After

效率、品質

Issue Tracking

Source Control

Collaboration

Performance Availability

developer customer

Happy, Happy

Page 92: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Summary

Page 93: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

困境資訊

透明度 文化

生產力

Page 94: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

DevOps 三重點

透明度 敏捷 精實

自動化

資料來源: https://channel9.msdn.com/Events/DevOps-TW/2015-DevOps-Day/b01

Page 95: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

LEAN

Agile

Continuous Integration

Continuous Delivery

在談 DevOps 之前

Virtualization

Infrastructure as

Code

Page 96: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

DevOps

圖⽚來源: http://negativespace.co/photos/guitarist/ , http://finda.photo/image/11418 , http://nos.twnsnd.co/image/58523667245 , https://www.flickr.com/photos/nationalarchives/3047452735/ , http://nos.twnsnd.co/image/83208814778

Sharing

LEANAutomationCulture

Measurement

Page 97: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

文化

Culture 鼓勵創新

容許錯誤

持續改善

圖⽚來源: http://negativespace.co/photos/guitarist/

Page 98: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

流程

code build test release deploy operateplan

Measurement !!Monitor Measure Analytics

Feedback

Pipeline

FastIteration

Page 99: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

符合需求 學習成本

價格 售後服務 商業支援

生態系社群

設計邏輯

工具選擇策略

教學資源

Page 100: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

團隊規模

流程

產品\架構

最佳實踐

最佳 實踐

Page 101: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

Thank You

圖⽚來源: https://unsplash.com/photos/oxjo1IQBK7M

Page 102: 困境與轉型:一個小型開發團隊的 DevOps 學習之旅

圖⽚來源: https://stock.tookapic.com/photos/17849

DevOps Taiwan

https://www.facebook.com/groups/DevOpsTaiwan/

https://devopstaiwan.slack.com/

https://gitter.im/DevOpsTW