2020年11月28日 星期六

mopcon 2020 筆記 - 測試x重構x新技術

 

  • 測試要測什麼?
    • 測 output (輸出的值)
    • 測物件狀態
    • 測與外部的行為動作
    • 確認環境封閉
  • 測試的順序
    1. 正常路徑
    2. 錯誤路徑
    3. 資料排列 (個人覺得不是必要)
    4. 邊界條件
    5. 資料驅動
    6. 測試缺陷 (哪裡出問題就那裡加測試)
  • 有測試的好處
    • 容易 code review: 別人容易理解你的情境
    • 容易表達用法、功能、邊界值
    • 不容易因為修改而壞掉
  • 想重構的理由
    • 看不順眼,最常發生的原因
    • 要使用新框架
    • Legacy code
    • 維護不下去了
    • 為了寫測試
  • Adapter pattern 是一種可以在重構時使用的 design patten,但存在下面的問題
    • 重複的 code 太多
    • 維護成本過高 (要改個需求,很多 class 都會動到?)
  • 重構時須注意
    • 了解歷史背景並具包容心
    • 重新定義 coding style
    • 為了五年後想 (維護上存在怎樣的問題)
  • 如何降低風險
    • 寫測試
    • pair programing
    • 讓部分使用者幫忙測試 ( EX: 只對 10% user 開放)

2020年11月15日 星期日

K8S 佈署策略

 這篇文章(應用部署的六種策略) 介紹了很多種在 Kubernetes 上的部屬策略,並有附上 git 的開源程式碼可以參考。當中最常被使用的部屬策略應該是滾動部署藍綠部署

滾動部屬: 緩慢地將舊版本的 pod 替換成新版本的 pod。好處是不需要佔用太多資源,但在release 過程中可能會有版本不依的情況。

藍綠部屬: 舊版本有多少 pod,新版本就建出多少,等新版本環境完全建置好,一次將使用者切過去。好處是不會有版本問題,壞處就是部屬時需消耗較多資源,花費較昂貴。