天天看點

實踐 DevOps 時,可能面臨的六大挑戰

DevOps 是将人員和部門聚集在一起,專注于建立一個統一的系統,将開發和營運的任務和目标結合起來。随着越來越多公司采用 DevOps 流程,實踐過程中遇到的各種問題也逐漸浮出水面。是以,任何一家要實踐 DevOps 的公司,都應該關注這六個領域,以此來減少各種不利因素對軟體開發和部署周期的影響。

1. 沒有正确的文化理念

DevOps 文化是關于開發人員和營運人員之間的共同了解,以及對他們建構的軟體的共同責任。是以, DevOps 要發揮作用,擁有正确的文化是關鍵。這意味着,可以提高開發、IT / 營運和 “業務” 之間的透明度、溝通和協作效率。

DevOps Institute 公司的 CEO Jayne Groll 曾表示,雖然部署和優化基礎設施會減慢開發和營運速度,但團隊如果沒有正确的文化理念,可能會導緻項目崩潰。

持續傳遞服務提供商 CloudBees 的 DevOps 傳播者 Brian Dawson 也認為,一家擁有正确文化的公司,可以克服任何基礎設施和技能問題。

2. 重技術忽視軟技能

成功的 DevOps 工程師不僅是出色的問題解決者,還是出色的溝通者和上司者。随着 DevOps 逐漸由人工智能統治,軟技能将變得更加關鍵。是以,很多公司在招聘 DevOps 人才時,會優先考慮軟技能 —— 例如協作能力、解決問題能力和人際交往能力。

對公司而言,員工是否擁有協作、學習和解決任何問題的意願是很重要的,但是除此之外,同時還應該具備自動化技能,比如基礎設施知識、對流程的軟體開發、源代碼控制和分析。當然,要找到完全符合要求的人才并不容易。是以,如果要在一個擁有強大的文化和人際關系能力的人,和一個擁有某項專業技術的人之間做出選擇,選擇前者帶來的效益往往會更高。

3. 自動化工具過多成為累贅

DevOps 的關鍵是自動化。由于 DevOps 跨越 Dev、Ops、IT、安全和産品團隊,以及軟體開發的不同階段,是以有大量工具可供選擇。比如,版本控制 & 協作開發工具 GitHub、GitLab、BitBucket ,自動化建構和測試工具 Apache Ant、Maven 、Selenium,持續內建 & 傳遞工具 Jenkins、Capistrano、BuildBot,以及部署工具、維護工具、監控,警告 & 分析工具等等,琳琅滿目不下百種。

但這對于亟須進行數字化轉型的傳統企業來說,并非是件好事。過多工具本身導緻了新的管理問題,如确認工具版本是否符合項目要求,甚至出現了管理這些工具的工具。是以,在尋求自動化,選擇自動化工具或平台時,更應該從多個方面衡量該平台是否适合,是否能真正地實作降本增效。

4. 變更決策進展緩慢

DevOps Institute 的 Groll 表示,軟體變更的流程和基礎設施也已成為影響公司效率的主要因素。“我們談論的是持續部署和持續傳遞,但大多數組織都希望提前兩周釋出變更公告。是以,我們所說的、我們想要的與現實之間存在脫節。”

通常,公司将更新分為三類:标準變更、正常變更和緊急修複。正常變更是進行軟體更新的典型過程,而标準變更是無需預先準許或至少可以加急進行的更改。然而,Atlassian 的 Buchanan 表示,借助 DevOps 中的自動化,應該能夠更快地進行更多變更。

“标準是新常态。随着所有這些自動化的進行,可以進行标準變更 —— 預先準許、易于了解、低風險、明确規定 —— 因為我們知道這些流程是如何工作的。”

—— Ian Buchanan

5. 方向錯誤

對于大多數踐行 DevOps 的公司來說,從低水準的自動化,擴充到難度更高的基礎設施項目時,往往會迷失方向。比如,有的公司會建立一個專門的功能團隊來支援 DevOps 的實施,然而這會帶來更多的潛在風險。事實上,公司要做的不是擴張職能團隊,而是應該選擇允許他們快速擴充業務的基礎設施。

大型國有企業中國石油,為了開發一個大型電商平台,聘請了外部團隊進行開發,同時選擇了一個開源電商軟體進行二次開發。但商城上線之後,問題頻出。之後,中國石油選擇使用 SoFlu 軟體機器人對商城進行系統重構,SoFlu 是一款通過人機協同,自動完成軟體後端開發、前端開發、測試、運維,幫助開發者實作 “一人一項目,十人抵百人” 的軟體機器人。在 5 個 SoFlu 軟體機器人的協助下,中石油資訊化團隊僅投入 9 位研發人員在 45 天内就完成了商城的系統重構。而且,測試過程表明,平台的穩定性過關,且該電商平台可以根據企業的需求,獨立部署到任何平台。所有資料企業均可自行存儲,同時平台本身的安全規範,保證了資料的安全性。

可以看到,選擇一個優質的基礎設施平台來提高自動化水準,要比開設專門的職能部門更加有效。

6、技術債務正在累積

繼續閱讀