星展集團在網路上大方分享自身擁抱SRE的過程和作法,更針對想要著手導入SRE作法的企業,提出了3大建議,第一,全面了解當前系統狀況,以確立SRE可為企業帶來哪些影響;其次,建立開放和樂於分享的環境;最後,挑戰自己,不斷改善作法。

「對星展來說,更強大的工程架構,變得非常重要,」星展集團企業架構暨SRE資深副總裁Harpreet Singh跨海視訊時強調:「這正是SRE引起星展關注的起點。」而他正是一手打造出星展SRE團隊的負責人。

成立逾50年的星展集團,為了加快數位銀行的發展速度,從2014年開始全力擁抱新技術來改造銀行服務,是亞洲銀行界的數位化標竿,不只兩度被評選為全球最佳數位銀行,轉型經驗也是許多大型企業競相參考的對象。近3年,接連被多家國際金融雜誌評選為年度全球最佳銀行。

走到了全球數位銀行發展的高點,星展的定位也開始轉變,2019年時,星展集團資訊長Jimmy Ng在年報中曾這麼說道:「星展現在是一家從事銀行業務的科技公司,而不是正尋求數位化的傳統銀行。」

隨著星展集團開始內化科技公司的思維,也開始不斷尋找新角度,來讓銀行服務更簡單、順暢地融入客戶生活,實現高效率交易的顧客要求,而要達成目標,IT工程架構能力是關鍵,所以,Harpreet Singh透露,星展從2019年決定開始導入SRE。他們是全球金融業界中,第一批率先導入SRE的銀行。

在2019年時,DBS開始規畫如何導入SRE方法論,來改變IT基礎設施和應用程式的維運,希望能兼顧擴充性和高度可靠性(reliability)。

實踐SRE挑戰:從何起頭?

萬事起頭難,與眾多企業一樣,星展集團也在初規畫SRE實踐時,遭遇了挑戰,那就是,不知從何開始展開這趟新旅程。

星展擁抱SRE的第一步,Harpreet Singh指出,有兩個重點,第一,具備非常明確的意圖。他解釋,星展集團非常清楚,導入SRE後可以達成的目標,所以,他們有非常堅定的意圖,「必須行動,實現目標。」其次,再透過跨技術部門協作,快速建立一套可以向前推進的共同方法。

2019年時,星展集團先成立了一個工作小組,召集各個技術部門主管組成,包含資安、企業架構、應用程式、基礎設施等,經過大量的討論、商議,建立一套自身實踐SRE的共同方法。有了明確的做法,工作小組再轉變為一個負責導入的核心團隊,向各部門推廣SRE作法,並設立多個SRE小組,進駐各個技術部門,來落實SRE作法。

Harpreet Singh是催生星展SRE原則和導入藍圖的關鍵人物,他過去擔任星展集團科技服務部門也就是基礎架構團隊的副總裁時,是企業工具開發團隊的負責人,在星展開始全力數位轉型前期,打造出多種基礎架構自動化工具和平臺監控機制。

他指出,星展集團導入SRE時,做了全盤性考量。先全面了解當時星展的營運和系統狀況,評估SRE可以為企業帶來的影響之後,才著手訂定出星展自己的SRE運作準則,先將SRE作法確實融入架構設計階段,再一路落實到維運工作上。

星展集團SRE八大準則

星展集團企業架構暨SRE資深副總裁Harpreet Singh 表示,SRE必須成為一種規範(SRE as a norm),唯有這樣,SRE才能無縫與工程結合,達成企業想要實現的目標。 圖片來源/星展集團

各SRE團隊因各自支援的服務不同,在工作流程、優先事項和日常工作項目上也都不盡然相同,所以,星展集團訂出了一個通用的SRE八大準則,點出了從架構設計到維運,SRE工程師應該做的事,來統一各SRE團隊的運作。

首先是架構準則,架構設計需採取「Design For Failure」(為因應失敗而設計))的設計概念。也就是,先假設任何可能發生的故障狀況,以全面思考如何處理問題,以及設計復原故障的作法。

Harpreet Singh強調,系統一定會故障,追求具百分之百可用性(availability)的系統,是不切實際的想法。最好的作法是,在設計架構時,就要確保架構的品質,來思考系統損壞之後如何因應。

第二項是開發和建置準則,開發新系統或應用時,星展要求SRE必須了解,系統開發方向會如何從上到下,影響整體軟體堆疊(Software Stack),以及會如何影響關鍵的可靠性指標。第三項是測試準則,Harpreet Singh表示,測試是一個非常關鍵的要素,可以預先解決很多系統的潛在問題。星展集團SRE也會利用混沌測試(Chaos Testing)工具來破壞系統,了解系統的弱點,並在系統正式投入生產環境前,修復大多數的問題。

下一個準則是系統可觀測性(observability)準則,不是由外而內的監控,而是讓系統自己就具有足夠、豐富的資訊,可以對外提供各種系統資訊,方便觀測系統的狀態。尤其,隨著系統的部署後,SRE需掌握系統的運作狀況,一旦發現系統的效能不佳,需要進一步開始聚焦如何提升系統的穩定性。星展集團在提升系統穩定性的工作上,也應用了錯誤預算(Error Budget)概念,來預先訂定可以容忍的系統出錯空間。

接著,第五項準則聚焦產品服務推出的作法,像是要建置自動化CI/CD工作流程,來快速地自動擴大部署(rollout)服務,還有自動還原服務為舊版(rollback)。

等到一項產品服務投入生產環境之後,SRE關注的焦點則轉為第六項的事件應變準則,重點放在,當服務發生問題時,可以多快速地恢復正常。一旦系統發生狀況,SRE需快速偵測出問題,並找出相對應的補救措施,盡快修復系統的問題。

第七項則是組織面要建立不究責文化,來進行「不究責事件回顧」(Blameless Incident Retrospective)準則。這是一種事件回溯的作法,星展SRE會聚焦了解事件始末,對事不對人來檢討,從問題中找出解決問題的辦法,而非著重於找出引起問題的人或組織。Harpreet Singh表示,不究責文化對每一個SRE作法都非常重要,處理問題的心態需從責怪轉換為不究責。

最後一項是教育準則,星展集團通過建立SRE課程,讓人員了解SRE的含義,不管是概念、表達方式還是所用的技術。為此,星展集團還自己建立了一套SRE認證計畫(SRE Accreditation Programme)和課程,來鼓勵人員學習SRE作法。

星展8大SRE準則,不只是一種SRE方法論的思考實作,也是涵蓋了整體開發設計乃至維運方式的流程。Harpreet Singh強調,SRE並非是一種「做完交付就結束」的專案,它會不斷地發展,然後,不斷地驅動價值、實現目標,以創造更好的客戶體驗。以開發工程師為例,當他撰寫程式碼時,必須知道自己開發的系統必須建立可觀測性,維運團隊才可以支援和管理。

甚至,Harpreet Singh認為,SRE必須成為一種規範(SRE as a norm),唯有這樣,SRE才能無縫地與工程結合,達成企業想要實現的目標,所以,「星展就是將SRE視為規範來推行,甚至,內化為我們的DNA。」

 新加坡星展集團SRE八大準則 

 1  架構準則:架構設計採取「Design For Failure」(為因應失敗而設計))的設計概念

 2  開發和建置準則:開發新系統時,SRE須了解系統開發如何從上到下影響了整體軟體堆疊(Software Stack),以及如何影響關鍵的可靠性指標。

 3  測試準則:透過測試預先解決系統潛在問題。星展會用混沌測試工具破壞系統,了解弱點,在部署到生產環境前修復。

 4  系統可觀測性準則:讓系統自己對外提供各種系統資訊,方便觀測系統的運作狀態。也用錯誤預算(Error Budget)概念,預先訂定可容忍的系統出錯空間。

 5  產品服務推出準則:建置自動化CI/CD流程,快速自動擴大部署服務或自動還原舊版的機制。

 6  事件應變準則:系統發生狀況,SRE需快速偵測問題,找出對應補救措施,盡快修復問題。​

 7  進行不究責事件回顧(Blameless Incident Retrospective)準則。建立不究責文化,聚焦事件始末,對事不對人,從問題中找出解法,而非著重於歸咎人或組織。

 8  教育準則:設計SRE課程來培訓員工了解SRE的含義,星展還有一套SRE認證計畫,來鼓勵員工學習SRE作法。

資料來源:星展集團,iThome整理,2021年4月

從3面向推動SRE轉型計畫

為了建立SRE為一種規範的認知,星展集團進一步建立了一項SRE轉型計畫,來加快內部擁抱SRE作法的速度,也要用來改變技術團隊建置和設計應用程式的方式,建立和交付可高度觀測的系統,Harpreet Singh比喻這個新作法,就是讓工程師「配戴一副SRE鏡片」。

星展集團三管齊下,推動SRE轉型工程。首先是技術轉型,星展也從數百個既有關鍵應用程式下手,來落實SRE作法,讓這些應用系統的運作,都能符合8大SRE準則。統計到去年,星展已成功的轉換了超過100個核心應用程式符合SRE準則,今年的目標是,再進一步完成上百個關鍵應用程式的SRE轉換。

其次是人員轉型,星展集團規畫了SRE認證計畫和培訓課程,來培訓工程師具SRE知識和灌輸SRE思維,提高人員的技能。Harpreet Singh強調,人是實踐SRE的關鍵。

通過這個認證計畫,光是去年,星展集團就培訓了4千名技術人員,讓他們更認識SRE,並了解星展導入SRE設定實現的目標,進而知道自己可以為這個目標做出什麼貢獻。

最後一項轉型工程是打造各種SRE啟動器(SRE Enablers),聚焦於建立一批新工具和服務,來支援應用程式進行SRE技術轉型。不管是測試系統、觀測系統,還是自動化部署系統,Harpreet Singh直言,這些SRE實作都需要工具支援,因此,星展也要求SRE團隊自己開發新工具,來改善應用程式的可用性、延遲性和效能等。

選擇自建工具,以確保符合自身環境需求

經過這兩年的開發,星展集團為測試、容量規畫、觀測追蹤等工作,都開發了一套內部的SRE工具和服務。

星展集團決定自行開發SRE工具時,經過兩項考量,第一個考量是,不確定商用產品能否無縫地在自己的環境內運作。Harpreet Singh解釋,SRE對金融領域來說,仍是相當新穎的概念,市場上,還沒有很多相對應的金融領域產品,因此,他們也無法確定,這些商用產品能否完全符合星展的環境。再加上,他認為,不同企業賦予SRE的角色不盡相同,所以,星展也擔心採用外部解決方案,反而在導入前得需花上大把時間評估和討論。

其次是,星展也衡量過自身的工程開發能力,是否能建立可在組織和系統中無縫正常運作的工具。Harpreet Singh表示,只有星展集團自己才能清楚掌握自身環境的樣貌,知道自身環境對工具設計上的要求,再加上星展擁有適當的工程實力,因此,星展集團最後決定按照自己的方式,開發符合自身環境及需求的SRE工具和服務。

例如,星展有一套自製的自助式混沌工程(Chaos Engineering)服務Wreckoon,Harpreet Singh解釋,就算市場已有混沌工程產品,但,星展集團要自行建構自身混沌工程的作法,確保工具能模擬他們想的到的所有故障或攻擊方法,才能更好地偵測系統弱點,並強化整體應用程式的彈性。

Wreckoon服務目前具有40種不同類型的測試技術,不僅具備混沌工程功能,還有其他破壞系統的攻擊方法,而且,想要測試自身系統的使用者,不需找技術部門來協助,使用者可以直接進入該工具後臺,設定想要攻擊的系統對象,就會自動部署需要的測試任務。

除了混沌工程工具Wreckoon外,星展集團還自行開發了不少SRE工具,像是自動糾正引擎(Auto-Remediation Engine)、容量規畫預測機器學習模型,以及SRE追踪、評估和審查服務,還有錯誤預算工具。此外,更採用了資料導向技術發展自動化機制,來優化開發、維運的工作週期。星展自己內部經統計,這個資料導向自動化機制在18個月內,節省了近百萬小時的維運和開發工作。

Harpreet Singh認為,通過這些自行開發的工具,星展集團不僅能避免遭遇重大事故的衝擊,更證明了星展自己的工程能力,可以快速開發客製的解決方案,並推動大規模採用。

疫情衝擊下,去年,許多民眾無法上街至銀行臨櫃辦理銀行手續,紛紛轉向數位銀行,使得許多銀行業者面臨系統容量擴充的挑戰。星展集團數位平臺和通路,都可以安然處理激增的流量,就是仰賴SRE強化了系統彈性和可靠性,還可快速交付新功能,這正是彰顯SRE價值的最好例子。

Harpreet Singh表示,擁有想要不斷發展的心態,再加上,具有實驗精神和學習文化,是促使星展集團保持創新,以及不斷思考下一步的關鍵,所以,「SRE將繼續保有創新的步伐。」星展集團將繼續改造既有的系統,讓更多關鍵應用程式擁抱SRE作法,持續尋找可以優化現有SRE作法的方法。

【星展SRE負責人快問快答 1】企業如何快速上手SRE?

企業要懂得善用外部的協助,有助於實踐SRE。企業也可以與業界技術領導者交流,像是星展準備建置自助式混沌工程服務Wreckoon時,就先花時間研究Netflix如何進行混沌工程,研讀他們分享做法的書籍,以從中吸取經驗,才來研究星展可以怎麼做。多虧許多科技巨頭提供了透明化的資訊,今日有很多SRE資訊都是公開可取得的資訊。

Harpreet Singh提醒,只有企業最了解自身應用程式的運作狀況,外部人員無法了解整體狀況,所以,企業利用適合自身環境的外部知識,是跨出SRE實踐的第一步,也是最佳秘訣,這正是當時星展的做法,如此,才不會受限於自身視野,只關注同一事物。

【星展SRE負責人快問快答 2】如何培養好的SRE工程師?

要成為一名SRE工程師,擁有正確的態度與思考模式,至關重要,而不是技能,技能可以不斷再學習。此外,還會特別注重工程師做事情的方式,有時,工程師過於專注研究問題的根本。然而,一位SRE工程師看待問題時,要看到更多元的面向,甚至要以360度視角來掌握問題的全貌。因此,擁有專業的技能,以及願意學習的態度作為成長的基礎,還有可從稍微不同的角度來看待事物的能力,是一位好的SRE工程師需具備3個關鍵條件。​

熱門新聞

Advertisement