三只貓
Rich Mindset Zone
richmindsetzone.com
← All posts

DevOps 無人可用?StakPak Rust Agent 24/7 管理 Infra

如果你仲覺得「DevOps 人才難請」係因為香港技術移民流失咗班大佬,我想話你知:就算喺三藩市嘅 Startup,一樣請唔到。呢個唔係人才問題,而係根本問題——DevOps 本身作為一個 full-time role,本質上就係一種奢侈。

點解?因為大部份中小企嘅 infra 工作量根本 fill 唔到一個全職嘅 schedule。佢哋需要嘅係「關鍵時刻有人處理」,而唔係「每日八個鐘坐喺度」。但市場上嘅 DevOps 工程師,尤其係識唔同 automation 班底嗰班,個個都期望 senior 價錢。結果係:公司用半個 senior 價錢請咗一個 junior,然後個 infra 繼續爛落去。呢個困局,我過去五年見識過無數次。

今次我想分享嘅唔係一個招聘策略,而係一個技術解答:點樣用 Rust 寫嘅 StakPak Agent,一條船食晒成個 infra management loop——由 provisioning、deployment、monitoring 到 incident response,24/7 唔使瞓覺、唔會轉工、唔會爆肝。

個問題唔係「請唔到人」,而係「role 壞咗」

我哋好鍾意照搬大公司嘅 operating model,DevOps 呢個詞本身就係咁樣進入中小企嘅詞典。但諗真啲,Netflix 要一個 full-time SRE team 係合理嘅,因為人哋有成個雲端 infra 要管。但你一個十零廿人嘅 startup,DB 行緊一隻 RDS,backend 得三個 container,frontend 行 Vercel——你嘅 infra complexity 同一個 weekend project 差唔多。

問題係,呢類公司往往喺一個「尷尬位」:太細,養唔起一個全職 DevOps;但又唔夠細,啲嘢會爛。個 backend developer 禮拜六夜晚收到 PagerDuty alert,見到個 server disk 滿咗,佢要 SSH 入去做 df -hjournalctl -xe、然後手動清 log——呢啲工序佢做過一百次,但每次都係用人腦做。

呢度嘅結構性問題係:你唔係要一個人,而係要一個「流程」。而流程,係可以寫 code 嘅。StakPak Rust Agent 就係捕捉呢個 flow:將一個人需要識做嘅 DevOps check 同 action 拆成一個個 stateless task,然後由 agent 按 condition 去 dispatch。

Rust 唔係一個潮流,而係一個啱 infra 用嘅語言

講到 agent,好多人大腦第一反應係「又一個 Python script 啦」。的確,大部份 automation 工具都係 Python 寫——Ansible、Airflow、甚至咗 OpenAI 嘅 function calling 底層。但對於 infrastructure agent,Python 有一個好致命嘅問題:dependency hell 同 runtime overhead。

想像一下,一個 infra agent 要執行以下操作:

  1. Watch Prometheus alert 嘅 webhook
  2. 根據 alert 類型,決定行邊個 remediation script
  3. 行完之後,判斷效果,必要時 rollback
  4. 成個過程要 logging 同 auditing

如果你用 Python 寫,你幾乎肯定會遇到呢啲問題:某日 pip install 爛咗、venv 同 system Python 撞咗、或者因為 GC pause 導致 response time 唔穩定。呢啲喺 dev workstation 上問題不大,但喺 production 入面,agent 嘅每次「發呆」都係風險。

Rust 嘅好處係 zero-cost abstraction + guaranteed memory safety。即係話,StakPak Agent 嘅 binary 行出嚟就係一個 static binary,十幾 MB,無 runtime dependency,放落 Docker image 或者直接落 bare metal 都得。最緊要係——唔會無啦啦 crash,唔會因為 GC 停頓而 miss 咗一個 alert。讀者可能覺得:「我用 Go 都得啫」,冇錯,Go 都係一個合理選擇,但 Rust 喺 pattern matching 同 error handling 方面嘅表達力,對於寫 condition-heavy 嘅 agent logic 係天然優勢。

StakPak 嘅實戰:由 alert 到 recovery 一條龍

講完背景,具體講下 StakPak Rust Agent 點樣 operate。

成個 loop 係 event-driven。Agent 開咗一個 webhook server,食 Prometheus Alertmanager 嘅 payload。每一次 alert 到,agent 唔係直接衝去行 remediation,而係先過一個 decision tree——呢個 tree 係用 Rust 嘅 enum 同 pattern matching 砌出嚟,型別安全到編譯器幫你 check 晒所有 edge case。

舉個實例:DiskUsageHigh alert 到咗,agent 會:

  1. 先 SSH 入 target host(用 rust-ssh lib,唔係系統 command)
  2. Run du -sh /var/log/* 搵邊個 folder 最大
  3. 如果係 log 累積,壓縮舊 log(gzip 可以壓到 80%)
  4. Run docker system prune清理無用嘅 container
  5. 如果呢兩步都唔掂,auto-scale disk via cloud API
  6. Send Slack message,詳列做咗咩、效果如何、仲有冇 risks

成個流程行完大概三秒。如果係人做,由收到 alert、login、逐行 command 檢查,最少五分鐘,仲要唔好手誤。

更重要嘅係,agent 做嘅每一步都有 structured logging。唔係嗰啲 console.log("done"),而係 serde_json serialize 好嘅 JSON 行,直接 feed 入 Elasticsearch,遲下可以做 post-mortem 分析。你個人做完一個 incident,最得閒會做 post-mortem 嗎?唔會,你只會想瞓覺。但 agent 唔會攰,佢可以幫你自動 generate 埋個 timeline report。

唔係取代人,而係解放人

寫到呢度,可能有人會話:「你咁樣即係用 AI 取代 DevOps 個位?唔好講到咁理想化。」

我嘅答案係:取代唔取代,唔係由 technology 決定,而係由 economics 決定。一個 DevOps 工程師嘅月薪,可以頂三個 StakPak node license 嘅年費。從 business 角度睇,邊個 option 更 rational?但更重要嘅係,呢個 agent 釋放咗你團隊入面最珍貴嘅嘢——focus。

大部分 startup 嘅所謂 DevOps,其實係 backend team 輪住做 on-call。佢哋每個人都想寫 feature、改善 product,但現實係佢哋嘅時間被 infra 瑣事碎片化晒。你以為佢哋唔爽?佢哋超反感,只係冇得揀。引入 StakPak Agent 之後,個 infra 繼續行,alert 繼續響,但 backend developer 可以繼續寫佢哋嘅 code。冇人冇咗份工,佢哋反而開心咗。

對香港嘅創業者同 tech lead 嚟講,我嘅建議係咁嘅:下一個季度,同你個 infra 做一次「task audit」,列出過去三個月所有 infra-related 嘅手動操作。任何重複做過兩次以上嘅嘢,就有潛質寫成一個 automation task。而如果你需要一個 agent 去 orchestrate 呢班 tasks——唔好再諗住請人多一個 headcount,試下 StakPak。

市場唔會等你請到「完美嘅 DevOps 人才」先開始行;agent 已經 24/7 行緊。你準備好未?