AWS Cloud and DevOps with the intention to bring more enterprise on to the cloud and practicing

(只提供繁体中文版本)

DevOps – Blog by John Chang

AWS Cloud and DevOps with the intention to bring more enterprise on to the cloud and practicing

最近在『DevOpsGuys Blog』中看到了一篇文章,它用了F1賽車影片當作一個範例,以1950年代與現代的狀況做一個區別。在1950年,在車輛停下做保養時,有一個人專職換輪胎,一邊換完再去換另一邊,另一個人負責加油,團隊人數大約五人左右,總共費時大約一分多鐘才完成。而現代的情況則是整個團隊共同幫忙換輪胎,團隊人數大概有20人,大約只花費三秒鐘就讓賽車重回賽道。

從這個影片我們大概可以猜想的到,以前的軟體開發,應該是一個小團隊,每個人各司其職,只做好自己的工作即可,然後就能把工作移交給下一位,這種情況下,每個人對自己的工作非常清楚,但不了解其他人的工作內容為何,整體而言也不夠有效率。這也是為什麼DevOps可以勝出的原因,一個高效率的團隊,除了每個人對自己的領域有專業性之外,也願意去學習跨領域的技能,以達到共同的目的,這是DevOps最主要的原則。

使用的工具也是原因之一,在1950年代,輪胎更換人員使用一把鐵鎚去更換輪胎,耗時非常久。而2013年代的團隊沒有使用任何工具即能將舊胎拆下,並迅速裝上新胎,這牽扯到了介面的設計是否可以迅速改變。在我們之前的經驗中,我們使用了Jenkins做為我們的編譯工具,它可以自動編譯開發人員上傳的程式碼,檢查是否有語法上的錯誤。當然,語意及邏輯部分還是需要工程師判斷。但有了Jenkins的幫忙節省了不少時間,任何對於專案有幫助的工具都可以使用,這是改善效率的一個重點。程式架構的設計也非常重要。如同上面所說,好的架構或介面,可以幫助在未來有需要更動的時候,以快速且影響最小的方式改動,程式間彼此的耦合度越低,越不依賴其他部分,越能迅速的替換,這是程式設計師的核心價值。

最後是團隊成員間的彼此信任與合作,在F1比賽中,良好的默契幫助整個替換的過程更快,在IT的領域也是一樣的道理。組員間互相信賴與幫忙,也是加速整個流程的關鍵。所以我認為,成員是核心部分,善用工具更能幫助DevOps更加完善。

Posted in ICG日志.