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