Lunski's Clutter

This is a place to put my clutters, no matter you like it or not, welcome here.

0%

架構師之路

GCP架構師線學習筆記。

  • 架構師必須理解客戶問題,知道每個系統部件特性,再依需求權衡組合方案利弊(記憶體,花費…)
  • 遇到系統問題要知用什麼步驟正確解決

充足背景知識

  • 混沌工程:故意讓系統失敗以建構更好應用
  • Tags: 防火牆規則
  • Labels: 帳單
  • RabbitMQ可跑在集群,但節點離開或加入只允許奇數,PubSub沒這問題且更能與Google其他服務整合
  • Spinnaker可以取代Jenkins
  • Cloud Run 只需要在Folder有
    • Json package file
    • Index.js
    • Docker file
      並下指令
      gcloud builds submit –tag gcr.io/$GOOGLE_CLOUD_PROJECT/helloworld
      gcloud container images list

釐清問題

5w1h分析需求

  • 系統涉及到誰,Role
  • 系統有什麼功能,解決什麼問題
  • 為什麼需要系統
  • 開發時程
  • 負載平衡與細節注意

Invest評估使用者情境

  • Independ: 設定優先順序
  • Negotable: 方便開發者與客戶溝通
  • Valuable: 不只交付,還確實能幫用戶產生價值
  • Estimatable: 能預想結果
  • Small: 如果不能預想需縮小範圍
  • Testable: 可測試

解決方案

運算資源選擇
img

儲存體選擇
img
img

雲原生架構設計

知目標>知使用者>訂預期成果>設計架構>達成方法>風險控管

  • 知道Objective
  • Key Results(SLI, SLO)
    • 依各情境制定可用目標%與達成標準
  • 分析使用者
    • 列幾個主要特徵與使用者
    • 使用者人格特質
    • 設想使用情境
  • 設計系統架構
    • 拆分系統為多個微服務
    • 設計每個微服務的主要功能, Rest API, 依功能切組件
    • 設計儲存體(結構化?響應速度?需求容量…)
    • 評估這些需求適合用什麼服務達成
    • 加入網路, 負載平衡
    • 畫出網路架構
  • 實作與魯棒性
    • 考量到災難復原
    • 防火牆與安全性
  • 估算成本

儲存體

img

要考慮:資料類型,讀寫方式,擴展方式,一致性,資料大小,成本

  • 大型數據集 [小數據集花費高]:BigTable( 部份關聯式)/Spanner( 關聯式資料庫,強烈I/O需求)
  • 小數據(讀寫成本), 移動應用:FireStore( 非關聯式資料庫)
  • 本地K8: Anthos
  • 只針對特定型別:Cloud Storage
  • 不提供快速log訪問, 每筆查詢都要花錢:BigQuery

儲存時間

  • Standard: Hot data
  • Nearline: Once per month
  • Coldline: Once every 90 days
  • Archive: Once a year

連接地端(On-Premises)與雲(Off-Premises)

  • GCP Cloud Interconnect : 在混和雲環境(地端, GCP)提供高效物理連接
  • AWS Transit Gateway: 在AWS環境連接 VPC、VPN

負載平衡

img


如果你覺得這篇文章很棒,請你不吝點讚 (゚∀゚)

Welcome to my other publishing channels