Slide 1

Slide 1 text

雲原生人才? 看得到,找不到 Phil Huang 黃秉鈞 SDN x Cloud Native Meetup #39, Webniar, Aug. 25, 2021

Slide 2

Slide 2 text

WARNING ● 本次分享無深度技術含量 ● 建議當廣播節目收聽 ● 歡迎直接開麥交流

Slide 3

Slide 3 text

個人立場偏頗聲明 ● 因職業生涯皆住在地端打轉,所以會比較以地端 IT 基礎架構師角度出發 ● 本人主要技能樹範圍 ● Linux 作業系統:Red Hat Enterprise Linux 6 / 7 / 8 ● 虛擬化平台技術:OpenStack / VMware vSphere ● 容器和容器化平台技術:Kubernetes / OpenShift / Tanzu ● IT 自動化技術:Ansible ● 虛實網路技術:主要看虛擬網路居多 ● 主要背景以中大型公司為主

Slide 4

Slide 4 text

地端和雲端 IT 人才技術棧起始點不同,技術迭代較慢 地端 IT 重視由硬體 採購開始的基礎建 設,包括計算、網 路、儲存 雲端 IT 重視由三大公有雲 提供服務基礎提供的應用

Slide 5

Slide 5 text

App 人才技術棧高度一致、但廣度大、技術迭代快 App 應用開發重視 上層軟體架構設計, 框架應用、語言熟練 度 三大公有雲提供各式各樣的 SaaS 租用服務 + 天助自助者 地端廠商提供各自軟 體服務 + 天助自助者

Slide 6

Slide 6 text

4 個 IT 人才屬性 ● 依據平台位置不同,地端 v.s 雲端 ● 依據開發跟管理不同,Infra v.s App 雲端 Public Cloud 落地設備熟悉領域 地端 Infra 人才 地端 App 人才 雲端 Infra 人才 雲端 App 人才 程式碼開發能力 低 高 地端 Virtualization / Private Cloud IaC Day 2 Operation IaC Day 0 Design Day 1 Provision Day 2 Operation 深度熟悉特定 雲廠商操作 GAP 混合雲的 採用和建 置 混合雲 Infra 人才

Slide 7

Slide 7 text

目前已知台灣現況,以我理解的 0050.TW 為主 ● 甲方現況 ● 現況 1: 絕大部分政府單位、金融、製造業,因資料需落地,多半還是會重視 地端 (On-premise) + 離線 (Disconnect) 基礎平台建設 ● 現況 2: App 開發只想用服務,不想管服務 ● 現況 3: Infra 薪少 事多 人不足 ● 乙方現況 ● 現況 4: 大~公有雲在各自的資料中心,領域展開了一堆 SaaS 服務,各佔一 片天 ● 現況 5: 為了現況 1,大~公有雲廠商都有準備地端服務 ● 現況 6: 地端廠商各種想當 SaaS 公司

Slide 8

Slide 8 text

看著職稱 但不一定知道他在幹嘛的工作 ● DevOps Engineer ● SRE Engineer ● Cloud Engineer 老闆對這些職稱員工的期待

Slide 9

Slide 9 text

證照無用論 v.s 證照黃金論 ● 獲得證照只是達到均標及格線 (聽得懂名詞,但不一定專精該技術) ● 學習的過程積累 >>> 證書本身的價值 ● 先求專精 後求廣度 (盾之勇者 v.s 超級初心者)

Slide 10

Slide 10 text

考與不考不是問題,重點是有沒有走過學習歷程 ● 什麼狀況該考 ● 你為了後續的專精知識 (Professional+) 路線而考,如三大公有雲、地端 ● 物以稀為貴或已知困難,如 CCIE、Offensive Security、CISSP ● 證明有基礎知識及能力,如 CCNA、CK{A,AD,S} ● 自認很難單靠履歷拿到面試門票者 ● 什麼狀況不太需要考 ○ 不需要靠證照證明自己能力者 ○ 通用常識類,如文書處理證照,但不代表不用學,你確定你真的會用 Word 或 Excel ? ○ 技術變化很快,如程式語言,不如搞個 side project 比較快 個人心態:反正都花時間讀書了,就順便考一考

Slide 11

Slide 11 text

15 Top-Paying IT Certifications for 2021 Ref: https://www.globalknowledge.com/us-en/resources/resource-library/articles/top-paying-certifications/#methodology

Slide 12

Slide 12 text

常見誤解:會容器使用 跟 會容器平台管理 是不同層次

Slide 13

Slide 13 text

常見誤解:會容器使用 跟 會容器平台管理 是不同層次

Slide 14

Slide 14 text

Kubernetes 是現行混合雲平台常見標準 ● 先有容器服務,才有容器平台的需求

Slide 15

Slide 15 text

Kubernetes 容器平台的技術門檻 CKAD ● Core Concepts 13% ● Configuraiton 18% ● Multi-Container Pods 10% ● Observability 18% ● Pod Design 20% ● Service & Networking 13% ● State Persistence 8% CKA ● Cluster Architecture, Install, Configuration 25% ● Workloads & Scheduling 15% ● Service & Networking 20% ● Storage 10% ● Troubleshooting 30% CKS ● Cluster Setup 10% ● Cluster Hardening 15% ● Systen Hardening 15% ● Minimize Microservice Vulnerabilites 20% ● Supply Chain Security ● Monitoring / Logging / Runtime Security 20% ● Kubernetes 本身是就是一個扎扎實實地容器調度平台 ● 考照目的是為了能夠證明雙方交流 K8s 和容器技術等級有一定基礎

Slide 16

Slide 16 text

Kubernetes 容器平台的組織文化挑戰 ● 現況 ● 會使用 Kubernetes 都是以 App 開發需求為主,因為可快速部署和測試 ● 普遍 App 開發都不太愛維運,因為開發趕死線都來不及了,不太可能叫他管理平 台 ● Kubernetes 平台和容器 設計 管理 資安 人才難找,多半都在聚集在乙方或公有 雲為主之中小型甲方 ● 甲方多數解法 a. 自建或找廠商提供代管服務:EKS / GKE / AKS / Tanzu / OpenShift / Rancher b. 從 App 團隊選 1 ~ 2 個人擔任管理該平台角色,多半稱呼為 SRE / DevOps Team c. SRE Engineer / DevOps Engineer = 天選之人

Slide 17

Slide 17 text

相同挑戰:CICD 持續交付與整合 Ref: https://rickhw.github.io/2018/03/20/DevOps/First-Step-To-CICD/ ● Q1: 誰能負責設計 Pipeline? ● Q2: 誰負責建置平台和 後續維運服務,如 GitLab / Jenkins / Harbor / JFrog 等? ● Q3: 誰負責跨部門和團 隊的溝通 => 誰要當那位 Jenkins 老爺爺? 10 個人有 11 種 CICD 設計

Slide 18

Slide 18 text

CICD 持續交付與整合的組織文化挑戰 ● 現況 ● 普遍 App 開發都不太愛維運,因為開發趕死線都來不及了,不太可能叫他管理平 台 ● Infra 根本不知道程式編譯過程 ● 一堆第三方軟體怎麼維護和選型議題 ● 鮮少存在一個人所知道的待整合服務知識都是專精等級 ● 甲方多數解法 a. 自建或找廠商統包提供設計建置服務 b. 從 App 團隊選 1 ~ 2 個人擔任設計和管理該平台角色,多半稱呼為 SRE / DevOps Team c. SRE Engineer / DevOps Engineer = 天選之人 = 一條龍工程師

Slide 19

Slide 19 text

常見誤解:IT 自動化 Ref: https://ansible.github.io/workshops/ ● 自動化只是手動操作的延伸,並 不是代表一定會該領域技術 ● 並不會說會寫 Ansible 的工程師, 同時就會知道如何設定 F5 / Windows / Cisco / Linux 等服務 ● 先有人工操作知識積累,才有維 運自動化需求 ● 重點是寫 Source Code 下來,需 要基礎軟體工程開發能力跟思維

Slide 20

Slide 20 text

常見誤解:設定檔組態管理 v.s 資源管理與部署 Ref: https://www.facebook.com/groups/DevOpsTaiwan/posts/3824636597623358/?comment_id=3824820040938347 ● 設定檔組態管理 ● 主要負責 Day 2 維運 ● Ansible / Puppet / Saltstack / Chef ● 資源管理與部署 ○ 主要負責 Day 1 部署 ○ Terrafrom / AWS CloudFormation / GCP Cloud Deployment Manger / Azure Deployement Manager

Slide 21

Slide 21 text

IT 自動化的組織文化挑戰 ● 現況 ● 地端 Infra 基本上都不太寫 Code ● 對於地端 Infra 部署,主要是採購硬體軟體、安裝、設定、獲取 Day 2 維運知識 ● 甲方多數解法 a. 自建或找廠商統包提供設計建置服務 b. 從 App 團隊選 1 ~ 2 個人擔任撰寫自動化腳本角色,多半稱呼為 SRE / DevOps Team c. SRE Engineer / DevOps Engineer = 天選之人 = 一條龍工程師 = 全棧工程師

Slide 22

Slide 22 text

DevOps 和 SRE 職位差異 ● 早期說法,前者是 Interface,後者是 Implementation ● 現在依據職缺需求來看,前者比較偏開發到維運,端到端 CICD 建置,後者比 較偏全系統監控維運

Slide 23

Slide 23 text

SRE 定義以 Google 為首 用軟體工程方式解決日常維運以及服務監控 問題

Slide 24

Slide 24 text

DevOps 職位定義不一致:什麼都是,什麼也不是

Slide 25

Slide 25 text

DevOps = 天選之人 DevOps: 各職位都不幹的事情

Slide 26

Slide 26 text

SRE 跟 DevOps 的價差 Ref: https://www.facebook.com/chentien.tsai/posts/10219843238131195 年薪:數字越大越多錢 平均年資 越右邊越資深

Slide 27

Slide 27 text

建議 ● 求職者 ● 不要看到 DevOps / SRE 職稱就有先入為主的想法 ● 面試一定要先問日常實際到底要做什麼 ● 呈上 ● 雇主 ● 了解自己到底什麼業務缺什麼技能 ● 多參考國外求職網站的工作描述 (Job Descrition , JD) ○ Indeed / Linedin ● 如果知道目標,但不知道怎麼做,建議挖角比較快... ● 然後多挖幾個不同領域...