3
發(fā)布日期:2024-09-10 08:11 瀏覽次數(shù):
最近 CNCF 在 2023 年云原生預(yù)測中談到 “云原生 IDE 成為常態(tài)”,讓 Cloud IDE 又成為了云原生的焦點,市場上對 CloudIDE 的態(tài)度以及發(fā)展趨勢討論也是眾口不一。不僅如此,去年 11 月初 GitPod、GitHub 等公司的大動作讓人感覺好像開發(fā)模式馬上就迎來了 “大變革”。編譯器是所有開發(fā)者必不可少的工具,很多人也認(rèn)為開發(fā)模式終會像應(yīng)用程序一樣遷移至云端,但是在實際推進過程中卻遇到了很多困難。與 CNCF 的觀點一致,知名軟件行業(yè)分析公司 RedMonk 首席分析師和創(chuàng)始人 James Governor 最近也發(fā)表了關(guān)于 “云開發(fā)環(huán)境之年” 的精彩文章,下面就讓我們一起從分析師的角度來閱讀思考,為何行業(yè)權(quán)威敢于說我們即將迎來 “云端開發(fā)環(huán)境之年”。
2023 是云開發(fā)環(huán)境(Cloud IDE)之年。也許這看起來就像科技界中流傳最久的笑話 “這是桌面 Linux 的一年” 一樣,或者,我們終于迎來了云優(yōu)先的開發(fā)者體驗(DX)時代。
2022 年 11 月,GitPod 在 A 輪融資中獲得了 2500 萬美元,用以發(fā)展云端開發(fā)環(huán)境。GitHub 聯(lián)合創(chuàng)始人 Tom Preston-Werner 以其對開發(fā)的經(jīng)驗領(lǐng)銜本輪投資。本輪投資還有 Shopify 創(chuàng)始人兼首席執(zhí)行官 Tobi Lütke 、 Datadog 創(chuàng)始人兼首席執(zhí)行官 Olivier Pomel 及敏捷宣言的簽署人 Kent Beck。GitPod 致力于讓軟件開發(fā)變得更簡單,減少開發(fā)人員的工作量。這與編譯器無關(guān),而與環(huán)境有關(guān),此后一周,GitHub 宣布 CodeSpaces 將面向所有的 GitHub 用戶開發(fā),每周免費試用 60 小時。GitHub 最新數(shù)據(jù)擁有 9400 萬用戶,這對云開發(fā)環(huán)境來說是一個巨大的潛在增長。
云端開發(fā)環(huán)境不是僅僅是在線編譯器,而是一個平臺。AWS 早在 2016 年 7 月就收購了 Cloud9,鑒于其規(guī)模及影響度,大部分人都看好 AWS 會將在線編輯器作為成為一款成功的產(chǎn)品。但是開發(fā)人員更喜歡他們的 MacBooks,喜歡高規(guī)格的本地性能。云端編譯器帶來的延遲,以及工具鏈和編譯環(huán)境的變化對于開發(fā)人員來說都是大問題。因此,至今為止開發(fā)人員仍保持在本地開發(fā)。
但與基本的在線編輯器不同,云端開發(fā)環(huán)境創(chuàng)造了一個端到端的開發(fā)環(huán)境,利用云技術(shù)的優(yōu)勢,更好地與代碼庫、構(gòu)建工具、數(shù)據(jù)庫、Kubernetes 工具和運行時間等集成,對開發(fā)人員的工作流程進行打包和交付,以提供更好的可重復(fù)的、安全的、自動化的、不可改變的開發(fā)環(huán)境。而且行業(yè)領(lǐng)導(dǎo)者現(xiàn)在一直在談?wù)?Testing in Production,這也意味著 Developing in Production,試想如果云端開發(fā)環(huán)境提供了更優(yōu)質(zhì)的環(huán)境,以及更合理的流程讓每個人都可以獲得即時的體驗,那會怎么樣。“云” 豐富的優(yōu)勢,以及在 “云” 中做所有這些事情的能力,使開發(fā)者的日常工作更容易。只要連上云開發(fā)環(huán)境平臺,開發(fā)者甚至可以不暇思索的運行容器,把遠(yuǎn)程 API 作為 DX 的一等公民來對待。
Vercel 和 Netlify 已經(jīng)展示了利用熟悉開發(fā)工作流開發(fā)相應(yīng)產(chǎn)品帶來的市場熱度。那么,為什么不把這種方法應(yīng)用于優(yōu)化開發(fā)工具本身呢?究其原因還是本地性能與 “云” 的差異對開發(fā)者帶來的影響。
很多開發(fā)者認(rèn)為 Macbook 性能非常強大,可以完美的完成本地開發(fā)工作。但是,如果我們考慮云內(nèi)存和計算能力,考慮到容器的優(yōu)勢以及不可變架構(gòu),那么我們會發(fā)現(xiàn)云的真正力量,因為沒有一臺本地計算機可以擁有像公共云那樣豐富的存儲和計算。那么 API 呢?這是一個無法避免的問題 —— 您將如何測試調(diào)用遠(yuǎn)程 API?為什么不將所有這些功能作為打包好的云服務(wù)提供給開發(fā)者呢?開發(fā)者體驗(DX)的本質(zhì)是消除無意義的繁忙工作,面向任務(wù)的端到端開發(fā)環(huán)境,隨時可按需使用。
我對云端開發(fā)環(huán)境感興趣的原因之一是漸進式交付(Progressive Delivery),云計算能力讓 A/B 測試、blue-green deployments 和 feature flags 等技術(shù)變得更加容易,因為我們可以復(fù)制任何環(huán)境。我們早已過了 “不得不在硬件和軟件上花費 1000 萬美元,以便在開發(fā)過程中,使用高性能的開發(fā)、測試、QA 和登臺環(huán)境” 的時代。
如果您可以擁有一個服務(wù)實例,為什么不擁有五個呢?如果你能運行一個容器,為什么不運行 10000 個?因此,漸進式交付在與 CDE 具有同樣豐富資源的情況下,提供給我們一次重新思考開發(fā)人員工作方式的機會。
性能的另一個方面當(dāng)然是網(wǎng)絡(luò),這是使用 CDE 的想法中經(jīng)常遇到的障礙之一。但隨著 5G 的發(fā)展,網(wǎng)絡(luò)顯然不是大問題。
我與 Gitpod 的 CEO Johannes Landgraf 討論了他對市場的看法。他認(rèn)為 “當(dāng)開發(fā)者真正感受到便利時,他們將開始改變自己的行為。就像 Figma 當(dāng)時統(tǒng)治市場一樣?!?我完全同意他的觀點。便利是促使人們改變習(xí)慣的有效方法。我們在很多領(lǐng)域都看到了這一點,我們總是會選擇最簡單的。即使它稍微貴一點,只要方便,我們就會使用它,喜歡它。但在 DX 中,我們?nèi)匀粵]有發(fā)生這種變化。蘭德格拉夫說:該行業(yè)還沒有迎來 “菲格瑪” 時刻。開發(fā)人員將所有工作都遷移到云上,這是多么奇怪的事情。
GitHub 在 Codespces 產(chǎn)品已經(jīng)取得了進展,現(xiàn)在很多用戶為 Codespaces 支付大量費用。微軟有一個微軟經(jīng)典版版本,它實際上是在云上提供一個叫 Dev Box(開發(fā)盒子)的開發(fā)機器,它將吸引那些容易引導(dǎo)員工上手及對公司有安全保障的 Windows 和應(yīng)用商店。如果我們將 Dev Box 與最近發(fā)布的 Azure Automations 集成,我們可以從 DX 的角度開始做一些強大的事情。
CDE 致力于徹底改變開發(fā)模式,真正利用云服務(wù)和路由,而不是簡單地考慮如何構(gòu)建基于瀏覽器的 IDE。一些云服務(wù)將由本地 IDE(如 JetBrains 或 VS Code)訪問。這是一場對新的開發(fā)模式擁抱和延伸的比賽。協(xié)作應(yīng)該容易得多。每次我們做一些工作時,它都應(yīng)該有一個 URL,Netlify 和 Vercel 模型應(yīng)該適用于后端開發(fā)和前端開發(fā)。無論是哪個產(chǎn)品為開發(fā)者或管理者解決了這些問題,都有可能打開市場成為熱銷產(chǎn)品。
Landgraf 解釋說,整合多產(chǎn)品是 CDE 的關(guān)鍵點之一。例如,當(dāng)開發(fā)人員訪問 GitPod 控制臺時,他們應(yīng)該已經(jīng)通過 PlanetScale 或 MongoDB 進行了身份驗證。
CDE 是場 “包裝” 的較量。正如我經(jīng)常說的那樣,任何科技浪潮中最好的包裝商都會贏得勝利,并贏得巨大的勝利。我認(rèn)為我們目前正在研究的是如何包裝開發(fā)人員的工作,并試圖使其變得非常非常簡單。
我最近和一位老朋友進行了一次交談,我們打賭是否真的迎來了云端開發(fā)環(huán)境的時代。我敢確信,大約 25% 的企業(yè)軟件開發(fā)將在 7 年內(nèi)使用 CDE??赡懿糠肿x者認(rèn)為這個時間過于激進了,但是4166am金沙信心之選一旦產(chǎn)品發(fā)展起來,市場拓展的速度會非???。
我認(rèn)為,我們將看到大量的開發(fā)人員工作轉(zhuǎn)移到云環(huán)境中,因為無論本地開發(fā)環(huán)境有多好,都要考慮云服務(wù)帶來的高效的開發(fā)、集成和自動化等優(yōu)質(zhì)的開發(fā)者體驗和工作流程。云端開發(fā)環(huán)境解決了開發(fā)者體驗差距,這就是我認(rèn)為它們不可避免的原因,它會從根本上改變了科技行業(yè)。
我們認(rèn)為在數(shù)字化轉(zhuǎn)型的大背景下,本來就應(yīng)該將各個信息孤島打通,IDE 作為開發(fā)者的日常使用工具,從未像現(xiàn)在一樣受到大家的關(guān)注,CloudIDE 將開發(fā)者熟悉的 IDE 搬到云端,并且打通所有的工具鏈?zhǔn)俏磥淼拇筅厔荨?/p>
CloudIDE 是個非常重要的入口,正如當(dāng)前被制造業(yè)推崇的 JIT(Just in time, 實時生產(chǎn)系統(tǒng)),整條供應(yīng)鏈高效協(xié)同一樣,高效研發(fā)的所有工具鏈也會隨著 CloudIDE 搬到云端以對開發(fā)者提供最佳的使用體驗:需求分析、軟件設(shè)計、代碼編寫、軟件構(gòu)建、軟件測試、軟件發(fā)布、軟件部署、軟件運維等各個研發(fā)階段所用到的工具鏈組成一站式的開發(fā)平臺,這種協(xié)同開發(fā)體驗在一臺再高性能的筆記本都不可能實現(xiàn)的,因此 CloudIDE 才是數(shù)字化時代的未來。