---
# System prepended metadata

title: HiExpert 2021 DevOps 領航者論壇
tags: [' HiExpert', DevOps]

---

---
title: HiExpert 2021 DevOps 領航者論壇
tags: DevOps, HiExpert
---

# DevOps 領航者論壇 2021/10/20

# 講師
- 范聖佑 - JetBrains 傳教士
- 陳正瑋 - DevOps Taiwan Community 志工
- 邱宏瑋 - 台灣雲端原生使用者社群(CNTUG)共同創辦人之一
- Andrew Wu - 91APP 首席架構師
- Will 保哥 - 多奇數位創意有限公司技術總監
    1. [Facebook](https://www.facebook.com/will.fans/)
    2. [Blog](https://blog.miniasp.com/)
- Phil Huang - 台灣雲端原生使用者社群(CNTUG)活躍社員



# DevOps 的未來趨勢/走向預測

:::info
- `Security`
- `Automation`
- `CI/CD`
- `Source Code Version Control`
:::

# 企業如何注入 DevOps 文化

## DevOps 文化對企業文化有哪些影響

###  陳正瑋 講者
1. 開發、維護，品質的持續改善
2. 不究責文化，對事不對人
3. 補償效應，提升個人能力
4. 部署內容透明

### Phil Huang 講者
1. 技術越來越多樣化，CI/CD 不給 Developer 也不給 Operation，要有專門職務負責

### Andrew Wu 講者
1. DevOps 不成熟時，Developer 兼職太多事情不合理，導入 DevOps 讓團隊合作更有效率


## 如何判斷 DevOps 運作的成功與否?

### 邱宏瑋 講者

1. 導入後是否成功？營運者看營收是否提高，開發人員看如何更有效率 debug、寫code，QA 看除錯上是否更有效率。總之，每個職位都有自己成功目標的定義
2. 先從小專案開始導入, 剛起步不可能一步登天, 很難同時讓開發, 維運, 老闆都滿意


### 陳正瑋 講者
DevOps 是否成功?

每一年都有組織 顧問會去做 DevOps 報告，其實每年的指標重點都不太一樣，可以看到某一年佈署效率提升，下一年品質提升、獲利提升等等，每一年走向都不太一樣

所以如何評價是否成功? 很難用單一標準來判斷

CI/CD 都有對應成熟度模型可以參考，但不是說5顆星佈署100次，所以我就真的要一天佈署100次衝星星

有專門 DevOps 顧問公司，定義出 DevOps 成功與否

搜尋 DevOps 標準、認證 ref: 中国信通院主导的DevOps国际标准在ITU-T成功立项

## DevOps 對於企業的商業和管理價值是什麼?

### Will保哥 講者

商業價值，一定要談錢！ 省錢 or 賺錢 
DevOps 可以創造哪一種價值?
IT 單位在傳產賺不了錢啦，基本上就是花錢、燒錢的單位，老闆只會覺得你要的越多燒越多

換個角度思考，純軟公司 DevOps 有什麼價值?
接案公司大小案子多、人也多，如何讓50人一起工作才能更有效率，透過 CI/CD 能自動化就自動化就能省錢
透過敏捷的方式去幫助所有人看清楚自己手邊的專案發生什麼問題

短短3~5分鐘的晨會就能發現問題，可以省下時間不要去做無意義的工作
不然 code 沒寫完去做雜事，做多了不但會心煩，無形的時間浪費就會越佔越多

**如何讓公司知道隱形成本流失? 透過 devops 可以做到**

純軟體公司，導入DevOps，讓50多人工作起來更有效率，每日daily standup 10分鐘，明白大家在做什麼，資訊更透明等

### Andrew Wu 講者 
從技術角度談 devops 議題 **監控**
傳統監控：一堆機器、monitor、網路、流量

導入DevOps後，從監控角度，就可以很快找出問題點。很多工程師的效率，都可以數據化
可以看到成本是否有改善，了解 devops 對公司的影響，也可以讓工程師了解幫公司提供的價值

ref:
[架構師的修練] #2, SLO - 如何確保服務水準?
https://columns.chicken-house.net/2021/06/04/slo/

#### DevOps 指標舉例
在網站上key驗證碼手機會收到訊息，手機多快會收到，有辦法監控嗎?

監控sms簡訊送出到對方收到時間，導入DevOps後，可以加入更多這類的指標

開發團隊自己寫 code 放到維運系統，循環就開始轉起來，就知道反應時間平均值，如果不滿意可以做一些改變上版再修正，知道這些使用者在意的結果(收到簡訊的反應速度)是好是壞

**開始讓商業上的價值反映到 devops 循環中，讓企業主知道導入 devops 的價值。**

---

中場休息 5 分鐘

---

## 面對 DevOps 文化的企業我該做哪些準備？
如何與自動化良好共處？
如何成為 DevOps 工程師？工作內容？薪水差異？
個人要如何對新的協作模式做出貢獻？

---
共筆區


## 如何與自動化良好共處
### 陳正瑋 講者

參考之前的投影片: [以自動化先行的 DevOps 實踐經驗分享](https://www.slideshare.net/warfan/devops-147735338) 

DevOps 不等於 自動化
但自動化很重要，是一種加速器

對QA來說，規模大了之後，測試、維護成本越來越大

寫自動化或測試程式，吃掉了一些開發成本，導致生產力無法上升 (管理觀念不足)
或是拿到自動化工具 什麼都想自動化，導致做了一堆沒什麼價值的腳本，因為那些腳本隔年就不能用了

理論上自動化工具跑第1次和跑第100次應該都一樣，但跑到第3次就出問題，會害怕是不是有問題，於是把腳本變數全部看一遍...這還叫自動化嗎? 這是選擇性自動化吧，導致自動化綁手綁腳

克服方式：看經典好書 持續交付 

工商時間：hiskio電子書
書名：
1. [持續交付](https://www.tenlong.com.tw/products/9787115500014)
2. [Infrastructure as Code](https://www.oreilly.com/library/view/infrastructure-as-code/9781098114664/
)



### Phil Huang 講者
有沒有寫過shell script? 就是不想一行行打，所以才想全部寫在一起一次性通通結束
從 source code 、 complier 、 publish 一次完成

也就是自己的工作環境處處都是自動化，差異只是在於效率

現在 infra 也在討論自動化 (infra：啊不是點一點就好還要自動化?)
infra code 的影響，所有變更都要可以被記錄，要能追蹤他誕生出來的結果

network devops自動化確保ssl不過期、domain不失效等

**自動化可以確保新手或老鳥去做變更，品質都是一致的**
也可以透過 git 歷程抓戰犯，別想說 infra 就不用做，還是可以來做看看

### 邱宏瑋 講者
Facebook 發生什麼事?
[參考1](https://www.techbang.com/posts/90476-facebook-explained-the-shutdown-of-the-backbone-of-mondays)
[參考2](https://blog.cloudflare.com/october-2021-facebook-outage/)

不再是單純的service provider，network規模之大，不可能去手動執行。
佈署之外也要維護，手動更新所有網路設定是不太可能的：
>switch不是一兩台，是幾千幾萬，寫腳本是必備的

若這些東西跟網路有關係，出錯會造成很大的影響，這次就是BGP發生錯誤，透過內部更新，只寫錯一行程式碼會因為自動化被放大，數千數萬台都會受影響。

針對自動化工具，有"自動化工具"的檢測工具，
所以他們寫了自動化檢測工具，可是出了bug，沒辦法檢測設定檔導致出現一連串問題

ok，派人去修，但美國都是 WorkFromHome 不在辦公室，網路也不通，內部門禁也都自動化跟網路連接在一起，連進去都花很多時間，終於進到資料中心router前面

之前因為security，也很難在router前面拿到主控權操作機器，花很多時間才正確操作到router把設定一個個給校正回來

能不能不做自動化? 不能 規模太大，但一定要有相關備援
結果剛好因為疫情人都不在，平常沒時間去演練，經驗不夠多，

自動化工具　＞　自動化檢測工具　＞　檢測自動化檢測工具...(不可能弄這麼多嘛)

存取相關的，例如網路存取ssh，如果失敗了用key、public ip、private ip、密碼都失敗，該怎麼處理，讓大家自己想一想


## 對於CICD經驗還很少，該如何開始操作？

### Phil Huang 講者
先從shell script或jenkins，把 CI/CD 拆解成一塊塊，再導入常見的tool

這是比較推薦從0到1的過程


infra的人呢? 反過來做，從測試先開始
先確定系統都是穩定的，再做一些變更管理
ap常常變動，infra不太會，要改之前一定要跑過所有unit test，所以一定有一個baseline，兩邊有點反過來做


multi cloud(笑翻)
一定要提到 container，所有東西一定在地端嘛，在雲端做的拉到地端很難，但地端做得出來的拿上雲端幾乎都可以

如果架構是要多雲，目的是什麼? 佈署在兩端

ex: production丟地端，(什麼丟雲端沒聽到)

經驗談: 只要開發與佈署兩邊版本(ex: k8s)一致, 有"八成"機率可以順利佈署

法規問題,production必須落地，但其他程式在雲端，該怎麼整合，CI/CD就很重要

> 統一平台、佈署流程，不可能一個人全部都會做，有這個人的話找我，我們缺人 :muscle:

程式佈署要在哪一端，如何同時佈署? CI/CD 就很重要了，要保證兩端測試都要過，infra team則是要確保兩端的平台是一致的(盡可能)

多雲還是要處理security


## 個人要如何對這樣的協作模式做出貢獻

### Andrew Wu 講者
從團隊成員角度出發 devops就是開發和維運的循環
不是一天就要佈署100次，但要有這個能力 (自動化的必要性)

自動化是對的事，但自動化只是加速器，不是AI不是很聰明的幫手，要把你想的事寫成script，所以寫的code就很重要

我很少看過超過千行的powershell script (就是有看到覺得很扯) 這麼長怎麼佈署? 運作轉圈圈沒完沒了


自動化不急著做，手動知道怎麼做10個步驟，就把10個步驟濃縮，再寫成自動化

10個步驟 濃縮成5個步驟，先用 sop 方式，人工在不同主機上運作，確定不同主機都ok，再寫 script，前面太多負面例子了

自動化是雙面刃，做不對會產生更多問題，不要盲目去做

**不要盲目自動化，先逐步讓過程收斂，等到有十足把握再自動化**


## 老闆與架構師如何看待DevOps

### Will保哥 講者
問10個老闆可能會有10個不同的答案，這問題太籠統了


**老闆在意省錢或賺錢**(很重要 保哥今天講了兩次)

我公司大小專案很多，一個案子來要先做架構，怎麼自動化 CI/CD?
不用問就會自動想到這件事，但不是每個同仁都有這個能力，他不會 Pipeline，powershell也不懂，怎麼看待他的潛力? 找人要找他有一定的學習能力

每個人都有學習能力，導入DevOps就大家都可以學習

你不會沒關係，我們很多人可以教你，安排一個專案給新進同仁讓他做，第一時間就會想到 上azure devops，如果他跑來問我，我可能會給你分享會的影片，作為內部分享，如果沒有影片，我可能會手把手帶著教他做一次 pipeline怎麼做，一步一步教你，我粉絲團有很多影片可以看和學習 powershell 、windwos bash等都有，從小地方基本去累積

:man_in_tuxedo:：**你今天專案有用到，你就去試試看，學你用的到的東西**

老闆就是看這個人能否接受新觀念，會的話印象分數大大加分

### Andrew Wu 講者
![](https://i.imgur.com/HNOd8Gh.jpg)
[Provisioning, Deployment and Application Config Cycles](https://paulhammant.com/2014/08/27/provisioning-deployment-and-app-config-cycles/)

大型網站的經營不僅僅只單純是開發或是維運兩種人，一定還有怎麼經營這個網站的人

很常改的東西習慣抽configuration: 擴充新的機器，調整網路設備，廣告、新功能要調 configuration 

怎麼用devops CI/CD上上去? 已經超過開發人員的範疇了
分三類
1. ap改版 (code as code)
2. config改版 (config as code)
3. 執行環境(k8s vm)改版 (infra as code)

既然東西都變成code，就能讓東西都記錄並且上上線，但團隊還沒有到這個能力，持續提升中

ap一定要有文件，code文件如何吻合
doc as code推行中 (第四類)


**同樣體系用同樣機制佈署，就是比較理想的樣子**

---

## 各領域如何結合 DevOps

如何結合自身技術轉職成為 DevOps 工程師?
DevOps工程師的優勢是什麼？
各領域工程師如何看待 DevOps 文化？

---
共筆區

## 面試準備什麼樣的內容
提問：
我是XX語言工程師怎麼轉devops?
前端怎麼處理e2e testing
職缺有sre和devops，我該申請哪個?

### 陳正瑋 講者
devops是一種文化，沒有這個職位，不過全世界都在徵
它包含的範疇這麼大，要全包嗎?不可能嘛

DevOps 的定義是什麼
敢開職缺 DevOps 的就去看，看他要求的職能和技能

1. 雲端架構師：好像 devops 就要去幫你雲端架構
2. 雲端架構操作員：上面有個架構師，架構師說要做什麼，操作員去三大雲端平台案，這個操作員就是 devops 工程師
3. 掛devops 但實際是操作 pipeline：有如把代表各種服務的水管接起來的人
4. level 高一點的就能變出平台，產出自動化流程，各式各樣指標
5. 名字叫devops 其實包山包海連廚房電器都要弄，就是傳統 MIS，開缺的公司想看換個名字能不能撈到人進來
6. devops leader：需要 build 一個 devops team，公司需要一個教練



#### devops roadmap 2021

:cherry_blossom: 英文版
:::warning
:::spoiler **== 點我展開 ==**
[![英文版](https://i.imgur.com/RxXcc3K.png)](https://roadmap.sh/devops)
:::

:cherry_blossom: 中文版
:::warning
:::spoiler **== 點我展開 ==**
[![中文版](https://i.imgur.com/QLuEjNC.jpg)](https://github.com/goodjack/developer-roadmap-chinese)
:::


## DevOps薪水行情

### 邱宏瑋 講者
devops 薪水多少?

range很廣很難回答，每間公司devops做的事都不一樣，有些是傳統IT包上devops皮，有些是需要新的突破

很難一概而論薪水高或低

年薪 40萬~200萬 都有

前端、後端、QA轉職
每個人轉職都要有自己的特色

近年來冒出一些 yaml工程師 ，什麼都不用懂，只要把yaml code丟到k8s就好
公司不知道你的價值在哪，出事你又不會處理，談薪水也談不上去


去暸解技術核心原理 kernel，不要只是copy paste表面技術

我如果有把我的ap包成 container，是不是我就變很厲害可以應徵 container相關的工作? 不一定，你要知道 container、vm 差別，你是否真的了解 container 才有談薪水的本錢

離開台灣前薪資有到200以上，因為你有能力，對團隊有很好效力就很容易談

#### 美國如何看待devpos?


美國沒有devpos這個詞，因為觀念很早就有，不需要多一個名詞去解釋他
大部分比較多是SI, SRE這些


h1b 海外工作簽證，只考慮底薪不考慮股票
dropbox: 150k ~ 200k
airbnb 20萬美金 
google 不同等級薪水不同 sre 16萬
apple twitter sre：16~21萬
Microsoft sre 12 13 到15~19萬

software sre中位數18
devops 15萬
full stack 15萬5千左右

>gslin: 幹壞事是進步最大的原動力

當個薪水小偷：讓工作更有效率，更少時間做更多事情
看到工具要理解他的底層設計，就會發現只是換皮大同小異


## 怎麼讓自己跟上趨勢以及持續學習

### Phil Huang 講者

RPG 玩過嗎? 買裝備買技能書增加自己實力
技術這條道路上也差不多，既然都要花錢買裝備，為什麼不多買一些書和課程強化自己?
k8s怎麼學? 邱牛有線上課程 手把手看操作步驟啊
will保哥也有 angular 課程啊

---

三個不同等級


#### 入門級


變化太快不知是對是錯，先專注在某個領域(前 or 後端) 深入紮根，I型人

看著隔壁的發現我也懂

#### 觸類旁通

觸類旁通，後端能顧，前端大概也懂 I 變小 T
看書只看過去沒用，一定！務必！要去實踐

#### 技術分享者

最後到達一個等級，就能開始分享

**分享的人是學最多的**

對這個領域深入的程度看你的分享程度就看的出來

---


> 我自己也有買k8s的課啊，找10個老師出來一定有10個不同的課，這東西變化無窮


---

# Ｑ＆Ａ 環節

## 版控，用git很多種workflow(git flow、githubflow、gitlabflow)，trunk base主幹開發，跟之前的有什麼差異呢? 業界實戰是否會改用?
### 邱宏瑋 講者

trunk base流行很久了，只是以前沒有這個名詞
google內部其實就有用這個架構

10個人有不同講法(沒有標準答案)

想法：過往採用gitflow 希望新功能不要衝突所以會開branch
開發時間很久合併回去，時間越久修衝突很痛苦
codereview，10行code/500行code/  5000行code review時間不一樣，後者很累
這麼大的差異是否會造成其他未知的改變? (產生風險)

快速迭代
所有東西都在master上面開發，所有commit都需要做完整測試確保不會破壞現有架構才可以合併到master trunk，如果沒有良好的cicd是不能這樣用的，測試要夠完善
code review：不希望review拖太久，拖1~2 week太久，這種就不適合，需要去調整
https://trunkbaseddevelopment.com/ 

如何釋出新版? 有策略去進行release
這版本夠穩了，在這一版開一個新的branch (1.1) ，用這個1.1去釋出

hotfix怎麼做?

trunk base讓所有問題都回到trunk 去驗證、去修復

在回到 release合併，不要在 release去修復，因為如果在release修復，忘記合併到 master 以後的版本就都沒有修復到

patch盡量的小，每天開發，功能非常多，有非常多的測試，功能不會損毀

trunk based 小 branch


## 團隊怎麼選擇開發模式

### Will保哥 講者

> trunk base? 我超討厭這些buzzword

GitHub Flow 最簡單，這不就是 Trunk-based development 嗎？

1人,5人,50人 怎麼導入，有真正幫助的是你怎麼用它

> https://trunkbaseddevelopment.com/ <--- Will保哥：還開這種domain name，這看起來就很高級啊，你去看看你用不用的上🤣

不是這個東西不好，你要去擷取它的核心精神，融會貫通到你自己的開發流程才是真的有幫助


## DevOps怎麼跟QA合作
### Andrew Wu 講者
改一下題目：CICD做得好不好，對QA是否有幫助

CICD做的極致：
任何人可以把任何版本的code部署到任何環境

prodcution有個bug，但testing 測不出來，這時
QA最期待的是什麼?　能不能在我測試環境倒入 production 


CICD把這些課題做到多深入，才是對QA有沒有幫助
能把QA想要測試的環境，還原出來，讓QA去抓出錯誤

---

# 抽獎環節


恭喜得獎者
恭喜分母





# 工商時間
- 10/27延伸活動 - 快速面試
- 快來免費預約領取面試全攻略👉 https://bit.ly/3n9TtU1
- 歡慶 HiSKIO x 碁峰資訊合作，零元電子書派對開始啦！全站電子書 69 折！程式熱門新書、經典好書、各種領域電子書通通有，消費滿千再送千，100%回饋讓你荷包不失血！ 
👉 https://bit.ly/3plq9wI


## 講師工商

### 范聖佑 

kotlin 讀書會第四梯次籌備中
![](https://i.imgur.com/SdWPllW.png)

萌新友善的 TeamCity 教學指南
![](https://i.imgur.com/VLzpuqW.png)

### 陳正瑋
DevOps Taiwan 社群（主要討論場域在 Facebook 社團）
https://devopstw.club/
![](https://i.imgur.com/j4TIJIF.jpg)

DevOpsDays Taipei 2021
https://devopsdays.tw/
![](https://i.imgur.com/BR3Oxrm.jpg)


徵 Meetup 講師
![](https://i.imgur.com/5YyYUts.jpg)


## Andrew Wu 
![](https://i.imgur.com/RvepyoZ.jpg)

![](https://i.imgur.com/SAIslKT.jpg)

工商自己 blog 和 fb
https://columns.chicken-house.net/
https://www.facebook.com/andrew.blog.0928/

## Will 保哥
![](https://i.imgur.com/zvSD4fD.jpg)
angluar 的課也在開喔歡迎大家來

## Phil Huang
![](https://i.imgur.com/DIZsrbM.jpg)
![](https://i.imgur.com/lRPNsOY.png)

10/27 有線上研討會，每個月都會辦一個線上討論會


### 邱宏瑋 
![](https://i.imgur.com/RHyoga1.png)

![](https://i.imgur.com/CJ1bRg4.png)



---

End

![](https://i.imgur.com/PGBRbRa.jpg)

---


- https://trunkbaseddevelopment.com/

- https://www.martinfowler.com/articles/originalContinuousIntegration.html

---
- https://www.levels.fyi/Salaries/Software-Engineer/Taiwan/