演講: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