---
# System prepended metadata

title: Google devops 語錄

---

# Google devops 語錄

why devops?
release feature faster -> win your customer

set goal

like 90% availability

when availability over 90% -> add/release any features you like
when availability lower 90% -> stop release anything and fix service

try automate all your work

在所有 release 上使用金絲雀佈署

all change should less than one page
pull more engineers into one change
let failure been rollback before your CTO found it
rollback should be automatically
dev&ops should use the same tooling

## 趨勢部份

每週走 scrum ， 每個 spring 最長兩週
超過兩週的話重新評估需求，因為兩週後重新再跑兩週就一個月了，重新跑之前要確認兩週後需求的變化

80% for business
20% for technical(改善架構 or 技術債)

anything as a task

op 請求也列為 task

比如 pm 要幫忙查 sql 之類的也列為 task
方便管理和績效評估

技術債\待改善\暫時 hardcode 的部份都先紀錄在 task
不走 TDD，尤其是需求不明確時很容易走歪
績效看 team ，以團隊產出為主，互相 cover 是常事
個人績效用內部互評來處理，裝傻不做事對外不會被發現，但內部互評就會被黑。

unittest 誰都不想寫，所以 design 時就要設計一些 case 強迫自己寫
不用多，核心幾個 function 就可以

branch 綁定 task，在每週 meeting 時設定特定 branch 才會 trigger CICD

某周 release != 每週 deploy， release 是固定的但 deploy 看客戶需求

new task 人工 ops 的部份會討論按照發生頻率去決定要不要自動化
