王亞偉,華為云DevCloud研發(fā)技術(shù)總監(jiān)。他將一杯咖啡,推到老同學面前。“一杯咖啡吸收宇宙能量”是華為的企業(yè)文化,王亞偉深得此精髓。“開發(fā)者并不在乎從松江到張江,但他們時刻想著什么時候‘內(nèi)環(huán)’通車。”或許,這只是大咖之間才能聽懂的對話。畢業(yè)之后,老同學一直在研究ARM架構(gòu),他所說的 “內(nèi)環(huán)”與交通無關(guān),但與距離有關(guān)。而這正是王亞偉此行的目的,華為云CloudIDE的研發(fā)此時已經(jīng)啟動。
沒有任何差別,甚至…
華為開發(fā)者大會2020(Cloud)期間,王亞偉面向全球開發(fā)者介紹了CloudIDE。作為華為云DevCloud開發(fā)平臺的核心組件之一,CloudIDE一改此前桌面IDE臃腫笨重的形象,也一改此前磨蹭拖沓的形象。當然,還有“交通”問題,CloudIDE打通了編程的開發(fā)態(tài)和運行態(tài),即開篇所說的“內(nèi)環(huán)”通車,x86平臺和鯤鵬平臺之間將不再有“異地戀”的相思之苦。
“鯤鵬920非常強大,完全感受不到與x86系統(tǒng)的任何差別,甚至在某些場景中表現(xiàn)得更好。”在王亞偉的印象中,ARM多年來一直蜷縮在智能移動終端、物聯(lián)網(wǎng)終端,或者樹莓派(RPi)等單片機電腦中,業(yè)內(nèi)并沒有將其應(yīng)用于服務(wù)器的先例。
此時,王亞偉和他的團隊正在進行CloudIDE的原型研發(fā),并第一次將CloudIDE內(nèi)核部署在基于鯤鵬920的服務(wù)器中。當然,這也使王亞偉真正了解到鯤鵬920的實力。
事實上,CloudIDE背后有一些很復雜的語言服務(wù),針對于Java、Python和C++等語言服務(wù),語言服務(wù)需要對全量代碼進行解析,更需要很強大的算力來支持。而這一次部署也徹底打消了王亞偉此前對ARM的疑慮,用王亞偉的話來描述:“但僅僅一個小時,團隊就擦掉了所有問號。”
身為華為云DevCloud研發(fā)技術(shù)總監(jiān),王亞偉此前曾就職于英特爾、微軟等公司。他回憶華為云DevCloud研發(fā)團隊第一次將CloudIDE原型系統(tǒng)部署在基于鯤鵬920處理器的服務(wù)器上時是一年前,不經(jīng)意間,王亞偉又透露了兩個信息,而將這兩個信息捏合在一起,即可還原當時的研發(fā)進度,CloudIDE系統(tǒng)幾乎與鯤鵬處理器同時起步。或者說,鯤鵬處理器幾乎與鯤鵬開發(fā)者生態(tài)同時起步,從一開始,鯤鵬就是一個極為龐大、極具顛覆性的構(gòu)想。
不可拒絕的IDE之輕
確實,華為云CloudIDE就是為了鯤鵬生態(tài)而生。但在此之前,可先回顧開發(fā)者工具的演進歷史。通常認為,IDE(集成開發(fā)環(huán)境)的前身是代碼編輯器。可如此比喻,就如“關(guān)老爺”手中的“青龍偃月刀”,代碼編輯器就是程序員安身立命的武器。
而此后出現(xiàn)的桌面IDE,雖并未取代代碼編輯器,但提供了更強大的代碼理解和代碼調(diào)試能力。2015年,微軟推出Visual Studio Code,這可稱一款劃時代的產(chǎn)品,其幾乎兼容了代碼編輯器和桌面IDE的能力。
當然,此時的IDE并也沒有擺脫臃腫笨重的形象。桌面IDE的前臺與后臺緊耦合,對電腦配置有極高的要求。稍加留意,如果您發(fā)現(xiàn)身邊有人在使用七八公斤的17寸筆記本,他不是專業(yè)游戲玩家,就多半是資深軟件開發(fā)工程師。
言歸正傳。重量級的華為云CloudIDE卻是一款“輕量級WebIDE”,不僅具備Visual Studio Code的能力,更可為開發(fā)者提供在線編程體驗,開發(fā)者甚至不用在本地安裝任何程序,只需打開瀏覽器即可進行編碼和調(diào)試。或者說,CloudIDE的原理類似于虛擬桌面,其將編碼環(huán)境與IDE環(huán)境進行解耦,甚至借助一臺智能手機,也能進行編碼調(diào)試,這或許才是真正的“拎包入住”或者“開袋即食”的體驗。
兩點之間 CloudIDE的距離最短
延伸此話題。“輕量級”的華為云CloudIDE,不只是輕盈,更是輕巧。鯤鵬處理器的基因是ARM架構(gòu),但此前基于x86架構(gòu)的IDE平臺,似乎對ARM并不友好。最為現(xiàn)實的情況是,ARM開發(fā)者往往不在進行腦力勞動,而更多的是在進行體力勞動:他們并不是在編程,而是一直在“代碼搬家”的路上,“碼農(nóng)”的形象用在他們身上尤為貼切。
而最讓這些“碼農(nóng)”崩潰的場景是:開發(fā)者使用基于x86架構(gòu)的代碼編輯器,之后各顯神通進行“代碼搬家”,將程序遷移至基于ARM架構(gòu)的編譯環(huán)境。運行測試過程中如發(fā)現(xiàn)BUG,需再將程序回遷至原環(huán)境進行修改。如此往復,可能每天最多要“折返跑”百次以上。
以專業(yè)語言解釋,此即是上述所說的“內(nèi)環(huán)割裂”。“編碼-編譯-調(diào)試-測試-編碼”被稱為開發(fā)“內(nèi)環(huán)”,此前ARM與x86之間,老死不相往來,一直處于“內(nèi)環(huán)割裂”狀態(tài)。按下F5快捷鍵,本可以解決的問題,卻需要反復搬家。
當然,上述情景肯定不會在CloudIDE繼續(xù)出現(xiàn),F5快捷鍵恢復了其價值,而且會被迅速磨平。華為云CloudIDE可在線創(chuàng)建編碼環(huán)境,可在瀏覽器中進行編碼和調(diào)試,其打通了任督二脈,即打通了編程開發(fā)態(tài)和運行態(tài)。
也就是說,在x86和鯤鵬之間,CloudIDE的距離最短。開發(fā)者將不再有“異地戀”的相思之苦。甚至開發(fā)者并不會感受到云端技術(shù)架構(gòu)是x86,還是鯤鵬。因為在華為云的定義中,開發(fā)者關(guān)注鯤鵬是一種狀態(tài),開發(fā)者無感于鯤鵬的存在才是一種更高的境界。
編程,其實只需一杯咖啡的時間
再繼續(xù)此話題。“輕量級WebIDE”更大的意義,還體現(xiàn)在“輕快”。其在30秒之內(nèi),即可在線創(chuàng)建開發(fā)環(huán)境,10分鐘之內(nèi),即可快速開發(fā)部署鯤鵬云原生應(yīng)用,而傳統(tǒng)桌面IDE完成上述動作,則需3小時以上。
據(jù)華為云云原生領(lǐng)域?qū)<艺f,“企業(yè)上云,云原生已是必然選擇,而且越來越多的企業(yè),正在將高并發(fā)的核心業(yè)務(wù),遷移至云原生平臺中。”
目前,CloudIDE已經(jīng)將華為云底層的諸多服務(wù)拉通。例如,只需執(zhí)行一個程序指令,即可將微服務(wù)推送至華為云鏡像服務(wù),此種優(yōu)化極大地提升了開發(fā)效率,或許一杯咖啡的時間,就可基于“鯤鵬原生”平臺,完成應(yīng)用程序編寫,而傳統(tǒng)IDE則需逐步進行手工操作。對此,華為云云原生領(lǐng)域?qū)<艺f:“開發(fā)者幾乎可以零等待地獲取鯤鵬原生能力,而對于鯤鵬的所有陌生和誤解,也將在零成本的試用體驗中消除。”
全年免費
如上即是華為云CloudIDE,輕盈、輕巧、輕快的華為云CloudIDE。傳統(tǒng)IDE擺脫臃腫笨重的形象,已經(jīng)成為歷史;x86平臺和鯤鵬平臺之間,也將不再有“異地戀”的相思之苦;甚至一杯咖啡的時間,就可基于“鯤鵬原生”平臺,完成應(yīng)用程序編寫。由此,開發(fā)者才可以專注于應(yīng)用本身的成就,專注于代碼本質(zhì)的快樂。
而最后說一句:華為開發(fā)者大會2020(Cloud)期間,華為云在介紹CloudIDE的同時,還進一步宣布:2020年,CloudIDE將對所有鯤鵬實例全年免費。