Zadig 完成 100% 開源:開啟軟體交付 3.0 時代

Zadig 完成 100% 開源:開啟軟體交付 3.0 時代

經歷過流程驅動的 1。0 時代,工具驅動的 2。0 時代的,軟體開發已經進入到數字業務驅動的 3。0 時代,成為企業生存的命脈。“要想富,先修路” 。開源雲原生軟體交付產品 Zadig,就是要把路修到企業的門口,讓軟體工程師不再做修「高速公路」的髒活累活,而是專注自己最擅長的事情:打造業務的數字化「跑車」!

自 7 月初 V1。2。0 版本釋出,Zadig 產品完成了 100% 開源,Zadig 能幫我做什麼?Zadig 是如何幫助工程師走出 “開發 5 分鐘,上線 2 小時” 的窘境?Zadig 的設計原理又是什麼、好在哪裡、適合你嗎?

今天,軟體交付需要新的思路

我的合夥人 Grant 是個 90 年代中期的老程式設計師,那個年代他們做像三國演義、西遊記這樣的 PDA 手遊, 1 個開發,1 個 QA, 1 個美工,1 個月搞定,程式碼封版後燒到 IC 卡里插入 PDA 只能自己玩。而今天手遊是上百人經年累月共同開發的結果,複雜度指數級上升。不僅僅遊戲,線上化已經在各行各業發生;試想,軟體的複雜度指數級提高了,可大多數企業還在沿用 20 年前的開發模式 ?怎麼快?

今天的軟體,已經廣泛採用微服務架構;微服務讓寫程式碼更高效,但驗證程式碼的複雜度也隨之變高,實際上,按大多數企業目前的方式,開發的一半時間都花在了寫程式碼之外的事務上。這就好像要特斯拉不僅造最好的電動車,還要連帶修路,是不是很匪夷所思?

現實開發中,把程式碼發上線就有大量類似修路的髒活累活,比如服務除錯、服務間的聯調、整合驗證、環境準備、釋出測試等;其中尤其測試環境不穩定且不夠用,大家要互相等待,軟體無法穩定、快速迭代。

驗證軟體需要新的思路,我們是這樣思考的:

新技術帶來什麼新機遇?比如,隨著容器技術成熟,K8s NS 能支援一鍵環境拉起,並行構建、自動部署釋出服務。微服務架構能給軟體交付的系統性設計帶來什麼新想法?目前大多數企業沿用的工具原先只是服務於程式碼上線流程中的某一個小環節(Jenkins 之於構建;GitLab 之於程式碼倉,等等),而微服務盛行的今天,為什麼不能從軟體產品交付的全域性過程入手,設計出更適用於基於微服務架構的、產品級的交付方式呢?

正是這些雲原生時代的新生事物,讓我們 KodeRover 研發團隊看到了軟體交付新的未來!

今天,你需要屬於雲原生時代的軟體交付框架

Zadig 是 KodeRover 團隊基於 K8s 技術自主研發的 CI/CD 產品,是面向微服務產品全域性交付的企業級雲原生解決方案。我們專注解決一個問題:如何徹底消除軟體驗證難的痛點。透過在頭條、騰訊、七牛雲、非碼等企業的多年上千次迭代,今天的 Zadig 已經成為微服務架構的最佳軟體交付方案,幫助企業一步到位擁有強大的軟體工程交付基建,讓你的軟體團隊不再疲於奔命,一舉成為企業的明星,核心,盈利中心!

Zadig 把驗證軟體的髒活累活都給幹了

今天,軟體開發最髒最累的活是準備環境驗證程式碼,也正是 Zadig 特別擅長的地方。Zadig 面向的使用者是開發、測試、運維工程師。透過使用 Zadig 提供的雲原生驗證基建,開發工程師寫完程式碼後可以做服務的自動構建、部署、Debug 自測、服務聯調等;測試工程師可以做自動化測試管理、執行、分析,提供自動化驗證工作流,把微服務的測試驗證提前;運維工程師可以給整個研發團隊提供微服務管理、服務編排和環境治理能力。

在頭條、騰訊、七牛雲、非碼等企業的長期實踐顯示,用上 Zadig 後,工程師開始在開發中引入自動化能力,在不延長工作日的情況下,有效開發時間成倍增長、軟體產品的 Bug 率顯著下降、穩定性提升、迭代加速明顯,大家也更開心了。

在今天的數字時代,數字業務快速增長、創新盈利沒那麼難:工程師開心,軟體迭代效率高、質量好,這就是秘籍了。

Zadig 設計思路:以開發者為中心,用新技術、新視角

工具的設計,出發點很重要。Zadig 設計之初,我們從大家在做微服務交付時的痛點出發,讓工程師全面聚焦業務軟體的創新迭代,不再在上線操作的髒活累活上花廢時間,比如服務部署、找環境,服務編排這些 Infra 的事情。Zadig 用雲原生的視角整體來看軟體產品上線所需的過程,藉助雲原生的能力,拉起環境,捋清產品構成中微服務起停順序、依賴關係,實現高效驗證及上線。Zadig 設計是更適用於基於微服務架構的 End-To-End 產品級交付方式。

相比之下

Jenkins, GitLab 等相關工具起源於解決開發過程中某一環節的效率問題,基於這些工具做交付,主要是在 Jenkins / Gitlab 產品上做擴充套件,工程師實際上仍要在 infra 相關的事情上花大量時間。雲廠商們大多數從流程和管理工具上入手,做大一統平臺,提供全家桶服務,對企業來講,流程改造負擔會比較重,同時也存在一定的廠商鎖定風險。開源社群當下也有很多優秀的面向單點的通用工具或者框架,比如雲原生領域的 Tekton/Argo、OAM/kubvela,不過這些主要還是面向從運維和基礎設施視角出發的,靈活性強,但需要大量的二次開發,學習成本還是比較高的。

今天,Zadig 是唯一無需工程師們做 Infra 相關的髒活累活,面向微服務產品全域性交付的企業級雲原生解決方案。

Zadig 的幾大特色

Zadig 是以產品為交付單元:產品是由很多微服務組成,微服務的程式碼和配置可以來自不同的程式碼倉和專案,Zadig 能夠基於 Kubernetes NS 一鍵複製環境,處理服務啟停順序,服務共享、微服務依賴處理等,其他方案完全無法解決這些痛點。Zadig 對於工程師更輕鬆友好:直接面向一線開發者,沒有額外使用學習負擔,無需理解 CI/CD 概念,其中環境一鍵拉起和微服務聯調、自動驗證是亮點。Zadig 面向生態友好,廣泛整合優秀工具:我們相信開放的力量,社群有大量的優秀工具正被開發者使用,Zadig 不企圖解決所有問題,只做最擅長的交付部分,廣泛對接生態夥伴,比如需求工具 Jira、構建工具像 Jenkins/GitLab CI、部署工具 Helm、一些壓測服務 tekin、安全工具等。Zadig 希望做好軟體交付的連線者,幫助業務快速迭代的同時,服務好開發者。還有一點很重要:Zadig 經過標杆客戶像位元組、七牛、非碼、騰訊等快速發展優秀企業的成功驗證,是一款企業級的、可行性被驗證的成熟方案。

Zadig 是怎麼工作的呢?業務架構圖如下

Zadig 完成 100% 開源:開啟軟體交付 3.0 時代

使用 Zadig 的遷移成本高嗎?

要把 Zadig 用起來,十分簡單:幾乎是免遷移無縫對接,Zadig 原生支援現在主流的工具 Jenkins/GitHub/GitLab 和眾多雲廠商,且我們系統本身不定義任何正規化,實現真正的雲原生不繫結,換句話來說,使用者覺得不好用隨時可以離開,工程師用起來其實是無感的,不用關注系統的存在,在 IDE/程式碼倉級別就能自動構建、部署、驗證。當然企業現有環境複雜多樣,我們也非常樂意走進企業做技術交流來豐富我們的理解。

Zadig:軟體交付 3。0 時代的迭代利器

通觀整個軟體交付歷史,我們的觀察和總結,把軟體交付分為三個時代:

1。0 流程驅動時代:像 IBM 早期 IPD 流程推的工具,國外像 ca,electric cloud;以流程串工具和人,大部分以平臺形式存在。2。0 工具驅動時代:基於單點工具提升交付能力,比如過去幾年交付領域 Artifacts 管理廠商 Jfrog、CI 工具 Jenkins、面向運維側的 Tekton/Argo 等,交付鏈條中某個環節的效率為主。3。0 數字業務驅動時代:伴隨 2017 年以來容器技術蓬勃發展和微服務架構的廣泛應用,如今的企業,數字化業務佔比越來越高,軟體交付也進入了以交付數字業務、重視開發者體驗為驅動力的 3。0 時代。新的工具只有被開發者原生地接受並熱愛,軟體交付才能真正地變快變穩,推動以數字形態為主的產品交付。

彎道超車邁入軟體交付 3。0 時代:Zadig 邀請您開源共建

Zadig 的出現並非偶然。當年,我們調研了大量開源工具,發現國內外都沒有成熟的方案來解決我們急迫的迭代問題;Zadig 初具雛形後,又經過在典型的標杆企業例如七牛、位元組飛書、非碼多年的成功驗證,才讓我們今天能推到開源社群給大家使用。到目前為止 Zadig 已經完成了 100% 開源。放眼全球,軟體交付正在經歷方法和工具的全面升級換代,而我們觀察到中國的網際網路企業具備全球最複雜的業務場景和迭代速度,今天,我們邀請您,中國企業的開發者,管理者,積極參與到軟體交付 3。0 開源共建,共同打造出自中國,領先世界的雲原生交付產品。

KodeRover