劇透警告:本文包含電視劇《好地方》的主要劇透。


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

在過去的幾年裏,關於雲計算、微服務的好處,將剩下的一切都轉移到開發中,並將運營的鑰匙交給開發者,我進行了許多對話,這些對話讓我們整個行業認為,我們正在進入一個更好的地方,即更快的應用程序交付,為終端用戶提供更好的價值和體驗,而開發者、QA、安全、IT和業務之間的藩域正在被打破。

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

因為今天的大部分應用程序開發都依賴於開源軟件包和通過api訪問的特性,開發人員正在使用許多不是他們編寫的代碼,並且必須相信這些開源軟件包會隨著漏洞的發現而更新。

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

而且,一些風險評估認為,應用程序中的漏洞不需要修複,因為雖然它是一個開放的缺口,但它沒有通往任何關鍵數據的路徑,技術債務的大山正在無情地增長,導致潛在的破壞性數據泄露,當軟件包的更改使該漏洞成為通往公司財富的路徑時。

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

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

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

考慮到所有這些,我想說的是,DevOps確實是一個糟糕的地方。

但是,就像電視劇中的角色最終學會了團隊合作,最終到達《好地方》一樣,我非常有信心我們的產業也會找到它的道路。

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

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

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

投資培訓是最重要的。

Tricentis的Moore表示,與他交流過DevOps的公司會問誰做得好,他們是如何做的。當他問他們DevOps進展如何時,他們要麼說一切都在掌控之中,要麼“他們說我們還在旅途中,這意味著他們真的毫無頭緒。”

他表示,SREs被視為“找出問題、解決問題的萬能高手”,而實際上,他們是在高價作戰室提供技術支持的高薪工程師。他建議創建一個軟件生命周期工程師的頭銜來處理諸如測試、安全和性能等專業。他說,這些工程師“在寫一行代碼之前就知道如何提高性能。相同的安全。”

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

在一天結束的時候,卸下未經訓練的開發人員的負擔,把他們交給生命周期專家,可能不能解決每個人的DevOps問題,但它會讓他們更接近“好地方”。