來源:計算機世界
在前兩期文章《軟體開發者:有更多選擇是好事還是壞事?》和《如何阻止開發者重複發明輪子?》中,我們瞭解到現代科技的高速發展正在為開發者帶來更多的複雜性,為了幫助他們解決複雜性,企業試圖透過團隊設計或使用託管服務來為開發者“減負”,這真的有幫助嗎?讓我們一起來看看今天的乾貨分享!
谷歌雲的首席開發倡導者Kelsey Hightower與雲軟體行業的許多同行一樣,將開發者當前可用的眾多選擇級別視為“禮物和詛咒”。
“禮物”是指開發者擁有幾乎無限的技術目錄的可用性來構建,而“詛咒”是指開發者在他們的工作流程中還要面對基礎設施的問題。目前,隨著許多供應商專注於託管服務和抽象化,事情似乎有了截然不同的變化。在一切都碎片化後,我們是否應該進行大整合?
Hightower說:“這個職業不僅僅是編寫程式碼,這只是達到目的的手段,也許我們已經構建了足夠多的東西,可以暫停構建新事物,而去讓我們已有的技術更成熟,並好好地使用他們。也許這就是我們在過去十年中看到的 DevOps 和協作發展的圓滿結果。”
為了應對這種複雜性,市場正在透過不斷增長的武斷性服務、託管選項、框架、資源庫和平臺列表,幫助開發者應對複雜的環境。
O'Grady在2020年的一篇博文中寫道:“當然,沒有供應商能夠提供所有必要的部件,未來也不可能。即使是擁有最多樣化的應用程式組合和前所未有的上新節奏的AWS,也無法滿足每個開發者的需求,亦無法涵蓋所有相關的開發者社群。”
話雖如此,O'Grady在另一篇文章中寫道:“有充分的證據表明,我們不再為難買家和開發者,不再讓他們承擔挑選原語和從頭開始構建的任務。如果雲的第一個時代是由原語定義的,那麼它的時代即將結束。下一個時代可能由自計算行業成立以來就有的、我們建立在原語上的抽象思維來定義。”
雖然事實證明,將這些原語組裝到連貫的內部平臺中對於許多工程主導的企業來說是一種成功的解決方法,但更傳統的企業還是還會找供應商來幫助他們減輕這種複雜性。
Kubernetes聯合創始人、現VMware研發副總裁Craig McLuckie在接受採訪時表示:“複雜性不是問題,問題是開發環境的反覆無常。”他認為自己的角色是尋找方法“使開發者的生活更輕鬆,以應對由工具鏈的碎片化和高度可擴充套件系統導致的日益複雜的環境。”
MongoDB的推廣者Matt Asay最近表示,“如今關於雲的現狀是看誰能最好地整合多樣的雲服務。雲會變得更加精彩,確切地說,會變得單一乏味。”
需要機械同感
如果我們處於極簡化的邊緣,我們是否會失去作為軟體開發者的本質?
正如傳奇的英國賽車手Jackie Stewart所說:“要成為一名合格的賽車手,你不必成為一名工程師,但你必須要有機械同感。”簡單來說,要真正做到出色,你必須瞭解你正在操作的機器。
雖然不能奢望現代軟體開發者能完全對他們構建的複雜、可擴充套件的分散式系統產生機械同感,但他們可以在理解的過程中儘可能多地掌握要素。
“開發者也是系統人員。我們願意去了解,從裸機到我們正在構建的架構中,系統是如何工作的。但與此同時,也有很多領域是你沒必要去深入探究的。”微軟的Silver說。
許多開發者和其團隊的任務是確定哪些是他們專業知識中最有價值的地方,以及哪些在做多餘的工作中被浪費了。顧問Simpson說:“我們最大的希望是讓公司認識到這個問題,並努力讓開發者擺脫對機械工作的擔憂,使他們回到他們最擅長的軟體構建上來。”
軟體開發者從來沒有面對過比今天更多的複雜性和可選項,而且也從來沒有這麼多的選擇去抽象化,這取決於你和你的企業在追求目標時可以承受多少複雜性了。
本文來自【計算機世界】,僅代表作者觀點。全國黨媒資訊公共平臺提供資訊釋出傳播服務。
ID:jrtt