云原生集成開發(fā)環(huán)境——TitanIDE
通過網(wǎng)頁在任何地方更安全、更高效地編碼2023-03-22
803
原文作者:kaiyun開云創(chuàng)新資深架構師 劉巖
背景故事
一個剛入職的開發(fā)同學,從IT部門領取了新筆記本等設備,這位新同學第一件事需要做什么呢?安裝所需的基礎軟件,開發(fā)軟件,環(huán)境配置等等。由于其他同事都很忙,公司入職指南又不詳細,這位新同學每一步都很痛苦。例如,環(huán)境配置這一塊,不知道是哪里出了問題,環(huán)境始終搭建不起來,一遍遍的出錯,礙于面子,也不好意思向同事尋求幫助,自己一股腦搜這搜那,始終沒有找到解決方法。
當同事問進度如何時,只能紅著臉說環(huán)境還沒搭建好……
雙方尷尬的對視了兩秒……
同事:“早說呀,我給你推薦一個好的平臺——云IDE,可以直接線上完成你的工作任務!”
為什么要使用云IDE?
從剛才的故事中也可以窺見一般,比如:
1、開發(fā)環(huán)境配置問題:本地代碼開發(fā)環(huán)境配置多而復雜,云環(huán)境能夠通過容器等技術解決。
2、性能問題:本地的開發(fā)機器一般需要運行很多軟件,如一些辦公和通訊軟件啥的,讓本來就不高的性能捉襟見肘。
3、穩(wěn)定性問題:本地的開發(fā)機器啟動時間長了就需要重啟,每次重啟后需要花費很多時間去重新設置相關的配置,浪費了大量時間。
4、依賴問題:如果開發(fā)環(huán)境依賴一些特定的云基礎設施,網(wǎng)絡通信就會很麻煩。而在云主機上,天然與其他云基礎設施在一個網(wǎng)絡環(huán)境中,環(huán)境設置簡單。
5、網(wǎng)絡問題:現(xiàn)代軟件開發(fā)都是站在巨人的肩膀上,很多軟件都依賴大量的庫、框架和運行時,這些依賴下載需要快的網(wǎng)絡速度。一般云主機的網(wǎng)絡性能要好于家庭或辦公網(wǎng)絡。
6、安全問題:代碼或者密鑰放在本地開發(fā)環(huán)境有泄漏的風險,比如開發(fā)人員的開發(fā)機器被盜后丟失了代碼或者密鑰。
7、存儲問題:本地開發(fā)機器的磁盤存儲有限,擴展性也不好。而云主機的磁盤很容易擴容。
而解決這些問題的辦法就是,把研發(fā)環(huán)境搬到云端,而在云端開發(fā)最重要的就是需要一個好的IDE支持,這也導致了企業(yè)研發(fā)對云IDE 強烈的需求。
云端IDE
隨著云計算技術的發(fā)展,遠程開發(fā)的理念也應運而生,一個新的云IDE的概念也隨之興起。與本地IDE不同,云IDE 指的是無需本地環(huán)境,通過瀏覽器訪問即可實現(xiàn)云端開發(fā)環(huán)境獲取、代碼編寫、編譯調試、運行預覽、訪問代碼倉庫、命令行執(zhí)行等能力的云端工具,將傳統(tǒng)IDE的工具組合進一步升級成高效的工作流形式,并進一步提升了跨職能協(xié)同的開發(fā)效率,讓團隊協(xié)作開發(fā)成為一種新的開發(fā)形式。同時通過線上的云服務,讓產品更加容易觸達用戶,幫助產品實現(xiàn)快速迭代。
TitanIDE 介紹
kaiyun開云創(chuàng)新獨家研發(fā)基于云原生環(huán)境的云IDE,打開瀏覽器,隨時隨地均可編程。也就是Web IDE或是Cloud IDE。TitanIDE以私有云方式部署于您企業(yè)的數(shù)據(jù)中心或是云,以瀏覽器作為客戶端,以集約化共享云計算資源為底層依托,在云端運行的云原生集成開發(fā)環(huán)境,包括各種不同風格IDE內核實現(xiàn)編碼和調試、開發(fā)空間和項目管理、應用端口映射、多租戶、代碼安全和審計、權限管理等功能。
TitanIDE的能力
· 一個優(yōu)秀的云IDE當然要覆蓋本地IDE的能力。TitanIDE必不可少的支持以下能力:
· 優(yōu)秀的文本編輯功能,支持自定義布局;
· 代碼提示功能,如語法高亮,代碼跳轉,錯誤提示等;
· 調試功能;
· 多編程語言支持;
· 代碼補全功能;
· 代碼重構功能;
· 擴展能力,支持用戶自定義或提供插件;
· 好的生態(tài);
· ……
TitanIDE除了這些基本能力外,還針對開發(fā)的需求,擴展了如下高級能力:
1、多核心支持,使用體驗佳
無論是IDEA、Eclipse 還是VS Code,在TitanIDE上您可以繼續(xù)使用它們并且體驗更佳。
2、超海量模板,研發(fā)效率高
開發(fā)不僅依賴于npm, jar包,還有業(yè)務所需的中間件、數(shù)據(jù)庫、API接口。新成員加入后都需重復準備開發(fā)環(huán)境,TitianIDE開發(fā)環(huán)境模板把開發(fā)從作文題變成填空題。
3、微服務時代,聯(lián)調更便利
大量微服務同時開發(fā)已是常態(tài),無需考慮環(huán)境問題,TitianIDE在“云里”直接聯(lián)調。企業(yè)已上云,而開發(fā)環(huán)境還停留在本地,本地開發(fā)于云端環(huán)境不互通,協(xié)同開發(fā)、鏈條難。
4、多開發(fā)空間,團隊協(xié)作順
本地開發(fā),代碼文檔分散無法及時入庫,在一個項目里單打獨斗。TitianIDE在"云里"為項目組創(chuàng)建共同的開發(fā)空間,代碼、文檔、數(shù)據(jù)一切皆在云上,隨時共享、協(xié)同。
5、天然云原生,資源消耗低
以容器為代表的云原生技術早已席卷全球。相比于本地開發(fā)或是基于虛擬桌面VDI的開發(fā)模式,TitanIDE通過容器技術共享算力,消耗資源更低,直接開發(fā)出容器原生的應用。
6、代碼不落地,安全有保障
在本地開發(fā),無論是筆記本丟失、黑客入侵,亦或是開發(fā)人員無意地操作,都可能導致代碼泄露造成不可彌補的損失。TitanIDE代碼在"云里"不落地,并有多手段保護資產。
TitanIDE 案例
某大型汽車制造業(yè)客戶開發(fā)涉及各角色如何使用TitanIDE。
1、架構師
在云端IDE內置的架構圖設計器上進行功能模塊劃分以及向相關開發(fā)測試人員的任務分派,此后項目組內各不同角色人員可以在云端IDE同一項目開發(fā)空間的各自工作區(qū)內開展即相對獨立、又互相協(xié)同的開發(fā)工作。
2、前端開發(fā)人員
免去安裝配置本地開發(fā)環(huán)境之煩惱,打開云端IDE的網(wǎng)頁即可進入開發(fā)狀態(tài)。代碼天然存在服務器上,不落地,即規(guī)避了傳統(tǒng)方式代碼泄露的風險,又解決了開發(fā)人員不及時提交代碼入庫的老問題。
3、后端開發(fā)人員
繼續(xù)在云端IDE中自己熟悉的IDEA, Eclipse等風格工作空間中編碼,與本地體驗完全一致。充分利用服務器端無限算力編譯和調試更加快速,直接使用服務器GPU等資源讓AI等場景開發(fā)游刃有余。
4、數(shù)據(jù)庫開發(fā)人員
云端IDE集成多種數(shù)據(jù)庫開發(fā)工具,在網(wǎng)頁中直接設計數(shù)據(jù)庫表結構以及做數(shù)據(jù)處理。避免了傳統(tǒng)方式下不斷申請辦公室到數(shù)據(jù)庫的防火墻策略,降低了敏感數(shù)據(jù)泄露的風險同時也大大縮小了數(shù)據(jù)中心的網(wǎng)絡攻擊面。
5、測試人員
通過云端IDE所集成的Postman等各類測試工具,直接與同一開發(fā)空間的前端、后端、數(shù)據(jù)庫連通測試接口和功能頁面。測試用例存儲于服務器,便于與不同測試人員、開發(fā)人員相互協(xié)同。