今天我要給大家介紹介紹我以前設計的軟體產品。我從2013年起在西雅圖的幾家軟體公司當工程師。幾年以前一位客戶問我們公司可以不可以幫他跟一家美國汽車的大公司合作,做出一個讓用戶實時地查自己的汽車資料的網站。如果你用過UBER的話,你大概知道網站最簡單的功能,就是把汽車的地點畫在地圖上。而且在網站上查得到汽車有多少油,車輪有多少氣,什麼的。這個網站很值得推薦,因為像建築公司或搬家公司這樣的公司各有一百多輛汽車,這樣一來可以節省不少跑來跑去調查汽車情況的時間。
在科技方面,都是大的汽車公司已經做好的。公司新出產的汽車裡有一個小電腦,每幾秒紀錄一次汽車現在的情況,然後把這個資料傳到公司。我們公司只要把已經紀錄下來的資料做成網站上查得到的資料。
合作公司第一個要求是我們需要實時地處理汽車數據。一方面,對用戶來說,這是一個重要的考量,老闆不但看得到汽車現在在哪裡,下一個會議會不會遲到,還有需不需要加油,什麼的,一方面,對賣家來說,最能代表這個產品特色,客戶一看到這個功能,就立刻想要購買。可是對工程師來說,這個功能讓我們很煩惱。
實時地處理資料以外,另外一個問題是必須存很多數據,既然每輛汽車都能每分鐘發出不少數據,甚至不到十位客戶就碰到了大數據的問題。大數據這個名詞現在很熱門,意思是數據超過傳統電腦能儲存的。為了好好地處理既多又大的汽車數據,我們選擇利用現在普遍的雲端科技做我們的伺服器基礎。由於時間不夠,我不能詳細地說明我們最後設計的架構,只好簡單地說我們把伺服器分成了三個主要的部分:第一,處理數據;第二,儲存數據;第三,我們網站用的API。這樣一來,每個部分都能使用不同雲端科技,不但方便我們選出最合適的技術,可以更快處理並存好數據,而且既然每個部分是完全分開的,如果一個部分有問題,其他的部分不會受到影響,整個軟體也更穩定。
透過這個雲端架構我們成功地推出了我們原來想要做的網站。從我當工程師以來,這成為一個非常難得的經驗,一來是我從來沒做過一個那麼有意思的產品,二來是第一次完成一個那麼複雜的產品。我希望大家聽到我的演講以後,多瞭解實時遙測處理作法,以及這個技術在生活中佔什麼樣的地位。
© ICLP-NTU. ALL RIGHTS RESERVED.