DevOps實施過程中要避免的10個陷阱
實施DevOps要避免的10個陷阱
現(xiàn)在,通過與業(yè)務(wù)合作來提高開發(fā)人員的速度。為了更快的跟上步伐,領(lǐng)先的技術(shù)專業(yè)人員正在構(gòu)建具有精確性并接受持續(xù)集成,持續(xù)交付和DevOps標(biāo)準(zhǔn)的軟件。
在DevOps文化 當(dāng)中,一個重要的價值 就是接受失敗,這是實現(xiàn)價值之旅的一部分。對于軟件,以持續(xù)交付的形式出現(xiàn) ,使我們定期發(fā)布代碼。快速的步伐使出現(xiàn)失敗的可能變大,但同時也確保了當(dāng)失敗時,可以從錯誤中學(xué)到并迅速適應(yīng)的能力。這就是業(yè)務(wù)發(fā)展的方式:會獲得更多見識,并由它們引導(dǎo)走向成功。
由于那些已經(jīng)在實施或采用DevOps的人犯了錯誤,因此可以利用他們的經(jīng)驗來學(xué)習(xí)并避免重復(fù)同樣的錯誤。本著DevOps和開放源代碼的精神,以下是企業(yè)在DevOps實施中如何解決它們遇到的一些最常見的錯誤。
1.OUT-OF-ORDER DELIVERY 無序的交付
有時,開發(fā)人員會同時執(zhí)行持續(xù)集成(CI)和持續(xù)交付(CD),以加快自動化測試和反饋的周期。CI/CD作為一種實踐,在軟件交付速度方面有很多好處。這樣做也是有風(fēng)險的,錯誤的代碼配置可能會交付給生產(chǎn)環(huán)境,而沒有對其影響進(jìn)行充分的探索,從而使前方的自動化測試喪失價值。
我認(rèn)為,在代碼貫穿整個軟件交付周期之前,手動確認(rèn)仍然至關(guān)重要。必須有一個預(yù)生產(chǎn)階段(生產(chǎn)之前的部署和測試環(huán)境),該階段允許開發(fā)人員糾正將代碼直接推送到生產(chǎn)中時用戶可能會遇到的錯誤。
在代碼到達(dá)最終用戶之前進(jìn)行監(jiān)控非常重要。例如,CD管道使測試環(huán)境與開發(fā)環(huán)境同時進(jìn)行將確保不會自動部署更改。盡管DevOps標(biāo)準(zhǔn)聲明團隊必須擴展到孤島之外,但部署應(yīng)始終由熟悉管道從頭到尾代碼的人員進(jìn)行驗證。這要求在代碼到達(dá)客戶之前進(jìn)行徹底檢查。
2.對DEVOPS標(biāo)題的誤解
一些組織對DevOps的概念感到困惑。即使DevOps意味著跨開發(fā)人員和運維人員進(jìn)行協(xié)作,他們認(rèn)為DevOps工程師的目標(biāo)是解決與DevOps相關(guān)的所有問題。
DevOps整合開發(fā)和運營角色的方式可能是艱難的職業(yè)發(fā)展。開發(fā)人員需要對他們的應(yīng)用程序如何運行了解更多的,以使應(yīng)用保持運行狀態(tài),并在出現(xiàn)故障時尋求支持。
實際上,DevOps可幫助公司加速IT運營中耗時的任務(wù)。例如,自動化測試為開發(fā)人員提供了更快的反饋,而自動化集成則將開發(fā)人員的更改更快地整合到了代碼庫中。還可能要求DevOps自動化有關(guān)收集,擴展和運行應(yīng)用程序的過程。
組織的基本需求決定了您的DevOps專業(yè)人員的技能水平是否需要在運營或開發(fā)方面更強,并且此信息必須與您選擇或雇用DevOps團隊的方式保持一致。例如,當(dāng)自動化是關(guān)鍵時(而不是需要有關(guān)容器化的專業(yè)知識),優(yōu)先考慮過去的軟件開發(fā)和腳本技能非常重要。雇用您獨特的DevOps體驗需求,讓人們學(xué)習(xí)工作中的其他技能。如果您聘請了愿意學(xué)習(xí)的人,則將為您的組織建立最好的團隊。
3. DEVOPS程序缺乏靈活性
盡管DevOps原則提供了基礎(chǔ),但每個組織都必須準(zhǔn)備好預(yù)期結(jié)果準(zhǔn)備。公司需要確保,DevOps在實施過程中保持穩(wěn)定,但它們會進(jìn)行內(nèi)部修改,這對于衡量其預(yù)期結(jié)果至關(guān)重要。
掌握DevOps的基礎(chǔ)知識,尤其是 CALMS **(文化,自動化,精益,測量和共享)**支柱,為技術(shù)進(jìn)步奠定基礎(chǔ)非常重要。但是,沒有一種適合所有情況的DevOps實現(xiàn)。通過認(rèn)識到這一點,DevOps團隊可以制定計劃以解決該倡議的關(guān)鍵原因,并根據(jù)過去的失敗結(jié)果來制定。團隊?wèi)?yīng)準(zhǔn)備好修改計劃,同時遵守基本DevOps原則的建議。
4.選擇速度勝于質(zhì)量
許多公司專注于產(chǎn)品交付而沒有對產(chǎn)品質(zhì)量給予足夠的重視。如果工作的關(guān)鍵績效指標(biāo)(KPI)僅在生產(chǎn)時間上居中,則質(zhì)量很容易在流程中下降。可以監(jiān)視性能的端點留給將來的版本使用,并且由于尚未快速投入生產(chǎn),因此非生產(chǎn)就緒的軟件被視為了成功。
在快速發(fā)展的市場中,團隊無法承受客戶或內(nèi)部需求所規(guī)定的時間要求來提供最佳產(chǎn)品質(zhì)量。許多公司急于在較短的時間內(nèi)完成并完成盡可能多的DevOps項目,以保持其在競爭激烈的市場中的地位。這聽起來似乎是個好主意,但是期望DevOps快速發(fā)展可能會帶來更多的痛苦而不是收獲。
實現(xiàn)速度和質(zhì)量改進(jìn)是DevOps的基本價值。這并非易事,需要運維人員和開發(fā)人員以新的和改進(jìn)的方式編寫測試。如果做得好,質(zhì)量和速度會同時提高。
5.建立一支專門的DEVOPS團隊
從理論上講,組建一支專門的團隊專注于培訓(xùn)最新的IT專業(yè)人員是有意義的。完成DevOps實施的過程必須輕松無阻,對嗎?但是很快出現(xiàn)了兩個問題:
現(xiàn)有的質(zhì)量保證(QA),運營和開發(fā)團隊成員被忽視了,可能會妨礙新團隊的努力。
這個新團隊成為了另一個孤島,提供了新技術(shù),但并沒有在DevOps實施中推進(jìn)公司的目標(biāo)。
最好由QA,ops和dev的新團隊成員和現(xiàn)有員工組成,他們很高興加入DevOps計劃。后者擁有大量的知識,這些知識在您實施如此龐大的計劃時非常有價值。
6.自動化數(shù)據(jù)庫
數(shù)據(jù)庫是構(gòu)建DevOps時被忽略的最重要的技術(shù)領(lǐng)域之一。新的臨時應(yīng)用程序可以以前所未有的速度通過了DevOps管道。但是,對數(shù)據(jù)量大的應(yīng)用程序的部署卻不那么容易。
無需集中精力有效地使它們自動化,單獨環(huán)境中的數(shù)據(jù)快照可能會并且會逐漸趨向于不準(zhǔn)確。專家們強調(diào)不斷的集成和代碼處理,但未能自動化數(shù)據(jù)庫。數(shù)據(jù)庫管理應(yīng)正確完成,尤其是對于以數(shù)據(jù)為中心的應(yīng)用程序。數(shù)據(jù)庫在此類應(yīng)用程序中起著重要作用,可能需要單獨的專業(yè)知識才能與其他應(yīng)用程序一起自動化。
7.事件處理程序不足
萬一出了問題(肯定會),DevOps團隊?wèi)?yīng)該制定事件處理程序。事件處理應(yīng)該是一個連續(xù)的,活躍的過程,清楚地概述了這一過程,以確保一致性并避免錯誤。這意味著為了記錄事件處理過程,您必須捕獲并描述事件響應(yīng)要求。對運行手冊文檔有很多研究 ,這對于學(xué)習(xí)成功至關(guān)重要。
8.對DEVOPS的了解不足
盡管近年來DevOps的接受度迅速增長,但是應(yīng)用專家可能在沒有精確的質(zhì)量控制程序的情況下工作。團隊有時無法在DevOps中取得成功所需的所有技術(shù),文化和流程更改。
采用DevOps做法是明智之舉,但是成功需要足夠的經(jīng)驗和準(zhǔn)備。在某些情況下,獲得合適的專業(yè)知識以滿足您的需求意味著您需要聘請外部專家。這些訓(xùn)練有素的專家應(yīng)擁有所需技術(shù)的認(rèn)證,并且公司應(yīng)避免做出快速的DevOps決策,而不能很好地處理結(jié)果。
9.忽視安全
安全性和DevOps應(yīng)該并排移動。許多組織都拒絕安全準(zhǔn)則,因為這很困難,并且DevOps之旅可能很艱難。這導(dǎo)致了一些問題,例如,最初使開發(fā)人員的輸出最大化,后來意識到他們忽略了保護(hù)這些應(yīng)用程序的安全。認(rèn)真對待安全性,并研究 DevSecOps以了解對您的組織是否有意義。
10.實施DEVOPS時會感到疲勞
如果您成立了一個DevOps團隊,目標(biāo)是從每月一次產(chǎn)品部署到每周進(jìn)行10次推送,那么它很可能會失敗。獲得在演示過程中看起來不錯的任意指標(biāo)的途徑不會激勵團隊。DevOps不是簡單的技術(shù)運動;這是一次巨大的文化升級。
企業(yè)規(guī)模越大,堅持DevOps實踐可能花費的時間就越長。您應(yīng)該以階段性和可衡量的方式應(yīng)用DevOps方法,并將實際結(jié)果作為值得慶祝的里程碑。在開始第一輪應(yīng)用程序部署之前,培訓(xùn)您的員工并安排充足的休息時間。第一個DevOps管道的實現(xiàn)速度可能很慢。這就是現(xiàn)實生活中不斷改進(jìn)的樣子。
公司正在迅速向DevOps邁進(jìn),以跟上競爭步伐,但在實現(xiàn)過程中會犯常見錯誤。為避免這些陷阱,請精確規(guī)劃并應(yīng)用正確的策略,以取得更成功的DevOps結(jié)果。