在華為開發者大會HDC.Cloud上,華為云發布了基于鯤鵬計算的開發者服務 — CloudIDE服務,為鯤鵬開發者提供了很好的云端開發體驗。
體驗過CloudIDE的小伙伴都會有這樣一個感覺,使用體驗非常接近于Visual Studio Code(VS Code),包括界面布置、插件體驗都很熟悉,甚至不需要重新學習就可以把本地的開發工作直接移植到云端。
那這樣一款云端IDE服務是怎么被打造出來的呢?
一聲令下云起航
華為持續投入云計算及相關技術和產品研發已近10年,在虛擬化、存儲、計算、云數據中心等領域不斷進步。
2017年,華為成立Cloud BU,強力投入公有云,致力于為企業提供穩定可靠、安全可信、可持續創新的云服務。
展望未來,華為云將基于自身軟硬件的技術優勢,攜手伙伴,持續為企業客戶打造全球最佳體驗的混合云,成為企業首選的云服務伙伴。
為了服務華為云開發者,2016年推出軟件開發服務 DevCloud,并逐步成為華為云軟件開發平臺。
華為云DevCloud是集華為研發實踐、前沿研發理念、先進研發工具為一體的研發平臺,面向開發者提供研發工具服務,讓軟件開發簡單高效。
華為云DevCloud產品家族全集圖
在落實云服務開發DevOps實踐過程中,我們發現開發者可以把需求、代碼、構建、測試、發布、部署、運維、運營等工作全部從本地轉移到云端,享受云服務帶來的移動性和便利性。
僅有Coding一直缺乏有效的上云方式,導致開發者手中沒有“趁手的家伙事兒”,傳統IDE和云資源之間相對低效的開發體驗,一直是橫在全云化開發面前的一個“坎兒”。
據此,我們決心打造一款云上Coding的開發工具 —— 華為云CloudIDE。
十分挑剔覓玄鐵(選定原型)
2015年 資源方案,Kubernetes避免了容器裸奔
為了給用戶提供云端穩定的開發環境,起初CloudIDE研發團隊考察了無數種資源方案,云桌面、虛擬機、沙箱、容器,但就資源易獲取和編排管理能力而言,各種方案都沒有完美的解決,但最終容器的易獲取性和資源靈活性還是打動了我們。
Kubernetes(簡稱K8s),是一個提供跨主機集群的自動部署、擴展以及運行應用容器的平臺,從支持OpenAPI起,K8s就成為了實際意義上的最主流的容器集群管理平臺。
華為云隨即上線了兼容K8s能力的CCE服務,為開發環境服務提供資源管理和適配能力,容器裸奔時代就正式結束了。
2016年 Eclipse Che牛刀小試
當時業界主流的IDE工具無非幾種,Eclipse、Visual Studio、IntelliJ,直到今天這幾款也依然是桌面開發者的首選。
基于提供多語言適配能力開發工具的初衷,以及考慮到商業許可及用戶接受度,我們選擇了基于Eclipse Che來構建第一代CloudIDE服務的方案。
這種新出現的WebIDE把本地開發工作搬到了云端,開發者可以在云端保存自己的開發環境,編寫代碼,運行和調試應用,甚至我們還可以對接云服務,提供類似代碼檢查這樣的集成化場景能力。
2017年 CloudIDE “公測”了,在磨礪中積累經驗
自從2017年CloudIDE服務開始公測,就不斷接到用戶各種吐槽:
“啟動這么慢,要3分鐘,還會失敗!”
“你們不是基于Eclipse嗎,長得一個Eclipse模樣,怎么用起來和Eclipse差距這么大呢,快捷鍵呢?”
“怎么調試和運行,連個缺省的調試能力都沒有嗎?沒有調試功能還算IDE嗎,這充其量只能算個玩具吧?”
“編碼提示呢,那么多保留字全靠我自己記,我記不住啊”
“不是有個容器嗎,容器讓不讓我訪問啊”
從用戶不斷質疑的聲音中,逐步找到了開發者對于一款云端IDE的關注點:
體驗:
開發者已經掌握了一到兩種桌面IDE的使用,再去學習新的IDE開發體驗會給日常工作帶來額外的負擔,另辟蹊徑的操作體驗未必會被開發者接受。
Visual Studio Code之所以能以輕量之身霸占熱度之首,憑借的就是兼容各種開發語言的能力。不用再學習啦,節約多少時間!
成本:
沒人不關心錢的問題,只是程度不同。如果位于云端的IDE管理服務和語言服務過于重載,要么服務商吃不住(運營成本太高),要么用戶受不了(要求配置太高)。
原有的IDE框架還是過于重載,甚至需要兩個容器才能支持一個用戶實例。成本太高啦,勸退多少用戶!
生態:
“獨行快,眾行遠”,任何平臺都需要伙伴的聚合與共贏,不能指望自己可以搞定所有的事情,但是可以提供相關的方法。