在倫敦舉行的第一次DevOps歐洲企業峰會上,SIX公司應用工程部負責人Robert Scherrer分享了公司是如何推行DevOps原則并在受高度監管的瑞士金融業中獲得成功的。談話中涉及到的要點有:盡早與合規性審計者建立合作關系、盡早就解決方案達成共識、避免拖得太久而需要花費巨大代價修改、取消已經不為當前外部規則需要的舊的內部指令等。
在項目付諸實施之前就與審計者分享討論技術方案的設計,這樣可以解決掉那些潛在的合規性問題。Scherrer分享了一個他們把系統移到Openshift私有云上的故事,當時審計者就金融服務在同一個云設施上的多租戶問題提出了顧慮。解決方案是建立一個基礎設施池并為每個客戶提供一個專屬云。這增加了系統的配置復雜度,但是消除了審計者關于安全的顧慮,保證了后期系統的順利上線。
Scherrer說盲目地遵循內部指令是個可能要付出巨大代價的錯誤,會阻礙從DevOps中獲益。一方面,內部指令往往比外部規則約束性大得多。另一方面,各種服務和模塊重要性并不都一樣。所以要求所有的東西都遵守相同的一致性等級會造成非常大的浪費。在管理層的全力支持下,Scherrer成功地把好幾條內部指令對應的外部規則找了出來,然后修改了內部指令來讓它們約束性小些。
特別有一條值得分享的是開發沒有權限接觸生產系統,Scherrer調查后發現其實沒有外部規則要求這么做,這只是關于職責隔離這個要求的一個字面解釋。Scherrer說現在SIX公司65%的開發可以拿應急電話,而且可以根據他們的角色獲得訪問生產系統的臨時權限。更進一步,通過把生產系統的日志收集并傳輸出來集中存儲,開發團隊已經可以非常容易的獲得生產系統日志。同時,通過轉移到“不可修改基礎設施”上,手工干預生產系統的可能性已被降到最小,這極大的提升了審計者的信任度。
Scherrer說在高度監管的環境下實施DevOps會有許多好處:由自動發布系統帶來的細粒度的可追蹤性及相應的可審計性、更高的安全性(比如在構建時就進行自動地系統漏洞掃描)、更高的系統質量等。有趣的是,要提升知識分享和代碼質量的話,只要保證所有關鍵代碼(比如支付模塊)都被審查過(并且審查本身是可追蹤的)就可以滿足PCI DSS等關鍵要求了。
閱讀英文原文:DevOps Survival in the Highly Regulated Financial Industry