隨著軟體技術的發展,越來越多的企業已經開始意識到 DevOps 文化的重要價值。DevOps 能夠消除改變公司業務開展方式,並以更快的速度實現交付,同時建立迭代反饋迴圈以實現持續改進。而對於金融科技(FinTech)行業來說,擁有一套企業量身定製的 DevOps 流程變得至關重要。因為 FinTech 企業需要在應對不斷變化的監管和安全場景的同時為客戶提供創新價值,而擁有並實施以 FinTech 為中心的 DevOps 方法對 FinTech 企業的業務成功來說十分關鍵。
本文將談談 DevOps 如何融入金融科技世界。並一起探討 FinTech 公司在發展獨特的 DevOps 文化和工程實踐時可以採用的方法與最佳實踐。
FinTech 行業的不同之處
傳統軟體行業正在飛速變化,而對於 FinTech 領域來說發展速度甚至更加快。FinTech 是一個相對較新的領域,卻又在最古老的領域之一——金融服務中運作著,而現代技術的進步以及不斷變化的消費者期望要求企業需要不斷響應。因此企業想要在 FinTech 領域中脫穎而出,在發展有效且個性化的 DevOps 文化時,需要考慮一下兩個對 Fintech 行業的獨特因素。
消費者驅動的市場變化
隨著消費者對軟體技術的認知與接受,人們開始要求越來越複雜的金融科技解決方案來處理在過去幾十年甚至幾個世紀以來一直由人工執行的財務工作。例如,金融科技服務正在席捲房地產行業。在2022 年福布斯金融科技 50 強上市公司中,有五家金融科技公司屬於房地產行業。從提供投資出租物業的新方式到顛覆當今購房者的抵押貸款體驗,消費者們要求在房地產投資和抵押貸款方面獲得與他們在常規銷售點和個人銀行服務中所期望的相同的易用性,房地產金融科技受到年輕人群需求的推動。
立法驅動的監管需求
金融科技領域的變化由監管環境驅動。全球現行的大部分立法都是為金融行業制定的。當政府試圖協調金融法與金融科技公司提供的創新金融產品和服務時,他們會不斷研究新產品。因此,金融科技公司經常發現自己需要在創新步伐與監管考慮之間取得平衡。
顯而易見,金融科技領域的公司不同於一般的軟體公司。其商業環境的特殊性決定了企業內部流程的獨特性。這其中就包括 DevOps。DevOps 透過使用自動化和反饋來快速向客戶交付價值,對於任何軟體公司的戰略來說都是必不可少的。而對於金融科技公司所處的特殊領域,在實施 DevOps 時需要考慮金融行業法規因素。
獨特的 FinTech DevOps 文化
採用 DevOps 方法會影響公司的開發人員 DevOps 文化及其實踐。在金融科技公司中,以下提到的 DevOps 文化元素應該受到特別關注。
分散所有權
FinTech 企業需要考慮的 DevOps 文化元素是“去中心化所有權”的概念。為了能夠靈活有效地響應不斷變化的消費者需求和法規,特定產品功能或基礎設施要求的所有權不能單獨隔離開來。因此,任何識別出關鍵需求或任務的有能力的員工或團隊都應該被授權和鼓勵以獨立於組織結構或嚴格的工作框架來解決問題。
重視自我批評
FinTech DevOps 的另一個重要元素是強調自我批評的價值。如果企業的 DevOps 不允許或鼓勵團隊檢查和反思他們在出現問題時所扮演的角色,企業將無法創新或做出足夠快的響應以應對突發事件。
應急意識與預備方案
隨著金融科技服務對現代消費者變得越來越重要,金融科技公司將越來越多地成為安全威脅的目標。成熟的團隊應當採取一種安全策略來為可能發生的惡意攻擊做準備,這種態勢也將影響企業對軟體開發生命週期 (SDLC) 和 DevOps 策略的計劃與實施。
FinTech DevOps 最佳實踐
在這一部分我們將探討 FinTech DevOps 的最佳實踐。
原始碼監管鏈自動化
在程式碼儲存庫中 FinTech 企業可以實施自動執行分支保護規則。透過執行分支保護規則,能夠有效減少容易出錯的手動過程(例如在常規刪除、合併和審查過程中對程式碼產生影響和破壞)。同時,擁有合理的雙人控制機制能夠幫助 FinTech 企業更好地應對審計和其他相關監管。
當然此類機制的實施需要適當的培訓,從而建立合規文化。當企業中的不同團隊對於合規要求意見不統一時,難以避免摩擦。鑑於金融行業處於高度監管的情況之下,讓企業的每個成員瞭解合規等法律監管是沒有商量餘地的,如果疏忽大意,企業很有可能被處以重罰甚至倒閉。
持續衡量 DevOps 效能
一般情況下企業無法提前知道 SDLC 流程的更改將如何為客戶帶來更多價值或為企業帶來更快的功能釋出及更優質的程式碼。因此需要透過持續衡量 DevOps 效能,來測試任何更改的有效性並儘早響應反饋。企業可以透過跟蹤 DORA 指標,如平均恢復時間(MTTR)等,來幫助決定如何最好地利用其資源。
使用正確的 DevOps 工具和雲技術
許多人認為實施工具是向 DevOps 過渡的核心。事實上,DevOps 工具可以提供急需的自動化和可重複性——DevOps 的關鍵原則。但如果不支援適當的操作流程,即使是最好的軟體也會失敗。常用工具包括:
- 版本控制和原始碼控制工具
- CI/CD 自動化伺服器,例如 Jenkins、Bamboo 或 GitLab CI/CD
- Appium、Selenium 和 Test Sigma 等連續測試工具
- 自動釋出和部署工具
- 容器化和虛擬化工具,例如 Kubernetes、Docker 和 Vagrant
- 編排和工作負載排程工具等
DevOps 正在推動對雲端計算的興趣和需求。由於 DevOps 專注於持續創新並加快從開發到生產的軟體交付,雲操作也需要在雲環境中不斷改進。如今 DevOps 環境必須更新底層的分散式雲基礎設施,以擴充套件和管理使用類似服務支援這些操作的應用程式。DevOps 需要關注他們使用的所有云服務的可衡量價值。
參考連結:
https://dzone.com/articles/devops-best-practices-for-fintechs