云原生集成開發環境——TitanIDE
通過網頁在任何地方更安全、更高效地編碼2023-04-12
809
原文作者:leyu.樂魚創新技術總監 鄧冰寒
引言
CloudIDE ,一種基于云計算技術開發的云原生集成開發環境,可以幫助企業提高研發效能,實現數字化轉型的目標。本文將探討 CloudIDE 如何在數字化時代體現業務價值、提升研發效能。
CloudIDE 是一種基于云計算的集成開發環境,它可以幫助開發人員在云端進行代碼編寫、調試、測試和部署等工作。CloudIDE 可以在任何設備上運行,無論是 Windows、Linux、Mac 還是移動設備,只需瀏覽器和網絡連接就可以開箱即用。CloudIDE 可以支持多人協同開發,多個開發人員可以同時在同一個項目中進行開發工作,實時協作,提高開發效率;CloudIDE 可以與企業云平臺集成,實現研發效能平臺全局管控;CloudIDE 聯調便利,開發人員可以直接在云端調試代碼,無需走多余的 CI/CD 流程,提高調試效率。總之,CloudIDE 可以提供一個高效、便捷、安全的開發環境,幫助開發人員提高研發效能,加快產品上線速度。
問題
企業如何提升研發效能呢?首先,從IDE 的歷史發展視角來看,通過增強工具特性來提升開發效率和減少錯誤;從個人的視角來看,強調功勞而不是苦勞,強調更聰明的工作,強調個人的成長;從組織的視角來看,就是更高效、更高質量、更可靠、可持續地交付更優質業務價值。下面, 我們就來看看業界為了提升研發效能都做了哪些轉型變革。
分析
從發展的視角看研發效能
“工欲善其事, 必先利其器“。我們的行業先輩們為了提升研發效能, 將軟件研發人員高頻使用的功能集成在一個叫 IDE 的軟件工具里, IDE 的歷史沿革可以概括為以下幾個階段:
1.早期階段
在早期階段,軟件開發人員使用的是簡單的文本編輯器編寫代碼,然后使用獨立的編譯器和調試器來生成可執行文件并進行調試。這種方式雖然簡單,但是效率很低,容易出錯。
2.DOS 時代
在 DOS 時代,IDE 逐漸發展出一些基本特性,如語法高亮。軟件開發人員開始使用集成開發環境(IDE)來開發應用程序。這些 IDE 工具提供了一些方便的功能,如代碼編輯、編譯、調試、仿真等。開發人員可以在 IDE 中編寫代碼,然后通過編譯器將代碼轉換成機器語言,最后通過仿真器將機器語言下載到目標設備中進行測試和調試。
3.Windows 時代
隨著 Windows 操作系統的普及,IDE 工具也開始向圖形化界面發展。開發人員可以使用一些圖形化界面的 IDE 工具來開發應用程序,如Visual Studio、Keil C51、MicroChip MPLAB Code 等。這些 IDE 工具提供了更加方便和高效的開發環境,可以幫助開發人員快速開發和調試應用程序。此時已經開始發展出自動補全、代碼重構等特性,這些特性能大大提高開發效率和減少錯誤。
4.互聯網時代
隨著互聯網的普及,各種軟件應用如雨后春筍般涌現,IDE 工具也在不斷更新迭代,如 Visual Studio、Eclipse、VS Code 和 IntelliJ IDEA 等成為主流的開發工具,為開發人員提供了豐富的功能和便捷的開發環境。隨著時間的推移,IDE 還發展出了更加強的特性,如版本控制、代碼庫集成等。在互聯網時代,價值共創成了這個時代的標志,IDE 的特性不僅僅由 IDE 軟件開發廠商提供,而是通過插件市場,由第三方開發者提供更豐富的功能,形成一個社區生態體系。用戶通過插件市場自由組裝出個性化的 IDE 以提升不同場景下的研發效能。
5.云原生時代
在云原生時代,軟件系統越來越復雜,業務系統已經以微服務的形式部署在云端,僅僅靠一個本地 IDE 已經無法支撐軟件系統開發所需,主要面臨以下幾個問題:
開發和生產環境不一致:本地開發環境和云端部署的生產環境往往存在差異,例如操作系統、數據庫版本、網絡環境等。這可能導致在本地開發時無法發現一些潛在的問題,而在部署到云端時出現意外的錯誤。
開發環境配置繁瑣:在本地開發時,需要手動模擬云端環境,包括部署容器、配置網絡、安裝依賴等。如果服務需要依賴中間件如 MySQL、Redis、RabbitMQ,還需要連接這些中間件的客戶端管理工具如 DBeaver;也許您需要測試接口測試工具 Postman;也許您需要數據建模工具 PDManer。這些操作可能比較繁瑣,容易出錯,而且需要占用本地的資源,影響開發效率。
難以協作:在本地開發時,開發人員不方便共享資源、配置文件等問題。
難以測試:在本地開發時,很難模擬云端的負載和網絡環境,無法進行真實的性能測試和壓力測試。
因此,僅靠一個本地的 IDE 已經不能滿足開發者的日常開發所需,這時候 CloudIDE 就派上用場了。我們所定義的 CloudIDE 不僅僅是把您所熟悉的 IDE 如 VS Code、Intellij IDEA 搬到云端,而是通過模板市場在云端建設一個完整的開發生態。您需要的工具在云端模板市場都能夠方便獲取,您也可以在 CloudIDE 快速的定制自己的模版并發布到模版市場原,從而構建云原生時代的價值共創生態體系。
從個人的視角看研發效能
從個人的視角來看研發效能,確實應該強調功勞而不是苦勞。在研發過程中,重要的是完成任務,而不是花費多少時間和精力。因此,應該注重工作的質量和效率,而不是工作的數量和時間。使用 CloudIDE 開發,無需安裝和配置開發環境,可以快速啟動和使用。這樣可以節省開發人員的時間和精力,提高開發效率。
此外,強調更聰明的工作也是非常重要的。在研發過程中,應該注重思考和創新,尋找更加高效和智能的解決方案。這樣可以提高工作效率,減少重復勞動,提高工作質量。CloudIDE 可以提供實時預覽和云端調試功能,可以在開發過程中實時查看和調試代碼效果,提高開發效率和質量。
最后,強調個人的成長也是非常重要的。在研發過程中,應該注重學習和提升自己的技能和能力。CloudIDE 不僅僅是一個或多個工具集合,同時還可以讓自己聚焦更有價值的業務邏輯,使自己更專注,提高自己的競爭力,為未來的發展打下堅實的基礎。
總之,從個人的視角來看研發效能,應該強調功勞而不是苦勞,強調更聰明的工作,強調個人的成長。這樣可以提高工作效率和質量,同時也可以提高個人的競爭力和發展潛力。
從組織的視角看研發效能
根據上述研發效能的定義, CloudIDE 在整個研發過程價值流動過程中扮演了什么角色呢?這就需要先了解當前數字化轉型大背景, 數字化轉型是指企業利用數字技術和數據來改變業務模式、流程和組織結構,以提高效率、降低成本、增強競爭力。數字化轉型的核心是價值流動,即價值從供應鏈的一端流向另一端的過程。價值流動可以分為三個層次:內部流動、外部流動和全局流動。
內部流動是指企業內部各個部門之間的價值流動,如研發、生產、銷售等。外部流動是指企業與供應商、客戶、合作伙伴之間的價值流動,如采購、銷售、物流等。全局流動是指企業與整個產業鏈、生態系統之間的價值流動,如共享經濟、開放創新等。
數字化轉型的目標是實現價值流動的優化和協同,以提高效率、降低成本、增強競爭力。在這個過程中,研發管理起著至關重要的作用。CloudIDE 作為一種基于云計算的集成開發環境,可以幫助企業提高研發效能,從而實現端到端的數字化轉型的目標。
坦白講,作為數字化轉型的實踐者,軟件開發人員自己的數字化手段還比較匱乏,甚至是生產力工具還比較落后。作者在研發領域工作了近三十年,最初使用桌面版本 IDE 為嵌入式產品開發固件到早幾年仍然使用桌面版 IDE 為云平臺開發微服務,從上述 IDE 的歷史發展了解到,在大部分的時間里,IDE 所做的還是功能的堆積,總體上的變化并不大,直到近幾年作者有幸帶團隊研發了 TitanIDE, 才有機會在 CloudIDE 上面實現通過云原生開發環境開發云原生應用。終于實現了云原生的理念:生于云、用于云。
方案
在 CloudIDE 上開發云原生應用具有不限設備、開箱即用、協同開發、效能度量等優勢。
不限設備
CloudIDE 可以在任何設備上運行,無論是 Windows、Linux、Mac 還是移動設備,只要有網絡連接就可以使用。這樣可以讓開發人員隨時隨地進行開發工作,不受設備限制。跨平臺支持可以提高研發效能的主要原因是:
· 提高開發人員的靈活性和自由度,讓他們可以在任何時間、任何地點進行開發工作,避免了時間和空間上的限制。
· 提高開發人員的工作效率,讓他們可以更快地響應客戶需求和市場變化,加快產品上線速度。
· 降低企業的 IT 成本,避免了購買和維護多個開發環境的成本,提高了 IT 資源的利用率。
開箱即用
CloudIDE 可以將有經驗的開發人員的智慧沉淀并固化成為一個開箱即用的開發環境模板,以便其他開發人員可以直接使用。這個功能被稱為“模板化開發環境”。模板化開發環境可以幫助企業快速搭建標準化的開發環境,提高開發效率和質量。模板化開發環境可以包含以下內容:
· 編程語言和框架模板化。模板化開發環境可以包含一個或多個編程語言和框架,以便開發人員可以直接使用。例如,一個 Java 開發環境模板可以包含 Java 編程語言和 Spring 框架。
· 開發工具和插件模板化。模板化開發環境可以包含一些常用的工具和插件,以便開發人員可以直接使用。例如,一個 DBeaver 數據庫管理客戶端可以做成一個模板。
· 配置文件和腳本模板化。模板化開發環境可以包含一些配置文件和腳本,以便開發人員可以快速配置開發環境。例如,一個 Java 開發環境模板可以包含一個 Maven 配置文件和一個 Tomcat 啟動腳本。
· 最佳實踐和規范模板化。模板化開發環境可以包含一些最佳實踐和規范,以便開發人員可以遵循。例如,一個 Spring Cloud 開發環境模板可以包含一些代碼規范和設計模式。
總之,模板化開發環境可以幫助企業快速搭建標準化的開發環境,提高開發效率和質量。模板化開發環境可以將有經驗的開發人員的智慧沉淀并固化,以便其他開發人員可以直接重復利用。
協同開發
協同開發是現代軟件開發中非常重要的一環,可以提供開發效率和質量,CloudIDE 支持多人協同開發,多個開發人員可以同時在同一個項目中進行開發工作,實時協作,提高開發效率。例如,開發人員可以將自己在 CloudIDE 的工作區分享給團隊成員,實現在云端即時實現代碼協同調試和代碼審查等事務。
效能度量
彼得·德魯克說過:“如果你無法度量它,就無法管理它”。研發效能度量是研發管理的重要組成部分,它可以幫助企業了解研發效能的狀況,發現問題和優化機會,提高研發效能。本地 IDE 是一個黑盒子,在本地 IDE 上的研發活動無法度量。在 CloudIDE 上則能實時、全面地進行數據收集和指標度量,如下面幾點:
· 代碼質量。代碼質量是研發效能度量的重要指標之一,它可以幫助企業了解代碼的可讀性、可維護性、可測試性和可擴展性等情況,發現問題和優化機會。代碼質量的主要指標包括代碼復雜度、代碼重復率、代碼規范等。比如通過代碼審查的成功率可以衡量代碼的質量。
· 代碼管理。在本地 IDE 開發代碼,只有當開發人員把代碼提交到代碼倉庫才有可能獲度量代碼的信息,而在 CloudIDE 上,可以實時獲取用戶未提交代碼的情況、代碼構建頻率、代碼構建時長等指標。
· 團隊協作。團隊協作是研發效能度量的重要指標之一,它可以幫助企業了解團隊的協作能力、溝通效率和決策效率等情況,發現問題和優化機會。團隊協作的主要指標包括團隊合作度、溝通效率、決策效率等。
總之,相對本地 IDE 來說, CloudIDE 對項目管理來說是完全透明的,讓管理人員隨時洞察開發人員的進度和代碼質量,從而更加精確的把控項目進度,按時高質量的交付業務價值。
結論
數字化轉型是企業發展的必然趨勢,數字化研發管理是數字化轉型過程中不可缺失的一環。CloudIDE 作為一種基于云計算的集成開發環境,可以幫助企業提高研發效能,實現數字化轉型的目標。當然,任何方案都有優劣勢,并沒有所謂的銀彈,正如不可能一種藥能包治百病一樣,企業應該根據自身規模和業務需要,采取適合自己的措施提升研發效能。總的來說,CloudIDE 已經受到越來越多的關注并在云原生開發場景下落地,未來這個趨勢還將延續下去。
最后,附上 CloudIDE(云端 IDE) 在百度的關鍵字搜索趨勢圖。