劇透警告:這篇文章包含了電視節目“好地方”的主要劇透。


在電視劇《好地方》中,四個人死後被告知他們到了天堂——好地方。但是他們的時間被一係列不斷升級的煩惱所標記,最終使他們中的一個意識到他們實際上不是在天堂,而是在一個生活的地獄-壞的地方。

在過去的幾年裏,我有很多關於雲、微服務的好處的對話,把所有的事情都轉移到開發中,並給開發人員運營的鑰匙,這些都讓我們作為一個行業認為,我們正在進入一個更好的地方,為最終用戶提供更快的應用程序交付,更好的價值和體驗,而開發人員、QA、安全、IT和業務之間的豎井被打破。

但是為了進入這個技術天堂,開發人員被要求做一些他們沒有接受過測試、安全和治理培訓的事情。組織在開發人員成功所需的培訓方麵投資緩慢。這顯然會給這些組織帶來風險。

因為今天的大部分應用程序開發依賴於通過api訪問的開源包和功能,開發人員使用了很多不是他們寫的代碼,並且必須相信這些開源包會在發現漏洞時更新。

與此同時,傳統的IT操作已經被邊緣化,所以他們在發布應用程序之前所采取的預防措施——確保部署不會破壞任何東西,或引入漏洞,或應用程序將運行良好,並提供良好的用戶體驗——都是在事後處理的。

而且,由於一些風險評估確定應用程序中的漏洞不需要修複,因為雖然它是一個漏洞,但它沒有通往任何關鍵數據的路徑,堆積如山的技術債務正在不可阻擋地增長,當軟件包的更改使該漏洞成為通往公司珠寶的路徑時,會導致潛在的破壞性數據泄露。

在這個新的開發世界中,團隊被賦予自主權來決定他們的下一個項目是什麼,以及他們需要多長時間才能完成,管理所有這些變得越來越困難。這並沒有打破藩籬,反而創造了更多藩籬。

組織的每個部分都在彼此的業務中,使用不同的語言和術語,服務於不同的目的,同時為他們的優先級而戰,而不是試圖實現相同的目標。

不管你喜不喜歡,這些豎井仍然存在。Tricentis客戶工程總監斯科特•摩爾(Scott Moore)告訴我:“如果豎井在某種程度上不起作用,它們就不會存在。”

綜上所述,我認為DevOps的確是一個糟糕的地方。

但是,就像電視劇中的角色最終學會了團隊合作,最終到達了“好地方”,我非常有信心,我們的行業也會找到自己的路。

但在我們努力解決問題的過程中,痛苦將繼續存在。

首先,企業需要在培訓方麵進行認真的投資。這是一個新的世界,你不能把任務轉移給那些從來沒有處理過安全、管道測試、容器和Kubernetes以及編寫基礎設施代碼等問題的開發人員。

正如我們在眾多調查中看到的那樣,開發人員感到沮喪的部分原因是缺乏來自高管層的支持。開發人員不相信他們的公司在培訓方麵投入了足夠的資源,當出現問題時,他們就會陷入困境。

投資培訓是最重要的。

Tricentis的Moore表示,與他交流過DevOps的公司會問誰做得好,以及他們是如何做的。當他問他們DevOps的進展如何時,他們要麼說他們已經控製住了,要麼“他們說我們還在旅途中,這意味著他們真的不知道。”

他認為,sre被視為“發現問題、解決問題的大師”,而實際上,他們是在高價作戰室提供技術支持的高薪工程師。他建議設立軟件生命周期工程師的頭銜,以處理測試、安全和性能等專業。他說,這些工程師“在寫代碼之前就知道如何提高性能。安全問題也是如此。”

此外,組織需要采用漸進式交付,以進一步保護自己不向用戶交付有缺陷甚至危險的軟件。使用特性標誌並發布給一小部分用戶,這些用戶最不可能因為糟糕的交付而放棄你——並且在任何級別的失敗時能夠快速回滾它——也可以保護你和你的客戶。

最後,減輕未經訓練的開發人員的負擔並將他們交給生命周期專家可能不能解決每個人的DevOps問題,但這會讓他們更接近理想的地方。