雖然有機會可以參與一個新系統的誕生是一件很開心的是,但「新」也代表沒有前例可以參考,如果是常見的系統,像是金流系統,還能夠找網路資源輔助,但就算搞定了系統設計,正式給使用者使用時,究竟要開多少台機器,開哪種規格的機器,以及維運成本有多少,要監控哪些指標才能再系統異常的時候收到通知,這些都是未知數,因為沒有過去的數據可以參考。
當然,機器的部分可以做壓力測試,像是用 JMeter 之類的工具做壓測測試,但免不了還是會遇到突然的流量暴增(像是電商某件商品剛好大家都在搶購),這時就會因為沒有事先開好機器預備,讓系統垮掉或 latency 變高,使用者體驗變差。新系統剛上線,因為沒有過去的經驗,所以不會有處理緊急狀況的 SOP ,這也是新系統最刺激和好玩的地方 😛 。
之前的工作還曾遇過,SRE 發現流量暴增之後緊急加開機器,沒想到太多機器讓連線到資料庫的 connection 變多,結果撞到 MySQL的 max_connections ,造成第二次災情 😒 。
究竟老的好還是新的好呢?這完全是看自己的職涯和想要過的生活來決定,如果你是一個熱愛冒險的人,新系統完全符合你的需求,而且不用遷就原本的設計,可以完完全全的大展身手,不過新系統如果流量不足,或者使用者太少,一直無法替公司賺錢的話,可能會面臨被關掉的風險。
老舊系統也許技術無法跟上時代,但一個系統可以存在十年以上,一定是做對了很多事,就像塔雷伯在《反脆弱》一書中描寫的「林迪效應(Lindy effect)」中提到:
「已經存在很長時間的事物,往往會繼續存在更長時間,因為它們已經經受了無數考驗。」
雖然在 AI 時代存在很多不確定性,但一般來說,想要追求「稍微」穩定的生活和飯碗,選擇負責十年以上的老舊系統當工作,會比較符合需求。
Medium: 做自己職涯的PM — 二十年老舊系統 vs 從 0 到 1 的新系統