Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20211124_雲原生人才尋找的難處及常見誤區探討 Part 2

Phil Huang
November 24, 2021

20211124_雲原生人才尋找的難處及常見誤區探討 Part 2

Phil Huang

November 24, 2021
Tweet

More Decks by Phil Huang

Other Decks in Technology

Transcript

  1. #pichuang # whois Phil Huang 黃秉鈞 • 一週七睡,一週三練;上班專業,下班躺平 • Cloud

    Native Taiwan User Group (CNTUG) 打雜工 • blog.pichuang.com.tw Ref: https://www.linkedin.com/in/phil-huang-09b09895/ 3
  2. 個人立場偏頗聲明 • 因職業生涯皆住在地端打轉,所以會比較以地端 IT 基礎架構師角度出發 • 本人主要技能樹範圍 • Linux 作業系統:Red

    Hat Enterprise Linux 6 / 7 / 8 • 虛擬化平台技術:OpenStack / VMware vSphere • 容器和容器化平台技術:Kubernetes / OpenShift / Tanzu • IT 自動化技術:Ansible • 虛實網路技術:主要看虛擬網路居多 • 主要背景以中大型公司為主
  3. 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 人才
  4. Enhance Go-to-Marketing = Time is Money Catalog 公有雲 私有雲 1.設計

    2.建置 3.維運 4.使用 1.設計 2.建置 3.維運 4.使用 IaaS (Compute) 使用既有 公有雲服務 使用既有 公有雲服務 客戶 Cloud Team + 公有雲 Support Service 客戶 Cloud Team Server 廠商 客戶 Infra Team + Server 廠商 客戶 AppDev Team IaaS (Network) Network 廠商 客戶 Network Team + Network 廠商 客戶 AppDev Team IaaS (Storage) Storage 廠商 客戶 Infra Team + Storage 廠商 客戶 AppDev Team PaaS 客戶 AppDev Team 客戶 ??? Team + 廠商 ( or 自建) 客戶 ??? Team + 廠商 ( or 自建) 客戶 AppDev Team SaaS 客戶 AppDev Team x x x x
  5. 身為 Infra 如何管理好 Azure 公有雲服務使用為例 AZ 304 架構規劃 1. 設計運算解決方案

    2. 設計網路與安全性的解決方案 3. 遷移規劃與運用 4. 驗證與授權的管理 5. 治理與合規 6. 資料庫解決方案 7. 選擇合適的儲存體帳戶 8. 資料整合的設計 9. 紀錄與監視的解決方案 10. 備份與復原 11. 設計高可用性 12. 成本最佳化的規劃 13. 設計應用程式的架構 14. 設計應用程式的安全性 AZ 303 架構技術 1. 施作虛擬網路與對等連線 2. 部署 Windows 和 Linux 虛擬機器與磁碟加密 3. 資源的自動化建置與設定 4. 建立負載平衡和網路安全性 5. 儲存體帳戶的建置與管理 6. Azure Active Directory 進階管理 7. 實施與管理 Azure 合規解決方案 8. 實作與管理混合式身分 9. 管理 Azure 工作負載、遷移、備份和站台復原 10. 監視雲端基礎架構 11. 應用程式的安全管理 12. 部署應用程式基礎結構 13. 部署容器基礎的應用程式 14. 部署 NoSQL 資料庫 15. 部署 Azure SQL 資料庫 小朋友才做選擇,我全都要 • 網路 • 儲存 • 身份管理 • 資料庫 • 容器 • 監控
  6. 目前已知台灣現況,以我理解的 0050.TW 為主 • 甲方現況 • 現況 1: 絕大部分政府單位、金融、製造業,因資料需落地,多半還是會重視 地端

    (On-premise) + 離線 (Disconnect) 基礎平台建設 • 現況 2: App 開發只想用服務,不想管服務 • 現況 3: Infra 薪少 事多 人不足 • 乙方現況: • 現況 4: 大~公有雲在各自的資料中心,領域展開了一堆 SaaS 服務,各佔一 片天 • 現況 5: 為了現況 1,大~公有雲廠商都有準備地端服務 • 現況 6: 地端廠商各種想當 SaaS 公司
  7. 考與不考不是問題,重點是有沒有走過學習歷程 • 什麼狀況該考 • 你為了後續的專精知識 (Professional+) 路線而考,如三大公有雲、地端 • 物以稀為貴或已知困難,如 CCIE、Offensive

    Security、CISSP • 證明有基礎知識及能力,如 CCNA、CK{A,AD,S} • 自認很難單靠履歷拿到面試門票者 • 什麼狀況不太需要考 ◦ 不需要靠證照證明自己能力者 ◦ 通用常識類,如文書處理證照,但不代表不用學,你確定你真的會用 Word 或 Excel ? ◦ 技術變化很快,如程式語言,不如搞個 side project 比較快 個人心態:反正都花時間讀書了,就順便考一考
  8. 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 和容器技術等級有一定基礎
  9. Kubernetes 容器平台的組織文化挑戰 • 現況 • 會使用 Kubernetes 都是以 App 開發需求為主,因為可快速部署和測試

    • 普遍 App 開發都不太愛維運,因為開發趕死線都來不及了,不太可能叫他管理平 台 • Kubernetes 平台和容器 設計 管理 資安 人才難找,多半都在聚集在乙方或公有 雲為主之中小型甲方 • 甲方多數解法 a. 自建或找廠商提供代管服務:EKS / GKE / AKS / Tanzu / OpenShift / Rancher b. 從 App 團隊選 1 ~ 2 個人擔任管理該平台角色,多半稱呼為 SRE / DevOps Team c. SRE Engineer / DevOps Engineer = 天選之人
  10. 相同挑戰: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 設計
  11. CICD 持續交付與整合的組織文化挑戰 • 現況 • 普遍 App 開發都不太愛維運,因為開發趕死線都來不及了,不太可能叫他管理平 台 •

    Infra 根本不知道程式編譯過程 • 一堆第三方軟體怎麼維護和選型議題 • 鮮少存在一個人所知道的待整合服務知識都是專精等級 • 甲方多數解法 a. 自建或找廠商統包提供設計建置服務 b. 從 App 團隊選 1 ~ 2 個人擔任設計和管理該平台角色,多半稱呼為 SRE / DevOps Team c. SRE Engineer / DevOps Engineer = 天選之人 = 一條龍工程師
  12. 常見誤解:IT 自動化 Ref: https://ansible.github.io/workshops/ • 自動化只是手動操作的延伸,並 不是代表一定會該領域技術 • 並不會說會寫 Ansible

    的工程師, 同時就會知道如何設定 F5 / Windows / Cisco / Linux 等服務 • 先有人工操作知識積累,才有維 運自動化需求 • 重點是寫 Source Code 下來,需 要基礎軟體工程開發能力跟思維
  13. 常見誤解:設定檔組態管理 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
  14. IT 自動化的組織文化挑戰 • 現況 • 地端 Infra 基本上都不太寫 Code •

    對於地端 Infra 部署,主要是採購硬體軟體、安裝、設定、獲取 Day 2 維運知識 • 甲方多數解法 a. 自建或找廠商統包提供設計建置服務 b. 從 App 團隊選 1 ~ 2 個人擔任撰寫自動化腳本角色,多半稱呼為 SRE / DevOps Team c. SRE Engineer / DevOps Engineer = 天選之人 = 一條龍工程師 = 全棧工程師
  15. 建議 • 求職者 • 不要看到 DevOps / SRE 職稱就有先入為主的想法 •

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