共計 1991 個字符,預(yù)計需要花費 5 分鐘才能閱讀完成。
CALMS 及其與數(shù)據(jù)庫 DevOps 的關(guān)系是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面丸趣 TV 小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
CALMS 是框架的首字母縮寫,它允許企業(yè)評估他們在 DevOps 之旅中的準備程度,以及他們可以改進的地方。CAMS(沒有 L)是由 Damon Edwards 和 John Willis 在 2010 年首次美國 DevOps Days 之后首次推出的.Jez Humble 后來添加了 L,代表 Lean,現(xiàn)在這個縮寫詞的全部含義是:
有趣的是,數(shù)據(jù)庫開發(fā)軟件的進步現(xiàn)在意味著可以使用相同的框架來評估企業(yè)是否也為數(shù)據(jù)庫 DevOps 做好了準備。
文化
在談?wù)?DevOps 時,文化是它可以激發(fā)的轉(zhuǎn)型的核心。DevOps 文化改變了企業(yè)的工作方式,使團隊能夠產(chǎn)生令用戶滿意的出色結(jié)果。
文化的一個重要部分是打破組織內(nèi)部存在的孤島,以便 Dev 和 Ops 能夠更好地共同努力實現(xiàn)同一目標 – 那些快樂的用戶。它不再是我的機器上工作或它不是我的問題氣氛。現(xiàn)在,讓我們共同努力,為用戶提供最佳體驗。這是為了讓團隊能夠為用戶做最好的事情,并確保他們可以根據(jù)需要發(fā)布。
這對于數(shù)據(jù)庫來說非常重要。傳統(tǒng)上,DBA 在自己的部門中非常孤立,并且經(jīng)常被視為更快地發(fā)布更改的瓶頸。他們對生產(chǎn)數(shù)據(jù)庫的性能及其數(shù)據(jù)的安全性負全部責任。現(xiàn)在整個團隊 – 開發(fā)人員和 DBA– 應(yīng)該考慮如何盡可能順利地發(fā)布,如何在生產(chǎn)中運行,以及在何處構(gòu)建安全性。
自動化
自動化是 DevOps 的關(guān)鍵。如果您想更頻繁地發(fā)布,那么發(fā)布管道是自動化的理想選擇。它完全重復(fù),自動化將有助于消除任何手動錯誤。
自動化的另一個好處是它提供的可追溯性。您將能夠確切地看到哪些環(huán)境以及何時應(yīng)用了哪些更改。你甚至可以看到誰做出了改變以及為什么; 也許它們與用戶故事有關(guān),或者可能是錯誤修復(fù)所需要的。如果您的管道中有任何手動批準步驟,您還可以查看誰審核了更改并簽署了發(fā)布。
持續(xù)集成一系列自動化測試對于自動化版本非常重要。CI 的輸出是包含發(fā)布所需的所有文件的包,將用于部署到其他環(huán)境,因此您只需構(gòu)建一次并且部署是一致的。自動化測試(單元,煙霧,集成,性能,GUI)對于提供發(fā)布信心并在問題到達生產(chǎn)并影響用戶之前發(fā)現(xiàn)任何問題也很重要。
自動化并不意味著持續(xù)部署。在持續(xù)部署中,每次提交更改時,它都會一直流經(jīng)發(fā)布管道,直至部署。為此,您需要對自動化測試有很大的信任。
相反,我所說的是持續(xù)交付,其中使用自動化來進行更改,以便在審核后根據(jù)需要將更改發(fā)布。這在應(yīng)用程序開發(fā)中越來越常見,過程看起來像這樣:
典型的部署管道,將數(shù)據(jù)庫開發(fā)作為孤立的進程
當他們聽到自動化數(shù)據(jù)庫更改發(fā)布到生產(chǎn)時,很多 DBA 都會感到害怕。但同樣,我說的是自動化和持續(xù)交付,而不是持續(xù)部署。將審核步驟作為自動化管道的一部分包含在內(nèi)也非常容易,這樣 DBA 就可以確切地了解在生產(chǎn)中發(fā)生任何變化之前會發(fā)生什么。
將數(shù)據(jù)庫包含在持續(xù)交付中,而不是使過程復(fù)雜化,實際上看起來要簡單得多。如果用于數(shù)據(jù)庫開發(fā)的工具與已經(jīng)用于應(yīng)用程序開發(fā)的工具集成并插入,那么引入它也會容易得多:
具有數(shù)據(jù)庫開發(fā)的部署管道,作為持續(xù)交付過程的一部分
自動化和數(shù)據(jù)庫的另一個好處是能夠在盡可能接近生產(chǎn)的臨時 / 預(yù)生產(chǎn)環(huán)境中自動進行測試部署。通過在生產(chǎn)中運行部署腳本之前最后一次測試部署腳本,這提供了最佳成功機會。
靠
精簡是在最初的談話之后添加的,并且是 DevOps 的重要價值。精益專注于漸進式改進,并將工作分成小批量。小批量允許您在開發(fā)時經(jīng)常發(fā)布。這一點非常重要,這樣您就可以獲得真實的用戶反饋,并從中學習,以便根據(jù)您的學習需要進行調(diào)整和調(diào)整。
將精益應(yīng)用于數(shù)據(jù)庫很難。你真的應(yīng)該關(guān)心整個系統(tǒng)。該數(shù)據(jù)庫是該系統(tǒng)的一部分。這進一步強調(diào)了將數(shù)據(jù)庫作為文化的一部分(打破孤島)和自動化的重要性,以便您可以對這些頻繁的增量版本進行改進。
測量
測量對于獲得快速反饋和持續(xù)改進非常重要,因為只有在您有基準來衡量時,您才能知道自己是否有所作為并且需要改進。開始測量的第一個領(lǐng)域是您的內(nèi)部流程,例如承諾代碼在生產(chǎn)中運行所需的時間,發(fā)布頻率,故障率以及從故障中恢復(fù)的平均時間。
您還可以包括遙測 – 用戶如何使用您的系統(tǒng),是否發(fā)現(xiàn)了新功能以及如何改進。
要測量的第二個方面是系統(tǒng)的運行狀況,要了解這一點,需要進行監(jiān)控。這樣,如果出現(xiàn)問題,您可以迅速做出反應(yīng),甚至更好,主動修復(fù)可能成為問題的內(nèi)容,這樣您就可以讓用戶滿意。
對于數(shù)據(jù)庫,測量內(nèi)部過程和遙測是作為系統(tǒng)的一部分完成的,因為您的數(shù)據(jù)庫應(yīng)該包含在您的發(fā)布過程中。監(jiān)視數(shù)據(jù)庫允許您確保它們正確執(zhí)行,并且可以將其配置為在出現(xiàn)問題之前提供有關(guān)性能問題或磁盤空間不足的警報。
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝您對丸趣 TV 的支持。