演講:Serverless All-Star - Ops as Code using Serverless
這是今天 (2018/03/29) 在 iThome 主辦的活動 - Serverless All-Star 分享的主題: Ops as Code using Serverless,主軸如同過往,用問題開場、以說文解字切入,然後帶到 現場 (Live, 真實案例),帶出新技術的價值,強調 軟體工程 的重要性,最後帶到反思。
Updated 2023/07/19: 本文部分內容收錄在個人著作 《SRE 實踐與開發平台指南》 - 2023/08 上市
主軸與想法
主軸的構思從 What is Ops? 這篇出發,帶出的 領域知識、經典問題,像是 SRE、系統管理 (Sys Admin)、系統維運 (System Operations)、監控、資源管理 …. 等問題。。。
下面這張主要討論 四種角度 的 Ops,然後對應到 人、事:
四種角度的想法出自 Architecting on GCP 教育訓練文件裡的想法。
人: 就是角色、職務、抬頭 .. 等,人力銀行上看得到的名稱事: 就是工作內容、權責、領域
另外一個維度則是討論屬於 公司治理、還是 產品開發,這兩個其中有段模糊地帶 (橘灰色重疊的部分),我沒有強調,但這段就是存在:

下面這張則是呈現在組織裡的 能見度,還有 資源不對等 的問題,另外強調產品開發是 開源 (燒錢)、公司治理屬於 節流 (成本) 的想法。


Ops 部分問題可以用程式解決,雖然很容易,但是,往往卻是不被在乎、容易遺忘的地方。
這裡帶出 軟體工程、Serverless 的概念,新時代的新方法。新方法除了 Serverless,其實還有 Infra as Code 的概念。

最後要強調, Serverless 雖然沒有 Server 可以管,但實際上,還是要面對 Ops 本質性 的問題。

底下是完整 Slide:
現場朋友的問題
在現場,ㄧ些朋友提出來的問題,簡單整理如下:
Ops 的職涯怎麼規劃?
這題大哉問,我的建議:
- 把基礎科學學好,包含軟體工程、網路、作業系統、計算機結構、資料結構、演算法。只要還在這一行,他是終身受用。
- 技術會隨時代改變,但本質不會。學習了解事情的本質,找到自己個人 學習方法 的主軸。
- 學習 Agile, DevOps 的精神
- 選一個 Public Cloud 學習,像是 AWS、GCP、Azure,往 Cloud Native 發展
- 學幾種 Infra as Code, Configuration Management 工具, 像是 Terraform, Ansible
喜歡跟人相處,想辦法爭取當團隊的 Scrum Master,影響大家;喜歡碰技術,可以透過分享、教學、演講切入。
自建機房的服務能否用 Lambda 監控?
可以的,但前提是:有機房 VPN 串接 AWS VPN,然後讓 Lambda 放在 VPC 裡面,讓路由可以通就可以。
如果已經是對外的 Endpoint,服務在哪都可以用 Lambda 做。
Log 系統的選擇
大哉問,主要的想法:
- 不要想用單一 Solution 解決所有問題。
- Realtime 和 Batch 分開
- 處理部分的 Streaming
- 盡可能用 Cloud
這可以講另一個 Session,有空來聽我分享 Monitoring Tools 大亂鬥
如何跟傳統 Ops 溝通?
這越來越難了:
- 試著跟他以
分享的角度切入 - 請他主管幫忙,或者找其他人幫忙
我詞窮了 XD
監控如果擔心 AWS 有狀況,有什麼方法?
- 用其他 GCP / Azure 來監控
- 用跨 AWS Region 監控,例如用
美東監控東京 - 用 third parthy 工具監控,但不要又是同一個 cloud provider 就好
Serverless 的 CI/CD 怎麼做?
本質性問題,要了解 CI/CD 是啥?
導入 CI/CD 的第一步 這篇整理了基本概念與想法,實際作法請看文中最後的照片,那是本質問題,知道了之後,剩下就是 技術工具 的選擇了。AWS SAM、Gitlab CI、Jenkins、Shell Script .. 都可以。
如果已經在用 serverless 相關 framework,通常都已經整合了,雖然我現在對這些東西還是持保留態度,因為完整性都還要時間確認。
我為啥會從 Dev, QA, 然後跑去做 Ops?
有朋友看到我的經歷,是從 Dev -> QA -> Ops 為什麼會有這樣的選擇?這。。。人在江湖,身不由己,你知道的太多了。。。XD
換個角度想,當作是學習機會的機會,用不同角度看待軟體、看待產品。這樣想,獲得最多的就是自己。
這些聽起來像是在抱怨?
抱怨成分是有的,我不否認,但更多的是要呈現出 事實,也就是這些問題是 Ops 會面對的,而在實際的 現場 ,是不被在乎的、甚至忽略的,我希望可以改變這一切。
很多管理者,不清楚底下的在忙什麼,或者不知道這些事情的成本、重要性,透過這樣的方式,讓大家意會到這是問題,需要大家關注,而不是 DevOps 喊得震天響,卻完全忽略 Ops 現場的問題,這是很諷刺的。就跟 “許X美” 一樣,很多人已經忘了他怎麼紅的了,而那個原因才是應該被關注的,而不是這個人。
Observability and Monitoring
在會場很多朋友都會問類似的問題 - 監控怎麼做?
對我來說,還是要回歸本質性問題,相關文章有:What is Monitoring?、量測與監控 (Monitoring vs Observability)
底下這 slide 整理關於 量測 (Observability) 與 監控 (Monitoring) 的概念,透過 Amazon CloudWatch 這個工具的應用想法。其中的重點概念:
- 氣象局:Measurement & Observability
- 政府:Monitoring
- 本質: P69 - P94
感謝
最後感謝 iThome、DevOps Taiwan 合辦這樣的活動,讓一群熱血的朋友有機會聚在一起分享、學習!
這場會議,我遇到了一些對軟體工程充滿熱情的朋友,一些在前線持續努力的朋友!技術實力卓越的朋友!為社群努力貢獻的朋友!一起為台灣軟體圈加油!
延伸閱讀
- 個人著作《SRE 實踐與開發平台指南》 (2023/08 上市)
- 演講:從緊急事件 談 SRE 應變能力的培養
- 演講:Monitoring Tools 大亂鬥 - AWS CloudWatch
- What is Ops?
- Serverless All-Star in 2018 (活動預告)
- Site Reliability Engineering
- 淺談系統監控與 CloudWatch 的應用 - AWS User Group Taiwan
- 台灣軟體產業的經營
- 學習法則
- 導入 CI/CD 的第一步
- 思考本質、實踐、想像力、教育
- Go Live
- CloudWatch - Observability and Monitoring



