軟體服務或產品常被分為綠地專案或棕地專案,這兩個術語最初用來指涉城市規劃和建設專案。綠地專案指在未經開發的土地上所建設的專案,而棕地專案則是指在以前用於工業生產的土地上進行建設的專案,這類土地可能遭受有毒物質或污染物的侵蝕破壞。
在科技領域中,綠地專案代表全新的軟體專案。這種專案通常還處在規劃或實施的早期階段,有機會從零開始構建全新的應用程式和基礎設施,不會受到過多限制。
DevOps綠地專案通常是指一些試驗性專案,用來證明公有雲或私有雲方案的可行性、或是嘗試採用自動化部署及相關工具等。2009年,由美國國家儀器公司(National Instruments)發布的Hosted LabVIEW就是一個DevOps綠地專案。這家公司具有30年歷史的企業,擁有5000名員工,年營業額達10億美元。
為了讓這項服務快速上市,該公司組織了一個全新團隊,允許該團隊在現有的IT流程之外獨立運作,同時探索公有雲的各項運用。最初的團隊成員包括一位應用架構師、一位系統架構師、兩位開發人員、一位系統自動化開發人員,一位營運負責人和兩位海外營運人員。他們將DevOps的概念付諸實踐,使得團隊交付產品的週期比平常時間大幅縮短了一半。
DevOps的棕地專案則是指那些已經服務客戶長達幾年甚至幾十年的產品或服務。這種專案通常背負大量技術債,比如:無自動化測試、運行在無人維護的平台等。在Nordstrom案例中,店內餐廳系統和電子商務系統都屬於棕地專案。
棕地專案不適合用DevOps進行轉型?
雖然很多人認為DevOps主要適用於綠地專案,但成功應用DevOps進行轉型的棕地專案比比皆是。事實上,2014年度DevOps Enterprise Summit上所分享的轉型案例中,棕地專案所佔比例超過60%。在轉型之前,這些專案的產品或服務與客戶需求存在巨大差異,而DevOps轉型為它們創造了巨大的商業價值。
實際上,State of DevOps Reports其中一項調查指出,應用程式的年齡並不是影響效能的主要因素;效能優劣反而取決於應用架構在當前狀態下(或重新建構後)是否具有可測試性和可部署性。
在認定傳統方法無法達成當前目標的情況下,維護棕地專案的團隊可能非常願意嘗試DevOps試驗——尤其是當達到最佳化成為燃眉之急。
以下是成功轉型的棕地專案案例:
● 美國航空(2020):DevOps實踐也可以應用於傳統的商用現貨(COTS)上。美國航空公司的會員酬賓產品運行於Seibel系統,後來改採混合式雲端模式,並投資CI/CD管線,實現自動化交付和端到端的基礎設施。自此以後,團隊的部署更加頻繁,在短短幾個月內就完成了50多次自動化部署,而且會員網路服務的響應速度是原來的兩倍,雲端成本改善了32%。更重要的是,這一變化使業務部和IT部門之間的對話產生變化。比起過去業務部門總是在等待IT部門的變化,現在,團隊能夠更頻繁、更無縫地進行部署,比業務部門驗證和接受變更的速度還更快。目前,產品團隊與業務及IT團隊齊心合作,研究如何改善端到端的流程,實現更高的部署頻率。
● Etsy(2009):2009年僅有35名員工的Etsy,年收入高達8,700萬美元。但是,一到節慶旺季,Etsy必須咬牙處理蜂擁而至的銷售訂單。因此,該企業決心徹底實施轉型,最終成為最傑出的DevOps企業之一,也為2015年成功IPO上市奠定了堅實基礎。
美國空軍系統的棕地轉型專案
2015年10月,美國空軍襲擊了位於阿富汗的一家無國界醫生組織的醫院,因為軍方堅信這是敵方據點。正如Kessel Run實驗室的平台主管Adam Furtado說:「基本上,這是由於失敗的IT生態系統,導致AC130炮艇攻擊了錯誤的建築。」
Furtado在2020年在拉斯維加斯舉辦的DevOps Enterprise Summit-Virtual解釋:「當時發生的事情並不是什麼黑天鵝事件,它是可以預測的,甚至還會再次發生。」他們需要一個解決方案。
Kessel Run的命名來自星際大戰的走私客:韓・索羅(Han Solo)的走私路線,象徵美國空軍需要自己將這些新的工作方式「走私」進美國國防部。Kessel Run這項專案是美國空軍內部,為解決傳統國防IT部門無法有效解決的艱難業務挑戰所做的持續努力。這個小組由一個小聯盟組成,負責對現代軟體實踐、流程和原則進行測試。他們的關注焦點只在於任務本身,而不囿於現狀。
Kessel Run聯盟見證了Adidas和Walmart等公司搖身成為軟體公司。他們想讓美國空軍也轉型成一個能夠贏得戰爭的軟體公司。因此,他們把注意力轉移到擺在他們面前的關鍵業務成果上:將空軍的空中作戰中心(AOC)現代化。
美國空軍在世界各地設有幾個實際的空中作戰中心,制定戰略、計劃和執行空中作戰。然而其基礎設施相當陳舊,所有工作都是由特定的人,在特定的建築物、特定的地點上,以特定硬體上存取特定資料來完成的,這種實體方法已經存在了幾十年了。他們唯一能夠實施的軟體更新是微軟作業系統。
「你可能認為我在說笑,但最近一次搜尋顯示,某個AOC的伺服器上有280萬個Excel和PowerPoint檔案,」Adam Furtado說。
蓋爾定律(Gall’s Law)指出,如果你想讓一個複雜的系統發揮作用,必須先建立一個更簡單的系統,然後隨著時間進行改進。Kessel Run聯盟就是這樣做的,他們應用了Strangler Fig Pattern,也就是所謂的Encasement Strategy,在22個實際地點逐步和迭代地實施更現代的軟體系統和流程,讓每個地點都有自己的軟體和硬體,同時維持整個系統正常運行。
他們從一個特定流程著手:空中加油系統。這個流程需要大規模協調,確保空中加油機在正確的時間、正確的高度,以正確的硬體為正確的飛機加油。這個流程涉及到好幾位飛行員每天使用color pucks、Excel Macro和大量手動輸入來進行規劃。他們的確在很大程度上變得更高效,但這樣的效能僅限於他們大腦所允許的範圍,事實上,他們無法對變化做出快速反應。
Kessel Run實驗室引進了一個團隊,利用DevOps原則、極限程式設計和平衡的團隊模式,將他們的工作流程數位化。他們在短短幾週內就向使用者提供了最初的最小可行產品。這個早期專案創造了足夠效率,讓一架飛機及其機組人員不必為實驗而每天飛行,每天可節省214,000美元的燃油費。
他們不斷進行迭代。經過30次迭代後,他們又省下了一倍費用,每天保持兩架飛機和機組人員在地面上待命。新的工作方式讓每月節省了1,300萬美元燃油費,並且減少了一半計畫機組人員。
本案例研究顯示了DevOps轉型帶來的偉大變化,同時也清楚說明了轉型同樣適用於棕地專案。Kessel Run實驗室成功降低了工作流程的複雜性,促進空中加油系統的可靠性和穩定性,幫助美國空軍更快、更安全地做出行動與改變。(摘錄整理自《DevOps Handbook中文版 第二版》第五章,碁峰資訊提供)
圖片來源_碁峰資訊
書名 DevOps Handbook中文版 第二版|打造世界級技術組織的實踐指南(The DevOps Handbook, 2nd Edition)
Gene Kim, Jez Humble, Patrick Debois, John Willis, Nicole Forsgren/著;沈佩誼/譯
碁峰資訊出版
定價:650元
作者簡介
圖片來源_Amazon
Gene Kim
是一位獲獎無數的CTO、研究員與知名IT小說《鳳凰計畫》的作者之一,同時也是IT Revolution出版社的創辦人以及DevOps企業高峰會的主辦人。
圖片來源_Amazon
Jez Humble
《Continuous Delivery》、《精實企業》的作者之一。專注於透過有效率的工程實踐,協助組織可靠地交付有價值、高品量的軟體。
圖片來源_Amazon
Patrick Debois
DevOps之父。致力於應用敏捷技術彌補專案與維運之間的落差。
圖片來源_devopsdays
John Willis
在IT業界的工作經歷將近40年。寫過六本IBM紅皮書。目前任職於SJ Technologies。
圖片來源_微軟
Nicole Forsgren博士
是微軟研究院士,並主持Developer Velocity Lab。她的研究領域為技術流程效能之衡量,並擔任State of DevOps Reports的首席調查學者。
熱門新聞
2024-10-13
2024-10-13
2024-10-11
2024-10-11
2024-10-12
2024-10-11
2024-10-11