係統故障是每個公司都會遇到的,所以做支持(Support)的人因此而有工作。S的係統自然也不是完美無瑕,在我做支持工作期間,大大小小的故障發生了很多次。其中最有意思的一次是數據中心裝修房子,怎麽著就把藏在牆背後的一個開關給關上了。這開關卻是至關重要的,它控製著通向主機的電源,連UPS都被其控製之下,所以主機一下就歇菜了。
我剛進S時,因為是我的第一份在加的專業工作,腦子裏很有些大陸意識,以編出完美無瑕的程序為榮,沒有對係統整體性有太多認識。早期的一次中等規模的故障給我上了一課,讓我意識到係統可以說是牽一發而動全身,單個的程序再完美也不可能讓整個係統無故障。而且一旦故障發生,造成的金錢上的損失也是巨大的。
S有自己的倉儲供貨中心(warehouse and distribution center),店裏快缺貨時,店裏將訂單上載到數據中心的主機上,數據中心的主機再將訂單轉到倉儲供貨中心,然後倉儲供貨中心裝車送貨。在這過程中,如果出了問題,都可能造成很大的損失。特別是數據中心的主機到倉儲供貨中心出了問題,整個供貨係統就會癱瘓。
在我剛進支持組不久,主機係統出了故障,訂單沒法下載到倉儲供貨中心。因為我不是做這一塊的,所以也沒有太上心。過了一段時間後,係統修複。那時,我正在為我手上的一個問題寫email,經理跑過來招呼大家趕快到培訓室集中,準備手改數據庫裏的訂單記錄,好讓係統能馬上處理訂單下載。我對他說發了手上的email就去。沒想到他說不行,馬上要去。當我趕到培訓室時,就見到一個技術大拿正在鍵盤上專注地敲敲打打。過了一會兒,經理告訴我們,大拿編了一個SQL,可以直接修改訂單記錄,不用我們手工改了。
我於是就問他,為什麽這麽著急。他的回答第一次讓我認識到,係統故障和金錢的緊密聯係。S那時大約有1500家店,十多個倉儲供貨中心。如果訂單不能下載到倉儲供貨中心,倉儲供貨中心裏的工人就幹坐著,照樣拿工資。訂單到了之後,因為如果供貨不及時,店裏缺貨,銷售會受影響,所以S要付加班費給倉儲供貨中心的工人裝貨,這樣額外的工資開支很容易就以百萬記。
請閱讀更多我的博客文章>>>