來源:計算機世界
在上一篇文章《軟體開發者:有更多選擇是好事還是壞事?》中,我們瞭解到新技術會帶來更多的複雜性,那麼我們應該如何幫助開發者更有效的實現目標?
日益增長的複雜性導致許多企業採用中央平臺模式,其中內部平臺團隊的任務是審查工程師最需要的工具、構建模板並繪製黃金路徑,以簡化他們的生產過程。同時還集中財務、運營、安全性和治理等功能,以減輕個體開發者的認知負擔。
以音樂流媒體巨頭Spotify為例。Spotify產品經理Gary Niemen在2020年的一篇博文中寫道:“回溯到差不多六年以前,Spotify一直致力於用自主團隊打造敏捷工程文化。但這在帶來優勢的同時,也帶來了複雜性,包括一個分散的開發者工具生態系統,當你在系統裡遇到問題時,唯一的方法就是詢問你的同事。”
隨著Spotify的擴充套件,它發現推動其快速增長的方法實際上已經開始拖累它。它需要整合和簡化。“好用或值得推薦的工具應該很容易被找到,使用該工具的過程應該很清楚,其中還應該有高質量的使用者說明。而且,使用者應該很明確地知道:如果自己遇到困難,能夠從哪裡獲得支援。”Niemen寫道。
Humanitec的von Grünberg在2021年的博文中寫道,一個好的內部開發者平臺的關鍵是,在不讓開發者感到受限制的前提下,為想要繼續手頭工作的開發者提供自助服務和篩出沒有價值的任務之間找到平衡。
“擁有了最佳路徑並不意味著限制或扼殺工程師,也不是為了實現路徑而設定標準。而是當團隊有了最佳路徑,就不必重新發明輪子,只需做少量的決策,並且可以利用他們的生產力和創造力來實現更高的目標。他們可以快速恢復行動。”Spotify產品經理Niemen寫道。
但問題是,“開發者喜歡重新發明輪子。沒有什麼比創造出更好的快捷鍵更讓他們滿意了。”顧問Simpson說。但是現在很多技術問題都能直接在Stack Overflow上找到解答了,這真的是開發者利用時間的最佳方法嗎?
微軟開發部門的產品CVP Amanda Silver表示:“總會有一些企業試圖壓制開發者的權力,而另一些企業則試圖賦予開發者權力,其核心理念是開發者的效率。我們可以構建一個系統,讓開發者去編寫只有他們才能編寫的程式碼,而不會分心,或因學習他們不適合的領域而有負擔。”
成立於1987年的旅遊科技公司Amadeus經歷了這些技術變革的浪潮,他們最開始在大型主機上構建應用程式,之後在2000年代初轉向了開放式的Linux平臺,現在又更傾向於使用 Kubernetes編排的容器化應用程式。
Amadeus基礎設施和雲主管Edouard Hubin表示:“我們的開發者需要能夠在我們提供的核心上進行開發,因此我們的想法是為他們提供一個功能性平臺。新技術為安全性和穩定性帶來了更多的複雜性。當你開啟一個系統時,你肯定希望它是穩定的。資料驅動應用程式的興起對我們來說有著完全不同的複雜程度。它帶來了一種編寫應用程式和構建反饋迴圈的新方法。這些都是新事物,都會帶來相應的複雜性。”
因此,Hubin希望透過內部團隊設計解決方案或在有意義的地方進行付費託管服務,來儘可能地隱藏複雜性。以資料庫為例,Amadeus過去自己管理MongoDB例項,但現在選擇使用供應商管理的MongoDB Atlas服務。該公司對管理Kubernetes 也抱有相同的想法。
但是工程師仍會將新工具引入生態系統。Hubin說:“有時必須拒絕這種情況。最近,有工程師試圖引入新的資料庫。他們的觀點是,就算標準選項不是那麼好,公司從整體上仍然能更好地控制我們使用的資料庫數量。”
每個大型企業都有大量工程師,其中一些工程師專注於構建彈性系統和向客戶快速交付的功能,而另一些則拼命想要補齊最新技術。Two Sigma的Fournier說,這兩種工程師都有價值,但需要謹慎管理。
Fournier表示:“你需要那些熱衷於瞭解新事物和發現新事物的人,因為你需要人們來管理在裸機上的Kubernetes。同時你也需要那些熱衷於研究新事物的人,他們會了解這些新事物的工作原理,並知道如何使用它們會對公司更好。他們會是你製作原型時的好夥伴,並幫助你確定是否值得投資和解鎖新事物。”
預告
也許在解決複雜性問題上,把一部分工作外包出去會更好,而你的供應商真的可以解決這些問題嗎?請持續關注《計算機世界》的乾貨分享!
本文來自【計算機世界】,僅代表作者觀點。全國黨媒資訊公共平臺提供資訊釋出傳播服務。
ID:jrtt