發(fā)布于:2021-01-17 00:00:27
0
86
0
數(shù)據(jù)庫領域是一個經(jīng)常被低估的領域,DevOps原則在其中起著決定性的作用。在2019年柏林DevOps大會上的采訪中,我們與Quest Software信息管理首席系統(tǒng)顧問Eero Mattila討論了敏捷環(huán)境中的典型錯誤以及在數(shù)據(jù)庫領域最佳實現(xiàn)DevOps的做法。
JAXenter:在引入DevOps和持續(xù)交付時,必須考慮數(shù)據(jù)庫開發(fā)的哪些方面?
Eero Mattila:對數(shù)據(jù)庫的結(jié)構更改通常需要應用程序停機,因為無法在活動操作期間進行更改。盡管應用程序開發(fā)的許多階段是自動化的,但是數(shù)據(jù)庫中的大多數(shù)步驟都是手動執(zhí)行的,常常使數(shù)據(jù)庫成為瓶頸。自動化的流程可以顯著降低計劃外停機和數(shù)據(jù)丟失的風險,加快開發(fā)周期并提高應用程序質(zhì)量。
JAXenter:敏捷環(huán)境中的典型問題是什么?開發(fā)人員如何解決這些問題?
Eero Mattila:最普遍的問題是缺乏一致的工具和不規(guī)范的程序。諸如單元測試,版本控制和代碼審查之類的任務通常僅在基本的基礎上執(zhí)行,如果這樣,則大多是手動執(zhí)行。這通常涉及大量的,計劃外的后處理。諸如Oracle的Toad Developer Edition之類的端到端工具集通過與版本控制系統(tǒng)無縫集成,數(shù)據(jù)庫代碼的單元測試,自動代碼審查,腳本生成等,為開發(fā)人員提供了支持。
JAXenter:在數(shù)據(jù)庫段中實現(xiàn)DevOps的理想過程是什么?
Eero Mattila:與所有DevOps項目沒有什么不同:所有參與者之間的交流,統(tǒng)一的工具和透明性也是數(shù)據(jù)庫部分中必不可少的標準。敏捷開發(fā)的第一步是一致使用諸如Git,Subversion,TFS或類似版本的版本控制系統(tǒng)。與所有應用程序一樣,還應使用單元測試工具對數(shù)據(jù)庫代碼進行測試,并在常規(guī)代碼審查中測試數(shù)據(jù)庫代碼的可讀性,可維護性,約定和所有用例的覆蓋范圍。最后,應該盡可能自動地執(zhí)行修改所有必需數(shù)據(jù)庫對象的腳本的生成。
JAXenter:什么因素決定DevOps和持續(xù)交付的成功?
Eero Mattila: DevOps和持續(xù)交付的目標是提高代碼質(zhì)量,同時縮短發(fā)布周期。不需要的計劃外代碼返工越少,項目將越成功。