2011年10月20日星期四

DevOps 是什麼 ?

要介紹這個「DevOps」之前,阿舍就要來說一下阿舍的經驗,阿舍記得這個軟體開發人員和業務通常是會有紛爭的,因為業務為了滿足客戶或是為了拿到案子,總是會隨著「情勢」的變化而要求軟體開發人員做「Change」,所以,軟體開發人員都會覺業務都在亂搞,只想操死他們而已,同樣的情況也會發生在軟體開發人員和軟體維運人員的身上,軟體開發人員為了滿足使用者的需求,也會不斷的上新版本,但是,新版本通常是會造成新問題的,因此,會增加軟體維運人員的工作量,所以,軟體維運人員會傾向不要修改,可是,軟體開發人員則是不得不改,兩者之間就會產生一個叫做「Wall of Confusion」的東西哩 !

圖片引用自 Wikipedia

這個「困惑牆 (Wall of Confusion)」會為兩邊在軟體開發和部署上造成問題,軟體開發人員只想把需求完成,顧不了軟體部署時會有什麼問題,而且,也不認為這是軟體開發人員應該要負責的事,所以,當軟體維運人員要部署和維護軟體時,就有可能會遇到一些問題,但是,軟體開發人員不一定會協助處理,而軟體維運人員為了把軟體成功部署上去,就有可能為此去變更軟體的程式碼或設定,或是兩邊為了無法上線的責任歸屬問題而吵翻天,造成效率不彰的問題。

這個「DevOps」就是「Dev」和「OP」兩個字的合併,指的是開發與維運人員,「DevOps」是一些協助指導開發與維護人員協同合作完成軟體開發和部署的一些原則,希望透過「DevOps」的指導原則幫助企業的資訊部門來解決「困惑牆 (Wall of Confusion)」的問題,並且,籍此提高軟體品質、加快開發速度和避免重工,而這些原則後來也被開發成一些工具軟體來協助開發和維護人員推倒Wall of Confusion。

阿舍這篇是篇很基礎的介紹,說的只是概念,如果你是資訊部門的主管,也有遇到「Wall of Confusion」的問題,那麼也許可以花些時間來瞭解一下,看看這個「DevOps」的東西能不能幫你改善一些問題哩 ! ( 在 Dev2Ops Wikipedia 網站上,都有很多資料可供參考...)

0 意見: