在剛剛結束的 2020 騰訊雲 Techo Park 大會 DevOps 分論壇「開發乘雲起,扶搖九萬里」上,CODING CEO 張海龍發布了由 CODING 團隊自主研發的全新產品 Nocalhost。Nocalhost 是雲原生開發環境,使用 Nocalhost 能夠對 Kubernetes 環境下的微服務應用進行快速開發,有效縮短開發循環反饋,讓雲原生開發回歸原始而又簡單。
開發者飽受本地開發困擾
軟件的編碼及本地驗證一直是開發不可或缺的一部分。在雲原生時代,普遍采取微服務架構和 Kubernetes 環境支撐大規模的應用開發,但也引入了本地開發難以調試、與生產不一致、開發測試環境混亂的問題。
顛覆性的雲端開發模式
而在 Nocalhost 顛覆性的雲端開發方式下,一切都發生了改變。用戶無需在本地電腦配置開發、調試、測試環境,可以直接使用遠端的雲原生開發環境進行開發。在 Nocalhost 的幫助下,本地無需再運行 Kubernetes 環境,不用運行待開發的微服務及其所有依賴的微服務,也無需運行 docker build 構建鏡像並重新部署工作負載。
舉個簡單的例子,假設開發者 A 需要本地開發一個容器化應用並修改和驗證功能,那么他需要做的事情包括:
- 本地搭建和啟動 k8s 環境,把所有的微服務組件運行起來;
- 在本地把應用跑起來,這會消耗大量的內存資源,越大型的應用意味着本地配置要求更高;
- 想要修改和驗證代碼變更,需要在滿足前兩個條件的同時,完成重新 build 鏡像、更新工作負載、等待新鏡像拉取和容器重啟步驟。
在傳統模式下,哪怕只是修改一行代碼,也需要執行這些繁瑣的步驟才能獲得驗證結果。而在 Nocalhost 的開發模式下,本地 IDE 和雲端開發環境相互連接,管理員將為開發者分配環境及開發資源。完整的微服務運行在雲端的開發環境中,開發者本地僅需修改需要開發的微服務代碼,修改代碼保存之后,即可在雲端開發環境中進行驗證,整個驗證過程由 5 分鍾縮短至 5 秒,實現本地開發的代碼實時生效和調試,大大提高了開發者驗證的效率。
事實上,Nocalhost 不僅在自測反饋循環方面有卓越的體驗,同樣也極大地減少了本地環境配置和維護成本,增強了環境橫向擴容和環境管控能力,達成開發和生產環境的高度一致性。
開源與社區共建
一直以來,CODING 都持續關注開發者生態建設,希望能夠和開發者們共同協作和成長。目前,Nocalhost已經將全部源碼,文檔開源至 GitHub;保持廠商中立,遵守 Apache 協議,所有開發者、合作伙伴皆可共建生態,為雲原生開發貢獻一份力量。
總結
隨着越來越多的應用從單體逐漸向微服務演變,涉及到的組件和開發人員變多,雖然適用於開發者進行分工協作,但開發環境搭建和調試變得愈發困難。張海龍在分享中表示:“ Nocalhost 的願景,是讓開發復雜應用也像開發單體應用一樣簡單”。Nocalhost,即 No Localhost,能夠聚焦於微服務架構中的某一個服務進行開發,並實現快速的開發反饋循環。在未來,CODING 和 Nocalhost 將繼續不斷完善自身,提供更強大全面的雲原生開發加速器,幫助更多企業業務騰雲而上,扶搖萬里。