非洲最大的標準銀行擁抱DevOps後,只需17 分鐘就能發布一次新版服務,比過去4周才能 建妥伺服器的速度,快了上千倍。

圖片來源: 

維基百科,Chef

早在2013年中,當時在非洲最大的標準銀行(Standard Bank)擔任資訊長的Dawie Olivier,做了一項大膽的決定。為了加速銀行服務交付的步調,他決定導入一個能夠實現持續整合(Continuous Integration)的新開發流程。

對於一家成立超過150年的老字號銀行來說,這可是一個大工程。因為標準銀行是大型主機的大客戶,儘管使用了許多前端技術,如Java和AngularJS等,後端系統主要開發語言還是COBOL,內部系統所用OS則包括了Red Hat、SUSE、Solaris和大型主機用的AIX。

如何整合這些異質平臺,成了標準銀行導入持續整合流程最大的絆腳石。因為這些異質環境在部署和管理的作法差異很大,想要找出一套能夠通用各平臺的作法非常困難,標準銀行IT團隊花了半年討論,仍舊沒有進展。而且標準銀行當時內部資訊基礎架構的自動化程度也不夠高,光是要建立一個虛擬機器就得花上好幾個禮拜。

直到2014年初,Dawie Olivier找來IT維運部門主管Mike Murphy共同討論,才啟動了標準銀行擁抱DevOps的轉型之路。第一步是先決定流程變革的大方向,Dawie Olivier找來Chef開發團隊擔任顧問,花了1天時間和35位銀行高層討論先決定大方向,一方面也讓高階主管了解什麼是DevOps的基礎知識,讓這群主管熟悉同一套DevOps的詞彙,另一方面則是讓高層能夠預先掌握導入持續部署後,自動化流程對銀行基礎架構及應用程式開發上的衝擊。

當天下午,高層們決定先選擇一個能快速凸顯出顧客價值,又是銀行IT團隊熟悉的服務作為試行專案,後來決定先從預付卡服務作為第一個導入DevOps的專案。這項服務可供非洲民眾直接透過手機App預付電費和網路費用,取代過去得購買實體點數卡片的作法,民眾想要用上網時,直接透過APP從個人銀行戶頭扣款後就可以啟用。

先將Dev和Ops集中到1間辦公室

訂定專案目標後,標準銀行也決定放棄由上而下制訂流程的方式,改將開發團隊(Dev)、維運團隊(Ops)和業務部門成員,集中到同一間辦公室內,讓他們一起工作,一起討論出更快交付服務和應用程式的作法,他們選擇了Chef作為持續整合的主要工具。

Dawie Olivier接著再花2天時間來培訓實際參與這個專案的所有工程師以熟悉Chef工具。

標準銀行的DevOps團隊先共同討論出一套工作準則,例如不要變成一個Chop(非洲用來形容笨蛋的俗稱),速度是最高準則凡事先做再說、絕不事後指責、要像新創公司一樣思考、快速失敗快速前進、練習信任和尊重彼此等。

他們還自稱自己是Chop Chop團隊(ChopChop源自廣東話的英譯,意指快、快、快之意),也仿效新創公司的做法設計了一款T恤,衣服背面印上「Don’t be a chop!」來提醒自己。這件衣服後來成了標準銀行員工最搶手的物品,大家都想要一件。

團隊成立後,標準銀行先解決手動建立虛擬機器部署太慢,甚至得耗時數周的問題。Dawie Olivier觀察過去作法發現,每一道手動作業會降低15~20%的效率,超過5次手動作業,就等於白白多花了一倍時間。所以,Chop Chop團隊花了幾個禮拜先建立一個高度自動化的Full-Stack部署環境,包括了虛擬機器內所需安裝的OS、資料庫或中介軟體等都能自動建立,連原有紙本公文申請程序都放棄了。最後只要17分鐘,Chop Chop團隊就可以建妥一個開發網路銀行服務所需要的執行環境。

資訊基礎設施自動化之後,Chop Chop團隊再著手改變開發流程,放棄了舊有的瀑布式開發流程,改導入敏捷開發。另外,還調整了過去的開發測試作法,將資訊基礎設施的測試也納入開發品質控管的一環。甚至還翻轉了過去資訊基礎設施測試的流程,不是等到裝妥伺服器後才測試,而是要求QA人員先討論出合適的測試案例,再進行虛擬機器建置,最後再執行測試。

除了使用Chef工具,Chop Chop團隊還使用了Bamboo工具來管理持續整合(CI)流程,透過自行撰寫的腳本程式,每小時會自動執行建立一個沙箱環境,並自動從版本控制系統上,取得最新版的程式碼,再部署到虛擬機器中,安裝完成後也自動展開應用系統測試和資訊基礎環境的測試。管理人員直接從Bamboo系統的儀表板上,就能得知最新的應用系統程式碼和環境的測試結果。新功能是否能順利運作,不論開發團隊或是高層主管,人人一看就知道。

花了一年時間,同時導入了敏捷開發和DevOps流程,標準銀行在今年2月11日,才正式推出了預付卡服務。

標準銀行Chop Chop團隊中一位主管Derek Chung說,過去標準銀行為了區分權責,習慣用ITIL觀點來管理,因此可以接受「花4周來部署一臺伺服器」,但是標準銀行擁抱DevOps之後,顛覆了過去的觀念,現在,Chop Chop團隊建立一套預付卡服務所需的上線運算節點只需要17分鐘,包括了部署2臺網站伺服器(Apache)和2臺應用程式伺服器(EPA/JBoss),並完成所有程式部署與測試工作。

從4周到17分鐘的變革

從4周到17分鐘,標準銀行推出新服務的速度,足足快上2千倍,這不是只有第一次如此,而是未來每次推出新服務或程式改版,都可以擁有17分鐘完成的發布能力。

標準銀行的故事並不是特例,已有不少企業因為擁抱DevOps而大幅改善了自家軟體上市的時程。根據DevOps主流工具廠商Puppet Labs在2013年底針對全球9千位科技從業人員的2014年DevOps大調查資料中顯示,擁抱DevOps後最明顯的成果則是IT部門部署程式的速度平均比過去快了30倍,而出錯率則減少了50%。

這項調查是目前最大規模的DevOps調查,涵蓋全球110個國家的科技從業人員,超過1成受訪者來自擁有5千臺伺服器的大企業。

調查結果還發現,高達16%約1,485位的受訪者所屬企業,已經建立了專屬的DevOps團隊,超過3成受訪者的職稱甚至直接就是DevOps工程師,而且不只是20人規模的新創公司才會設置DevOps,連3、4百人規模的大企業,也設置了專門的DevOps職務。娛樂業、科技業和網路軟體公司是DevOps工程師最多的三大產業。

Pivotal技術行銷部總監Michael Coté認為,標準銀行這個例子,正凸顯了DevOps不再是超大型網路公司、或是技術領先企業的專屬技術,而是開始會成為一般企業也想用的主流IT技術,他說:「尤其是非科技類的傳統企業更要擁抱雲端和DevOps。」

Gartner更預估,2016年時,全球兩千大企業中將有四分之一的企業將DevOps視為企業主要戰略,光是DevOps工具的市場規模將達到23億美元之多,相當於伺服器廠商戴爾在2015年第一季的總營收。Gartner研究總監Laurie Wurster在報告中解釋,因為數位經濟的本質是軟體,軟體交付的速度,決定了企業在數位大環境中的競爭力。

儘管臺灣這股DevOps風潮仍舊環繞在網路公司和新創公司為主,但也有一些企業開始擁抱DevOps,例如趨勢科技消費端產品研發團隊,早就擁抱DevOps,讓產品發布時間可以加速到每周發布一次,來因應消費端防毒市場的快速變化。

DevOps風潮即將席捲全球,臺灣企業,準備好面對在這一波將帶來數十倍、甚至是百倍或千倍上市加速度的軟體改版追逐戰了嗎?

相關報導請參考:DevOps變革三部曲(一)DevOps:搶先一步的IT競爭力


Advertisement

更多 iThome相關內容